https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91574
Bug ID: 91574 Summary: [10 Regression] ICE in types_same_for_odr at gcc/ipa-devirt.c:355 since r272037 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: hubicka at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- Following is causing ICE: $ cat ginac.ii class A { public: virtual ~A(); A(A &); virtual unsigned m_fn1() const; }; class B : A { unsigned m_fn1() const; }; void fn1(B p1) { B a[]{p1, p1}; } $ g++ ginac.ii -O2 -flto -shared -fPIC -c && g++ ginac.o -shared -O2 during GIMPLE pass: fre ginac.ii: In function ‘fn1’: ginac.ii:10:6: internal compiler error: Segmentation fault 10 | void fn1(B p1) { B a[]{p1, p1}; } | ^ 0xc935df crash_signal /home/marxin/Programming/gcc/gcc/toplev.c:326 0x7f307662fe4f ??? /usr/src/debug/glibc-2.29-7.3.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 0xf437a1 contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/tree.h:3376 0xf437a1 decl_assembler_name(tree_node*) /home/marxin/Programming/gcc/gcc/tree.c:716 0xa7dc03 types_same_for_odr(tree_node const*, tree_node const*) /home/marxin/Programming/gcc/gcc/ipa-devirt.c:355 0xaa0384 ipa_polymorphic_call_context::get_dynamic_type(tree_node*, tree_node*, tree_node*, gimple*, unsigned int*) /home/marxin/Programming/gcc/gcc/ipa-polymorphic-call.c:1804 0xe4a302 eliminate_dom_walker::eliminate_stmt(basic_block_def*, gimple_stmt_iterator*) /home/marxin/Programming/gcc/gcc/tree-ssa-sccvn.c:5745 0xe4b47d eliminate_dom_walker::before_dom_children(basic_block_def*) /home/marxin/Programming/gcc/gcc/tree-ssa-sccvn.c:5904 0xe4b47d eliminate_dom_walker::before_dom_children(basic_block_def*) /home/marxin/Programming/gcc/gcc/tree-ssa-sccvn.c:5837 0x14db557 dom_walker::walk(basic_block_def*) /home/marxin/Programming/gcc/gcc/domwalk.c:309 0xe43f1b eliminate_with_rpo_vn(bitmap_head*) /home/marxin/Programming/gcc/gcc/tree-ssa-sccvn.c:6082 0xe535c8 do_rpo_vn /home/marxin/Programming/gcc/gcc/tree-ssa-sccvn.c:7227 0xe541c0 execute /home/marxin/Programming/gcc/gcc/tree-ssa-sccvn.c:7309 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. lto-wrapper: fatal error: g++ returned 1 exit status compilation terminated. /usr/bin/ld: error: lto-wrapper failed collect2: error: ld returned 1 exit status