https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87574
Bug ID: 87574 Summary: [9 Regression] ICE in add_data_member_location_attribute at gcc/gcc/dwarf2out.c:19226 since r264943 Product: gcc Version: 9.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: marxin at gcc dot gnu.org Target Milestone: --- I see following ICE: $ cat ice.ii class a { public: virtual ~a(); }; class b : virtual a {}; struct c : b, a {}; void fn1() { c(); } $ g++ ice.ii -flto=8 -shared -O2 -g -fPIC ice.ii:6:8: warning: direct base ‘a’ inaccessible in ‘c’ due to ambiguity 6 | struct c : b, a {}; | ^ during RTL pass: final ice.ii: In member function ‘_ZThn8_N1cD0Ev’: ice.ii:6:8: internal compiler error: in tree_to_shwi, at tree.c:6839 6 | struct c : b, a {}; | ^ 0x1404536 tree_to_shwi(tree_node const*) /home/marxin/Programming/gcc/gcc/tree.c:6839 0xa23471 add_data_member_location_attribute /home/marxin/Programming/gcc/gcc/dwarf2out.c:19226 0xa324fc gen_inheritance_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:24494 0xa33838 gen_member_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:24965 0xa34220 gen_struct_or_union_type_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:25138 0xa34d01 gen_tagged_type_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:25339 0xa348a5 gen_typedef_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:25253 0xa3795b gen_decl_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:26223 0xa350a8 gen_type_die_with_usage /home/marxin/Programming/gcc/gcc/dwarf2out.c:25404 0xa359f5 gen_type_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:25588 0xa11025 modified_type_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:13357 0xa29a61 add_type_attribute /home/marxin/Programming/gcc/gcc/dwarf2out.c:21521 0xa324e5 gen_inheritance_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:24492 0xa33838 gen_member_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:24965 0xa34220 gen_struct_or_union_type_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:25138 0xa34d01 gen_tagged_type_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:25339 0xa348a5 gen_typedef_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:25253 0xa3795b gen_decl_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:26223 0xa350a8 gen_type_die_with_usage /home/marxin/Programming/gcc/gcc/dwarf2out.c:25404 0xa359f5 gen_type_die /home/marxin/Programming/gcc/gcc/dwarf2out.c:25588