[Bug debug/82155] New: gcc-8 ICE in dwarf2out_abstract_function, at dwarf2out.c:21655

slyfox at inbox dot ru gcc-bugzilla@gcc.gnu.org
Fri Sep 8 21:51:00 GMT 2017


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

            Bug ID: 82155
           Summary: gcc-8 ICE in dwarf2out_abstract_function, at
                    dwarf2out.c:21655
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slyfox at inbox dot ru
  Target Milestone: ---

The crash is extracted from ceph-10.2.9.
[1] is the minimal reproducer (a bit big as I did not clean it after
'creduce'):

Crashes on both gcc-7.2.0 anf gcc-master (x86_64-pc-linux-gnu)

$ LANG=C g++ -O2 -g -c -o ECBackend.o ECBackend.ii
    ECBackend.ii: In member function 'virtual void m::m()::n::k(int)':
    ECBackend.ii:23:12: internal compiler error: in force_type_die, at
dwarf2out.c:25099
           void k(int) {}
                ^
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <https://bugs.gentoo.org/> for instructions.

// [1] : reproducer

template <typename a> struct b { a c; };
template <typename d> struct e { d *operator->(); };
template <typename d> class h {
public:
  typedef e<d> ag;
};
class i {
protected:
  i(int);
};
class j {
  virtual void k(int) = 0;

public:
  int f;
  void l() { k(f); }
};
struct m : i {
  int cn;
  m() : i(cn) {
    struct n : j {
      n() {}
      void k(int) {}
    };
  }
};
struct o {
  o() {
    for (h<b<b<j *>>>::ag g;;)
      g->c.c->l();
  }
};
void fn1() { o(); }


More information about the Gcc-bugs mailing list