https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83391

            Bug ID: 83391
           Summary: [8 Regression] error: definition in block 9 does not
                    dominate use in block 8
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org
  Target Milestone: ---

On ppc64le:

trippels@gcc2-power8 src % < node_url.ii
char a;
enum url_parse_state { kSchemeStart, kScheme, kRelative } b;
int c, d;
void fn1() {
  int e;
  bool f;
  url_parse_state g = b;
  while (1) {
    char h = a ? d : 0;
    switch (g) {
    case 0:
      f = h <= 'Z' || h >= 'a' && h <= 'z';
      break;
    case 1: {
      char i = h;
      e = 0;
    }
      if (e || h)
        g = kRelative;
    default:
      c = 0;
    }
  }
}

trippels@gcc2-power8 src % g++ -c -O2 node_url.ii
trippels@gcc2-power8 src % g++ -g -c -O2 node_url.ii
node_url.ii: In function ‘void fn1()’:
node_url.ii:4:6: error: definition in block 9 does not dominate use in block 8
 void fn1() {
      ^~~
for SSA_NAME: iftmp.0_19 in statement:
# DEBUG i => iftmp.0_19
during GIMPLE pass: dom
node_url.ii:4:6: internal compiler error: verify_ssa failed
0x10f0e35b verify_ssa(bool, bool)
        ../../gcc/gcc/tree-ssa.c:1188
0x10b03b07 execute_function_todo
        ../../gcc/gcc/passes.c:2001
0x10b0514b do_per_function
        ../../gcc/gcc/passes.c:1659
0x10b0535b execute_todo
        ../../gcc/gcc/passes.c:2048

Reply via email to