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

            Bug ID: 109331
           Summary: ice: definition in block 7 does not dominate use in
                    block 8
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

This reduced C code:

ustol_dpp;
ustol(flags) {
  char *s;
  if (s)
    flags |= 3;
  switch (flags & 3)
  case 3:
    while (*s)
    case '+':
      ++s;
  if (flags)
    ustol_dpp = s;
}

when compiled by this morning's trunk gcc and flag -O1, does this:

$ ~/gcc/results/bin/gcc -c -w -O1 bug904.c
bug904.c: In function ‘ustol’:
bug904.c:2:1: error: definition in block 7 does not dominate use in block 8
    2 | ustol(flags) {
      | ^~~~~
for SSA_NAME: s_8 in statement:
s.0_3 = (long int) s_8;
during GIMPLE pass: forwprop
bug904.c:2:1: internal compiler error: verify_ssa failed
0x110bc49 verify_ssa(bool, bool)
        ../../trunk.year/gcc/tree-ssa.cc:1211

This was fine with yesterday's compiler:

$ ~/gcc/results.20230328/bin/gcc -c -w -O1 bug904.c
$ 

Git range is g:304c7d44a2212e6f to g:36330e2e95564a36, which is 35 commits.

Reply via email to