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

             Bug #: 51402
           Summary: [4.6/4.7 Regression] ICE with invalid template
                    parameter
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: reich...@gcc.gnu.org


The following invalid code snippet triggers an ICE since GCC 4.6.0:

=====================================
template<void> struct A
{
  template<int,int> struct B {};
  template<int N> struct B<N,N> {};
};
=====================================

bug.cc:1:10: error: 'void' is not a valid type for a template non-type
parameter
bug.cc:4:33: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in template_class_depth, at cp/pt.c:365
Please submit a full bug report, [etc.]

Reply via email to