http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54677



             Bug #: 54677

           Summary: [4.8 Regression] FAIL: g++.dg/cpp0x/decltype32.C (test

                    for excess errors) with -m64 after revision 191564

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: testsuite

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: domi...@lps.ens.fr

                CC: hjl.to...@gmail.com, paolo.carl...@oracle.com





After revision 191564 the tests g++.dg/cpp0x/decltype32.C fails when compiled

with -m64:



[macbook] f90/bug% g++48 -std=c++0x

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C: In function 'int

main()':

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:11:23: error: no matching

function for call to 'make_array(int)'

   int z = make_array(1);    // { dg-error "no matching" }

                       ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:11:23: note: candidate

is:

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:5:6: note: template<class

T> decltype (make_array(il)) make_array(const T&)

 auto make_array(const T& il) ->

      ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:5:6: note:   template

argument deduction/substitution failed:

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C: In substitution of

'template<class T> decltype (make_array(il)) make_array(const T&) [with T =

int]':

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:11:23:   required from

here

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23: error: 'make_array'

was not declared in this scope, and no declarations were found by

argument-dependent lookup at the point of instantiation [-fpermissive]

 decltype(make_array(il))    // { dg-error "not declared|no matching|exceeds" }

                       ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:5:6: note:

'template<class T> decltype (make_array(il)) make_array(const T&)' declared

here, later in the translation unit

 auto make_array(const T& il) ->

      ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23: error: no matching

function for call to 'make_array(const int&)'

 decltype(make_array(il))    // { dg-error "not declared|no matching|exceeds" }

                       ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23: note: candidate is:

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:5:6: note: template<class

T> decltype (make_array(il)) make_array(const T&)

 auto make_array(const T& il) ->

      ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:5:6: note:   template

argument deduction/substitution failed:

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C: In substitution of

'template<class T> decltype (make_array(il)) make_array(const T&) [with T =

int]':

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23:   required by

substitution of 'template<class T> decltype (make_array(il)) make_array(const

T&) [with T = int]'

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:11:23:   required from

here

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23: error: 'make_array'

was not declared in this scope, and no declarations were found by

argument-dependent lookup at the point of instantiation [-fpermissive]

 decltype(make_array(il))    // { dg-error "not declared|no matching|exceeds" }

                       ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:5:6: note:

'template<class T> decltype (make_array(il)) make_array(const T&)' declared

here, later in the translation unit

 auto make_array(const T& il) ->

      ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23: error: no matching

function for call to 'make_array(const int&)'

 decltype(make_array(il))    // { dg-error "not declared|no matching|exceeds" }

                       ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23: note: candidate is:

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:5:6: note: template<class

T> decltype (make_array(il)) make_array(const T&)

 auto make_array(const T& il) ->

      ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:5:6: note:   template

argument deduction/substitution failed:

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C: In substitution of

'template<class T> decltype (make_array(il)) make_array(const T&) [with T =

int]':

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23:   recursively

required by substitution of 'template<class T> decltype (make_array(il))

make_array(const T&) [with T = int]'

...

a lot of errors

...

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23: error: template

instantiation depth exceeds maximum of 900 (use -ftemplate-depth= to increase

the maximum) substituting 'template<class T> decltype (make_array(il))

make_array(const T&) [with T = <missing>]'

 decltype(make_array(il))    // { dg-error "not declared|no matching|exceeds" }

                       ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23:   recursively

required by substitution of 'template<class T> decltype (make_array(il))

make_array(const T&) [with T = int]'

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23:   required by

substitution of 'template<class T> decltype (make_array(il)) make_array(const

T&) [with T = int]'

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:11:23:   required from

here



/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23: error: no matching

function for call to 'make_array(const int&)'

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:6:23: note: candidate is:

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:5:6: note: template<class

T> decltype (make_array(il)) make_array(const T&)

 auto make_array(const T& il) ->

      ^

/opt/gcc/work/gcc/testsuite/g++.dg/cpp0x/decltype32.C:5:6: note:   substitution

of deduced template arguments resulted in errors seen above

Reply via email to