The testcase g++.dg/template/inherit.C causes an ICE on the 4.1 branch
and mainline:
=====================================================
template<typename T>
struct X { void f() { } };
struct Z : X<int> { };
int main()
{
Z z;
z.X::f(); // { dg-error ".*" "" }
}
=====================================================
inherit.C: In function 'int main()':
inherit.C:9: error: 'template<class T> struct X' used without template
parameters
inherit.C:9: internal compiler error: in finish_class_member_access_expr, at
cp/typeck.c:1996
Please submit a full bug report, [etc.]
Because of the catch-all marker { dg-error ".*" "" } the testcase still
PASSes despite the ICE.
That means, that the testcase should also be fixed
Btw, this is the only ICE I found in the logfiles for 4.1 and 4.2
(and also 4.0) that wasn't flagged.
--
Summary: [4.1/4.2 regression] ICE with g++.dg/template/inherit.C
Product: gcc
Version: 4.2.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=25300