http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57101
Bug #: 57101 Summary: [4.8/4.9 Regression] -fcompare-debug failure with <type error> Classification: Unclassified Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz Created attachment 29961 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29961 autoreduced testcase Compiler output: $ gcc -std=c++0x -fcompare-debug testcase.C gcc: error: testcase.C: -fcompare-debug failure (length) $ diff testcase.*gkd 378c378 < Declarations used by typename {anonymous}::enable_if<{anonymous}::is_lvalue_reference< <template-parameter-1-1> >::value, _Tp>::type {anonymous}::forward(typename {anonymous}::identity<_Tp>::type) [with _Tp = int; typename {anonymous}::enable_if<{anonymous}::is_lvalue_reference< <template-parameter-1-1> >::value, _Tp>::type = int; typename {anonymous}::identity<_Tp>::type = int], sorted by DECL_UID: --- > Declarations used by typename > {anonymous}::enable_if<{anonymous}::is_lvalue_reference< > <template-parameter-1-1> >::value, _Tp>::type {anonymous}::forward(typename > {anonymous}::identity<_Tp>::type) [with _Tp = int; typename > {anonymous}::enable_if<{anonymous}::is_lvalue_reference< > <template-parameter-1-1> >::value, _Tp>::type = <type error>; typename > {anonymous}::identity<_Tp>::type = int], sorted by DECL_UID: 381c381 < ;; Function typename {anonymous}::enable_if<{anonymous}::is_lvalue_reference< <template-parameter-1-1> >::value, _Tp>::type {anonymous}::forward(typename {anonymous}::identity<_Tp>::type) [with _Tp = int; typename {anonymous}::enable_if<{anonymous}::is_lvalue_reference< <template-parameter-1-1> >::value, _Tp>::type = int; typename {anonymous}::identity<_Tp>::type = int] (_ZN12_GLOBAL__N_17forwardIiEENS_9enable_ifIXsrNS_19is_lvalue_referenceIT_EE5valueES3_E4typeENS_8identityIS3_E4typeE, funcdef_no=11, cgraph_uid=7) --- > ;; Function typename {anonymous}::enable_if<{anonymous}::is_lvalue_reference< > <template-parameter-1-1> >::value, _Tp>::type {anonymous}::forward(typename > {anonymous}::identity<_Tp>::type) [with _Tp = int; typename > {anonymous}::enable_if<{anonymous}::is_lvalue_reference< > <template-parameter-1-1> >::value, _Tp>::type = <type error>; typename > {anonymous}::identity<_Tp>::type = int] > (_ZN12_GLOBAL__N_17forwardIiEENS_9enable_ifIXsrNS_19is_lvalue_referenceIT_EE5valueES3_E4typeENS_8identityIS3_E4typeE, > funcdef_no=11, cgraph_uid=7) The difference is 'type = int' vs. 'type = <type error>'. Tested revisions: r198362 - fail 4.8 r198018 - fail 4.7 r198018 - OK