This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/34060] New: [4.3 regression] ICE with invalid specialization of variadic template


The following invalid code snippet triggers an ICE on mainline:

==================================================
template<int> struct A
{
  template<typename...> struct B {};

  template<typename...T> struct B<int,T*> {};
};

A<0>::B<int> b;
==================================================

bug.cc:5: error: parameter packs not expanded with `...':
bug.cc:5: note:         'T'
bug.cc:5: error: template parameters not used in partial specialization:
bug.cc:5: error:         'T'
bug.cc:8: internal compiler error: tree check: expected tree_vec, have
error_mark in get_innermost_template_args, at cp/pt.c:514
Please submit a full bug report, [etc.]

The testcase didn't crash before 2007-11-03, so it's probably fallout from
http://gcc.gnu.org/ml/gcc-cvs/2007-11/msg00120.html


-- 
           Summary: [4.3 regression] ICE with invalid specialization of
                    variadic template
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code, error-recovery, 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=34060


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]