The following invalid code snippet triggers an ICE since GCC 3.4.0: ========================================================= template<int> struct A {}; template<typename = class A<0>: > struct B {}; ========================================================= bug.cc:3: error: an explicit specialization must be preceded by 'template <>' bug.cc:3: internal compiler error: Segmentation fault Please submit a full bug report, [etc.]
Confirmed.
On it.
Subject: Bug 37650 Author: paolo Date: Tue Oct 14 17:51:55 2008 New Revision: 141115 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141115 Log: /cp 2008-10-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/37650 * pt.c (push_template_decl_real): Check that current_template_parms is not null. (process_partial_specialization): Assert current_template_parms not null. /testsuite 2008-10-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/37650 * g++.dg/template/crash83.C: New. Added: trunk/gcc/testsuite/g++.dg/template/crash83.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog
Fixed for 4.4.0.
Closing 4.2 branch.
WONTFIX for 4.3.