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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mjambor at suse dot cz

--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-09-16 
09:59:47 UTC ---
OK, the error is ipa-cp trying to fold ctor reference as:

#1  0x00000000005d2fee in fold_ctor_reference (type=0x7ffff53501f8,
ctor=0x7ffff7ec0b10, offset=1088, size=64) at ../../gcc/gimple-fold.c:2880
2880      if (useless_type_conversion_p (type, TREE_TYPE (ctor))
(gdb) p debug_tree (type)
 <pointer_type 0x7ffff53501f8 __vtbl_ptr_type
    type <function_type 0x7ffff53502a0
        type <integer_type 0x7ffff7ec95e8 int public SI
            size <integer_cst 0x7ffff7ecc240 constant 32>
            unit size <integer_cst 0x7ffff7ecc260 constant 4>
            align 32 symtab 0 alias set 5 canonical type 0x7ffff7ec95e8
precision 32 min <integer_cst 0x7ffff7ecc1e0 -2147483648> max <integer_cst
0x7ffff7ecc200 2147483647>
            pointer_to_this <pointer_type 0x7ffff7ed72a0> reference_to_this
<reference_type 0x7ffff1c7c930>>
        QI
        size <integer_cst 0x7ffff7ecc080 constant 8>
        unit size <integer_cst 0x7ffff7ecc0a0 constant 1>
        align 8 symtab 0 alias set -1 canonical type 0x7ffff53502a0
        pointer_to_this <pointer_type 0x7ffff53501f8 __vtbl_ptr_type>>
    public unsigned DI
    size <integer_cst 0x7ffff7eb9ec0 type <integer_type 0x7ffff7ec90a8
bitsizetype> constant 64>
    unit size <integer_cst 0x7ffff7eb9ee0 type <integer_type 0x7ffff7ec9000
sizetype> constant 8>
    align 64 symtab 0 alias set -1 canonical type 0x7ffff53591f8
    pointer_to_this <pointer_type 0x7ffff5350150>>
$2 = void
(gdb) p debug_tree (ctor)
 <error_mark 0x7ffff7ec0b10>
$3 = void
(gdb) bt
#0  useless_type_conversion_p (outer_type=0x7ffff53501f8,
inner_type=0x66686e6973615f6e) at ../../gcc/tree-ssa.c:1292
#1  0x00000000005d2fee in fold_ctor_reference (type=0x7ffff53501f8,
ctor=0x7ffff7ec0b10, offset=1088, size=64) at ../../gcc/gimple-fold.c:2880
#2  0x00000000005d3a6e in gimple_get_virt_method_for_binfo (token=960,
known_binfo=<optimized out>) at ../../gcc/gimple-fold.c:3056
#3  0x0000000000ae4cce in devirtualization_time_bonus (node=<optimized out>,
known_csts=0x3622de0, known_binfos=0x3622d80) at ../../gcc/ipa-cp.c:1170
#4  0x0000000000ae8b8c in estimate_local_effects (node=<optimized out>) at
../../gcc/ipa-cp.c:1401
#5  propagate_constants_topo (topo=<optimized out>) at ../../gcc/ipa-cp.c:1548
#6  ipcp_propagate_stage (topo=<optimized out>) at ../../gcc/ipa-cp.c:1631
#7  ipcp_driver () at ../../gcc/ipa-cp.c:2434
#8  0x00000000006710a7 in execute_one_pass (pass=0x10916e0) at
../../gcc/passes.c:2063
#9  0x0000000000671876 in execute_ipa_pass_list (pass=0x10916e0) at
../../gcc/passes.c:2430
#10 0x00000000004ab3c4 in do_whole_program_analysis () at
../../gcc/lto/lto.c:2670
#11 0x00000000004adf6d in lto_main () at ../../gcc/lto/lto.c:2796
#12 0x0000000000704a32 in compile_file () at ../../gcc/toplev.c:548
#13 do_compile () at ../../gcc/toplev.c:1886
#14 toplev_main (argc=171, argv=0x11fe290) at ../../gcc/toplev.c:1962
#15 0x00007ffff63efbc6 in __libc_start_main () from /lib64/libc.so.6
#16 0x00000000004909e9 in _start () at ../sysdeps/x86_64/elf/start.S:113

Martin, is this optimized out binfo? I will try to reduce this mess, but it is
huge, as you could expect

Reply via email to