https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119690
Bug ID: 119690
Summary: [12/13/14 regression] wrong code at -O{s,1,2,3} on
x86_64-linux-gnu
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: chopra.kavya04 at gmail dot com
Target Milestone: ---
The bug wasn't there in gcc11, and has been affecting subsequent versions
since.
Here's the compiler explorer link for the bug: https://godbolt.org/z/1rYcd3GTY
kchopra@su-lee:~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/local/home/kchopra/.gcclocal/libexec/gcc/x86_64-pc-linux-gnu/15.0.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure --prefix=/local/home/kchopra/.gcclocal/
--with-local-prefix=/local/home/kchopra/.gcclocal/
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 15.0.1 20250404 (experimental) (GCC)
kchopra@su-lee:~$ gcc -O3 small.c ; ./a.out
0
kchopra@su-lee:~$ gcc -O0 small.c ; ./a.out
1
kchopra@su-lee:~$ cat small.c
int printf(const char *, ...);
int a, b = -2147483647, c;
int main() {
d:
c = a + b + 2147483647;
if (-c >= 0)
goto e;
goto f;
e:
a = c + 1;
goto d;
f:
printf("%d\n", a);
return 0;
}
kchopra@su-lee:~$