https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117594
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2024-11-15
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
So confirmed. I get 4294967260 on x86_64. 'c' is unused. Please use
if (a != 4294967260) abort (); instead of printf, that also makes it obvious
what the correct intended value is.
unsigned a;
short b, d, e;
int main() {
short h = d;
short *z = &h;
for (_Bool i = 0; i < 1; i = 1)
for (unsigned j = 0; j < (z[i] ?: 10); j += 3) {
a -= 9;
b -= ~e;
}
if (a != 4294967260)
__builtin_abort ();
}