Bug#1008190: gcc-11: isinf(nan) returns 1 with -O0 on m68k
Package: gcc-11
Version: 11.2.0-18
Severity: normal
Dear Maintainer,
O option affects the return value of isinf(nan).
user@m68k-sid:~$ cat n.c
#include <math.h>
#include <stdio.h>
int main() {
double inf = HUGE_VAL;
double nan = (inf / inf);
printf("isinf(inf)=%d\n", isinf(inf));
printf("isinf(nan)=%d\n", isinf(nan));
printf("isnan(inf)=%d\n", isnan(inf));
printf("isnan(nan)=%d\n", isnan(nan));
printf("inf=%f nan=%f\n", inf, nan);
return 0;
}
user@m68k-sid:~$ gcc n.c
user@m68k-sid:~$ ./a.out
isinf(inf)=1
isinf(nan)=1
isnan(inf)=0
isnan(nan)=1
inf=inf nan=nan
user@m68k-sid:~$ gcc -O1 n.c
user@m68k-sid:~$ ./a.out
isinf(inf)=1
isinf(nan)=0
isnan(inf)=0
isnan(nan)=1
inf=inf nan=nan
user@m68k-sid:~$ gcc -O2 n.c
user@m68k-sid:~$ ./a.out
isinf(inf)=1
isinf(nan)=0
isnan(inf)=0
isnan(nan)=1
inf=inf nan=nan
user@m68k-sid:~$ gcc -O3 n.c
user@m68k-sid:~$ ./a.out
isinf(inf)=1
isinf(nan)=0
isnan(inf)=0
isnan(nan)=1
inf=inf nan=nan
user@m68k-sid:~$
-- System Information:
Debian Release: bookworm/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: m68k
Kernel: Linux 5.13.0-37-generic (SMP w/4 CPU threads)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages gcc-11 depends on:
ii binutils 2.38-2
ii cpp-11 11.2.0-18
ii gcc-11-base 11.2.0-18
ii libc6 2.33-2+qemu1
ii libcc1-0 12-20220319-1
ii libgcc-11-dev 11.2.0-18
ii libgcc-s2 12-20220319-1
ii libgmp10 2:6.2.1+dfsg-3
ii libisl23 0.24-2
ii libmpc3 1.2.1-1
ii libmpfr6 4.1.0-3
ii libstdc++6 12-20220319-1
ii libzstd1 1.4.9+dfsg-1
ii zlib1g 1:1.2.11.dfsg-3
Versions of packages gcc-11 recommends:
ii libc6-dev 2.33-2+qemu1
Versions of packages gcc-11 suggests:
pn gcc-11-doc <none>
pn gcc-11-locales <none>
-- no debconf information
Reply to: