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