../../gcc/cp/tinfo2.cc:300: Internal compiler error.

Jeffrey A Law law@upchuck.cygnus.com
Thu Mar 25 12:04:00 GMT 1999


  In message < 199903251510.KAA21194@hiauly1.hia.nrc.ca >you write:
  > make[3]: Entering directory `/xxx/gnu/egcs-2.93.13/objdir/gcc'
  > ./xgcc -B./ -B/usr/local/hppa1.1-hp-hpux9.01/bin/ -O2   -DIN_GCC -DHAIFA   
  >  -W -
  > Wall -O2 -O3 -g -W -Wall -I./include  -fPIC -g1  -DIN_LIBGCC2 -D__GCC_FLOAT
  > _NOT_
  > NEEDED   -O3 -g -W -Wall -I. -I../../gcc -I../../gcc/config -I../../gcc/../
  > inclu
  > de \
  >   -c ../../gcc/cp/tinfo2.cc
  > ../../gcc/cp/tinfo2.cc:300: Internal compiler error.
  > ../../gcc/cp/tinfo2.cc:300: Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
  > ../../gcc/cp/tinfo2.cc:300: See <URL: http://egcs.cygnus.com/faq.html#bugreport >
  > for details.
  > make[3]: *** [tinfo2.o] Error 1
  > make[3]: Leaving directory `/xxx/gnu/egcs-2.93.13/objdir/gcc'
It's a bug in the C++ front-end.  

We're blowing up in comcat_linkage when trying to look at
DECL_NOT_REALLY_EXTERN for a decl that has a null lang_specific field.

(gdb) p debug_tree(decl)
 <var_decl 400b20c0 _vt$17__array_type_info
    type <array_type 4005cc08
        type <record_type 4003d6a0 __vtbl_ptr_type allocated from permanent_obstack
            readonly permanent type_5 type_6 DI
            size <integer_cst 4003d550 constant permanent 64>
            align 64 symtab 0 alias set 0 fields <field_decl 4003d3b8 __delta>
            n_parents 0 n_ancestors 0 use_template=0 interface-unknown
            pointer_to_this <pointer_type 4003d7e0>>
        allocated from permanent_obstack
        permanent BLK
        size <integer_cst 4005cca8 constant permanent 128>
        align 64 symtab 0 alias set 0
        domain <integer_type 4005ca98 allocated from permanent_obstack
            permanent SI
            size <integer_cst 40034530 constant permanent 32>
            align 32 symtab 0 alias set -1 precision 32
            min <integer_cst 40038308 constant permanent 0>
            max <integer_cst 4005cb10 constant permanent 1>>
        pointer_to_this <pointer_type 4005ce28>>
    allocated from permanent_obstack
    readonly addressable used permanent static common external virtual BLK file /puke/law/egcs/egcs/gcc/cp/tinfo2.cc line 89 size <integer_cst 4005cca8 128>
    align 64 context <record_type 400b0cc8 __array_type_info> initial <constructor 400b2428>
    (mem/s/u:BLK (symbol_ref:SI ("_vt$17__array_type_info")) 0) chain <function_decl 400b21b0 __tf17__array_type_info>>
$2 = void
(gdb) p decl->decl.lang_specific
$3 = (struct lang_decl *) 0x0


I don't know enough about the C++ front-end to know if this node should
have a lang_specific field defined or not.  

jeff



More information about the Gcc-bugs mailing list