Using auto as template parameter triggers ICEs in lots of different
places on mainline, e.g.

==============================
template<typename> struct A
{
  enum { e };
};

A<auto> a;
==============================

bug.cc: In instantiation of 'A<auto>':
bug.cc:6:   instantiated from here
bug.cc:2: internal compiler error: in finish_member_declaration, at
cp/semantics.c:2333
Please submit a full bug report, [etc.]

==============================
template<typename T> struct A
{
  A() : i() {}
  int i;
};

A<auto> a;
==============================

bug.cc: In constructor 'A<T>::A() [with T = auto]':
bug.cc:7:   instantiated from here
bug.cc:3: internal compiler error: Segmentation fault
Please submit a full bug report, [etc.]

Shouldn't auto as a template parameter trigger an error right away?

These bugs appeared with the patches for the new 'auto' semantics.


-- 
           Summary: [4.4 regression] ICE with auto as template parameter
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code, monitored
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: reichelt at gcc dot gnu dot org


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

Reply via email to