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.

Reply via email to