$ cat errarg.ii class errarg { enum { EMPTY } type; public: errarg(); }; extern errarg empty_errarg; extern void errprint(const char *, const errarg &arg1 = empty_errarg, const errarg &arg2 = empty_errarg, const errarg &arg3 = empty_errarg); errarg::errarg() : type(EMPTY) { } errarg empty_errarg; (gdb) r -fpreprocessed errarg.ii -O Starting program: /cvs/test/gcc/gcc/cc1plus -fpreprocessed errarg.ii -O errarg::errarg() errarg::errarg() errarg::errarg() void __static_initialization_and_destruction_0(int, int) Program received signal SIGSEGV, Segmentation fault. import_export_decl (decl=0x200000000049f9c0) at /cvs/gcc/gcc/cp/decl2.c:1773 1773 gcc_assert (DECL_IMPLICIT_INSTANTIATION (decl) (gdb) p decl.decl.lang_specific $6 = (struct lang_decl *) 0x0
-- Summary: [4.0 regression] ICE in import_export_decl Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: critical Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: schwab at suse dot de CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: ia64-*-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18416