http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58978
Bug ID: 58978 Summary: [4.9 Regression] ICE: Segmentation fault Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: octoploid at yandex dot com markus@x4 tmp % cat test.ii class A { public: int m_fn1(); }; class B { public: static B *m_fn1(int); enum { d = 8, Sub, Mul, UDiv, SDiv, URem, SRem, Shl, LShr }; }; class C { A Lex; void m_fn1(); }; void C::m_fn1() { switch (0) case 0: { int a = Lex.m_fn1(); switch (a) { case 1: case B::Sub: case B::Mul: case B::UDiv: case B::SDiv: case B::URem: case B::SRem: case B::Shl: case 0: case B::LShr: break; default: __builtin_unreachable(); } B::m_fn1(a); } } markus@x4 tmp % g++ -O2 -c test.ii test.ii: In member function ‘void C::m_fn1()’: test.ii:24:6: internal compiler error: Segmentation fault void C::m_fn1() { ^ 0xb15d0f crash_signal ../../gcc/gcc/toplev.c:334 0xd2a30f single_imm_use ../../gcc/gcc/ssa-iterators.h:426 0xd2a30f all_imm_uses_in_stmt_or_feed_cond ../../gcc/gcc/tree-vrp.c:6480 0xd2a30f remove_range_assertions ../../gcc/gcc/tree-vrp.c:6622 0xd2a30f execute_vrp ../../gcc/gcc/tree-vrp.c:9759 0xd2a30f execute ../../gcc/gcc/tree-vrp.c:9842 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.