[Bug c++/60600] New: ICE in ipa_get_indirect_edge_target_1

lucdanton at free dot fr gcc-bugzilla@gcc.gnu.org
Thu Mar 20 13:03:00 GMT 2014


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

            Bug ID: 60600
           Summary: ICE in ipa_get_indirect_edge_target_1
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: lucdanton at free dot fr

Created attachment 32404
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32404&action=edit
Testcase

$ g++-trunk --version
g++-trunk (GCC) 4.9.0 20140319 (experimental)

$ cat main.cpp 
struct data {
    data(int);
};

struct top {
    virtual int topf();
};

struct intermediate: top {
    int topf() /* override */ { return 0; }
};

struct child1: top {
    void childf()
    {
        data d(topf());
    }
};

struct child2: intermediate {};

void test(top& t)
{
    child1& c = static_cast<child1&>(t);
    c.childf();
    child2 d;
    test(d);
}

$ g++-trunk main.cpp -O3
main.cpp:28:1: internal compiler error: in ipa_get_indirect_edge_target_1, at
ipa-cp.c:1645
 }
 ^
0x10ac52e ipa_get_indirect_edge_target_1
    ../../gcc/gcc/ipa-cp.c:1644
0xa1570c estimate_edge_devirt_benefit
    ../../gcc/gcc/ipa-inline-analysis.c:2955
0xa1570c estimate_edge_size_and_time
    ../../gcc/gcc/ipa-inline-analysis.c:2987
0xa1570c estimate_calls_size_and_time
    ../../gcc/gcc/ipa-inline-analysis.c:3040
0xa1602c estimate_node_size_and_time
    ../../gcc/gcc/ipa-inline-analysis.c:3127
0xa18016 estimate_ipcp_clone_size_and_time(cgraph_node*, vec<tree_node*,
va_heap, vl_ptr>, vec<tree_node*, va_heap, vl_ptr>, vec<ipa_agg_jump_function*,
va_heap, vl_ptr>, int*, int*, int*)
    ../../gcc/gcc/ipa-inline-analysis.c:3163
0x10b17fc estimate_local_effects
    ../../gcc/gcc/ipa-cp.c:2004
0x10b17fc propagate_constants_topo
    ../../gcc/gcc/ipa-cp.c:2229
0x10b17fc ipcp_propagate_stage
    ../../gcc/gcc/ipa-cp.c:2329
0x10b17fc ipcp_driver
    ../../gcc/gcc/ipa-cp.c:3707
0x10b17fc execute
    ../../gcc/gcc/ipa-cp.c:3806
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

-------------------------------------

This only happens with -O3, in all C++ modes. This may be a regression – the
testcase was built from the preprocessed source of a third-party library, with
stock settings. Presumably it built at some point before shipping.


More information about the Gcc-bugs mailing list