https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78692
Bug ID: 78692 Summary: [7 Regression] ICE (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 r243108 on x86_64-linux-gnu, works with -O1 $ cat jni_channel.ii int a; void *b; extern "C" { struct c { virtual int d(); }; struct e { virtual int operator()(int, const void *, int) = 0; }; class f { int g(); int h; e &i; }; struct : c, e { int operator()(int, const void *, int) { throw int(); } } j; int f::g() { a = i(h, b, 0); } } $ g++ -std=c++98 -c -O2 jni_channel.iijni_channel.ii: In member function 'int f::g()': jni_channel.ii:18:19: internal compiler error: Segmentation fault int f::g() { a = i(h, b, 0); } ~^~~~~~~~~ 0xb0bb0f crash_signal ../../src/gcc/toplev.c:333 0xb43df4 is_complex_reg ../../src/gcc/tree-complex.c:177 0xb43df4 init_dont_simulate_again ../../src/gcc/tree-complex.c:231 0xb43df4 tree_lower_complex ../../src/gcc/tree-complex.c:1662 0xb43df4 execute ../../src/gcc/tree-complex.c:1788 Please submit a full bug report, with preprocessed source if appropriate.