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.