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.