https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88081

            Bug ID: 88081
           Summary: [7/8/9 Regression] ICE in lto_varpool_replace_node, at
                    lto/lto-symtab.c:109
           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: ---

Following is causing ICE:

$ cat 1.ii
class a {
public:
  virtual ~a();
};
class b {
  virtual int c() const noexcept;
};
int b::c() const noexcept { return 0; }
namespace __cxxabiv1 {
class __class_type_info : a {};
} // namespace __cxxabiv1

$ cat 2.ii
class a {
  virtual char b();
};
class c {
  virtual bool m_fn2() const noexcept;
};
bool c::m_fn2() const noexcept { return true; }
namespace __cxxabiv1 {
class __class_type_info : a {};
} // namespace __cxxabiv1

$ g++ -c -flto 1.ii && g++ -c -flto 2.ii -O3 && g++ [12].o
during IPA pass: pure-const
lto1: internal compiler error: in lto_varpool_replace_node, at
lto/lto-symtab.c:109
0x5b6992 lto_varpool_replace_node
        /home/marxin/Programming/gcc/gcc/lto/lto-symtab.c:109
0x79b794 lto_symtab_merge_symbols_1
        /home/marxin/Programming/gcc/gcc/lto/lto-symtab.c:916
0x79b794 lto_symtab_merge_symbols()
        /home/marxin/Programming/gcc/gcc/lto/lto-symtab.c:973
0x78c82f read_cgraph_and_symbols
        /home/marxin/Programming/gcc/gcc/lto/lto.c:3013
0x78c82f lto_main()
        /home/marxin/Programming/gcc/gcc/lto/lto.c:3401

Reply via email to