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

Reply via email to