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.