https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63311
Mark Wielaard <mark at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mark at gcc dot gnu.org --- Comment #19 from Mark Wielaard <mark at gcc dot gnu.org> --- This still replicates with valgrind 3.18.1 and gcc 11.2.1: $ gcc -O1 -std=c11 -g PR63311.c -lm && valgrind --track-origins=yes ./a.out ==2836066== Memcheck, a memory error detector ==2836066== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==2836066== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info ==2836066== Command: ./a.out ==2836066== ==2836066== Conditional jump or move depends on uninitialised value(s) ==2836066== at 0x4011E2: test (PR63311.c:41) ==2836066== by 0x401223: main (PR63311.c:130) ==2836066== Uninitialised value was created by a stack allocation ==2836066== at 0x40112D: test (PR63311.c:11) ==2836066== ==2836066== ==2836066== HEAP SUMMARY: ==2836066== in use at exit: 0 bytes in 0 blocks ==2836066== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==2836066== ==2836066== All heap blocks were freed -- no leaks are possible ==2836066== ==2836066== For lists of detected and suppressed errors, rerun with: -s ==2836066== ERROR SUMMARY: 4 errors from 1 contexts (suppressed: 0 from 0)