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

            Bug ID: 78706
           Summary: [7 Regression] ICE in is_complex_reg (segfault)
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org
  Target Milestone: ---

seen with r243219 when building tulip on ppc64el, works with -O2:

$ cat osiif.ii
class a {
public:
  a();
};
class b {
  int c;
  int h;
  double d;
  virtual int e() { return f(c, h, &d); }
  virtual int f(int &, int &, double *) const = 0;
};
class g : virtual b {
  int f(int &, int &, double *) const;
};
int g::f(int &, int &, double *) const { throw a(); }

$ g++ -c -O3 osiif.ii 
osiif.ii: In member function 'virtual int b::e()':
osiif.ii:9:38: internal compiler error: Segmentation fault
   virtual int e() { return f(c, h, &d); }
                                      ^
0x108c4273 crash_signal
        ../../src/gcc/toplev.c:333
0x109114b4 is_complex_reg
        ../../src/gcc/tree-complex.c:177
0x109114b4 init_dont_simulate_again
        ../../src/gcc/tree-complex.c:231
0x109114b4 tree_lower_complex
        ../../src/gcc/tree-complex.c:1662
0x109114b4 execute
        ../../src/gcc/tree-complex.c:1788
Please submit a full bug report,
with preprocessed source if appropriate.

Reply via email to