$ 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

Reply via email to