[Bug c++/16583] [3.5 Regression] G++ segfaults with -fdump-translation-unit

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Jul 16 06:38:00 GMT 2004


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-07-16 06:38 -------
Confirmed:
Program received signal SIGSEGV, Segmentation fault.
0x0813ace8 in cp_dump_tree (dump_info=0xbffec120, t=0x40a85984) at /home/gates/pinskia/src/
gnu/gcc/src/gcc/cp/dump.c:271
271               for (i = 0; i < BINFO_N_BASE_BINFOS (TYPE_BINFO (t)); ++i)
(gdb) p t
$1 = 0x40a85984
(gdb) p debug_tree(t)
 <record_type 0x40a85984 __vmi_class_type_info_pseudo1 readonly type_5 BLK
    size <integer_cst 0x4004ee28 type <integer_type 0x4005c828 bit_size_type> constant invariant 
192>
    unit size <integer_cst 0x4004ee40 type <integer_type 0x4005c7b4 unsigned int> constant 
invariant 24>
    align 32 symtab 0 alias set -1
    fields <field_decl 0x40a85740
        type <record_type 0x400be5e4 __type_info_pseudo type_1 type_5 DI
            size <integer_cst 0x4004e798 constant invariant 64>
            unit size <integer_cst 0x4004eab0 constant invariant 8>
            align 32 symtab 0 alias set -1 fields <field_decl 0x400be740>
            no-binfo use_template=0 interface-unknown
            pointer_to_this <pointer_type 0x400be6cc> chain <type_decl 0x400be828 
__type_info_pseudo>>
        in_system_header DI file /home/gates/pinskia/linux/lib/gcc/i686-pc-linux-gnu/3.5.0/../../../../
include/c++/3.5.0/iosfwd line 65 size <integer_cst 0x4004e798 64> unit size <integer_cst 
0x4004eab0 8>
        align 32 offset_align 128
        offset <integer_cst 0x4004ec30 constant invariant 0>
        bit offset <integer_cst 0x4004ed08 constant invariant 0> context <record_type 0x40a857b4 
__vmi_class_type_info_pseudo1> arguments <integer_cst 0x4004ec30 0>  
        chain <field_decl 0x40a856cc type <integer_type 0x400504fc int>
            in_system_header SI file /home/gates/pinskia/linux/lib/gcc/i686-pc-linux-gnu/
3.5.0/../../../../include/c++/3.5.0/iosfwd line 65
            size <integer_cst 0x4004e348 constant invariant 32>
            unit size <integer_cst 0x4004e3f0 constant invariant 4>
            align 32 offset_align 128 offset <integer_cst 0x4004ec30 0> bit offset <integer_cst 
0x4004e798 64> context <record_type 0x40a857b4 __vmi_class_type_info_pseudo1> arguments 
<integer_cst 0x4004ec30 0> chain <field_decl 0x40a85658>>>
    no-binfo use_template=0 interface-unknown
    pointer_to_this <pointer_type 0x40a85b54>>
$2 = void
(gdb) l
266
267           if (!dump_flag (di, TDF_SLIM, t))
268             {
269               int i;
270
271               for (i = 0; i < BINFO_N_BASE_BINFOS (TYPE_BINFO (t)); ++i)
272                 {
273                   tree base_binfo = BINFO_BASE_BINFO (TYPE_BINFO (t), i);
274                   dump_child ("base", BINFO_TYPE (base_binfo));
275                   if (BINFO_VIRTUAL_P (base_binfo))

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |minor
           Keywords|                            |ice-on-valid-code
            Summary|G++ segfaults with -fdump-  |[3.5 Regression] G++
                   |translation-unit            |segfaults with -fdump-
                   |                            |translation-unit
   Target Milestone|---                         |3.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16583



More information about the Gcc-bugs mailing list