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

Reply via email to