------- Comment #5 from reichelt at gcc dot gnu dot org 2008-01-12 19:23 ------- Even further reduced testcase:
================================= struct A { template<typename T> A(T); }; class C; struct B : A { B(const C& c) : A(c) {} }; struct C { C(const C&); C(); C& operator= (const C&); }; B b = C(); ================================= bug.cc: In constructor 'B::B(const C&)': bug.cc:10: internal compiler error: in cp_expr_size, at cp/cp-objcp-common.c:100 Please submit a full bug report, [etc.] This is really invalid code (C is used before it is defined). The bug was fixed on mainline between 2007-10-13 and 2007-11-13. -- reichelt at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |reichelt at gcc dot gnu dot | |org Keywords| |ice-on-invalid-code, | |monitored Known to fail|4.0.4 4.1.3 4.2.3 |4.0.4 4.1.2 4.1.3 4.2.0 | |4.2.1 4.2.2 4.2.3 Known to work|3.4.6 4.3.0 |3.4.6 4.0.0 4.0.3 4.1.0 | |4.1.1 4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34750