http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59882
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Keywords| |ice-on-valid-code Last reconfirmed| |2014-01-20 Component|other |ipa CC| |trippels at gcc dot gnu.org Ever confirmed|0 |1 Summary|dev-cpp/xsd: internal |[4.9 Regression] internal |compiler error: |compiler error: |Segmentation fault |Segmentation fault Target Milestone|--- |4.9.0 --- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Confirmed. Another devirtualization issue. markus@x4 tmp % cat test.ii class A; class B {}; struct C { virtual void dispatch(); int traversal_map_; }; template <typename> class F : public virtual C {}; struct I : F<A>, F<int> {}; struct J : B, I {}; class D {}; struct L { L(D &, int &p2) : map_(p2) {} virtual void traverse(int &p1) { int &s = p1; names<L>(s, names_); } int &map_; J names_; template <typename> void names(int &, C &p2) { p2.dispatch(); } }; struct G : D { G(D &, int &p2) : map_(p2) { L(*this, map_); } int &map_; }; int a; void fn1(D &p1) { G(p1, a); } markus@x4 tmp % g++ -c -O2 test.ii test.ii: In member function ‘virtual void L::traverse(int&)’: test.ii:29:29: internal compiler error: Segmentation fault void fn1(D &p1) { G(p1, a); } ^ 0xb541af crash_signal ../../gcc/gcc/toplev.c:337 0x98e5eb tree_check ../../gcc/gcc/tree.h:2708 0x98e5eb gimple_get_virt_method_for_binfo(long, tree_node*) ../../gcc/gcc/gimple-fold.c:3242 0x9d35a9 possible_polymorphic_call_targets(tree_node*, long, ipa_polymorphic_call_context, bool*, void**) ../../gcc/gcc/ipa-devirt.c:1312 0x9902ab possible_polymorphic_call_targets(tree_node*, bool*, void**) ../../gcc/gcc/ipa-utils.h:135 0x98d4a6 gimple_fold_call ../../gcc/gcc/gimple-fold.c:1185 0x98d4a6 fold_stmt_1 ../../gcc/gcc/gimple-fold.c:1298 0xbaacb9 fold_marked_statements ../../gcc/gcc/tree-inline.c:4511 0xbb8374 optimize_inline_calls(tree_node*) ../../gcc/gcc/tree-inline.c:4592 0x1058409 early_inliner ../../gcc/gcc/ipa-inline.c:2272 0x1058409 execute ../../gcc/gcc/ipa-inline.c:2335 Please submit a full bug report,