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

           Summary: [4.6 Regression] ICE during cgraph edge cloning
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: rgue...@gcc.gnu.org


The package xbase fails to build with

g++ -DHAVE_CONFIG_H -I. -I/usr/src/packages/BUILD/xbase-2.0.0
-fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -MT
expproc.lo -MD -MP -MF .deps/expproc.Tpo -c expproc.cpp  -fPIC -DPIC -o
.libs/expproc.o
g++: internal compiler error: Segmentation fault (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.opensuse.org/> for instructions.

Where on the preprocessed source you can see that -O -m32 is enough:

> ./cc1plus  -quiet -O ~/expproc.ii -o /dev/null -m32
Segmentation fault

(gdb) bt
#0  0x0000000000a6d01d in gimple_statement_structure (gs=Cannot access memory
at address 0x7fffff7feff8
)
    at /space/rguenther/src/svn/trunk/gcc/gimple.h:1110
#1  0x0000000000a6cfe2 in gimple_ops (gs=0x7ffff4cec500)
    at /space/rguenther/src/svn/trunk/gcc/gimple.h:1655
#2  0x0000000000a71ec8 in gimple_op (gs=0x7ffff4cec500, i=1)
    at /space/rguenther/src/svn/trunk/gcc/gimple.h:1670
#3  0x0000000000a74497 in gimple_call_fn (gs=0x7ffff4cec500)
    at /space/rguenther/src/svn/trunk/gcc/gimple.h:2001
#4  0x0000000000a73f95 in gimple_call_fndecl (gs=0x7ffff4cec500)
    at /space/rguenther/src/svn/trunk/gcc/gimple.h:2043
#5  0x0000000000a73eef in gimple_call_flags (stmt=0x7ffff4cec500)
    at /space/rguenther/src/svn/trunk/gcc/gimple.c:1781
#6  0x0000000000cc0f32 in gimple_call_nothrow_p (s=0x7ffff4cec500)
    at /space/rguenther/src/svn/trunk/gcc/gimple.h:2302
#7  0x0000000000cc0e7f in stmt_could_throw_p (stmt=0x7ffff4cec500)
    at /space/rguenther/src/svn/trunk/gcc/tree-eh.c:2530
#8  0x0000000000cc124b in stmt_can_throw_external (stmt=0x7ffff4cec500)
    at /space/rguenther/src/svn/trunk/gcc/tree-eh.c:2581
#9  0x0000000000f747b8 in cgraph_create_edge_1 (caller=0x7fffef5bb580, 
    callee=0x7ffff4ce4c60, call_stmt=0x7ffff4cec500, count=0, freq=0, 
    nest=65505) at /space/rguenther/src/svn/trunk/gcc/cgraph.c:1021
#10 0x0000000000f748cc in cgraph_create_edge (caller=0x7fffef5bb580, 
    callee=0x7ffff4ce4c60, call_stmt=0x7ffff4cec500, count=0, freq=0, 
    nest=65505) at /space/rguenther/src/svn/trunk/gcc/cgraph.c:1042
#11 0x0000000000f774c8 in cgraph_clone_edge (e=0x7fffef5bab60, 
    n=0x7fffef5bb580, call_stmt=0x7ffff4cec500, stmt_uid=0, count_scale=0, 
    freq_scale=1, loop_nest=27584, update_original=0 '\000')
    at /space/rguenther/src/svn/trunk/gcc/cgraph.c:2102
#12 0x0000000000f778b6 in cgraph_clone_node (n=0x7fffef5bb2c0, 
    decl=0x7ffff4ef4c00, count=0, freq=0, loop_nest=27584, 
    update_original=0 '\000', redirect_callers=0x0)
    at /space/rguenther/src/svn/trunk/gcc/cgraph.c:2179
#13 0x0000000000f8ff28 in cgraph_clone_inlined_nodes (e=0x7fffef5babc8, 
    duplicate=1 '\001', update_original=0 '\000')
    at /space/rguenther/src/svn/trunk/gcc/ipa-inline.c:283
#14 0x0000000000f9004f in cgraph_clone_inlined_nodes (e=0x7fffef5babc8, 
    duplicate=1 '\001', update_original=0 '\000')
    at /space/rguenther/src/svn/trunk/gcc/ipa-inline.c:306
#15 0x0000000000f9004f in cgraph_clone_inlined_nodes (e=0x7fffef5ba888, 
    duplicate=1 '\001', update_original=0 '\000')

...

appearantly the call stmt is invalid.

Reply via email to