https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88889
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- Fixed with: $ gcc lib1560.c -O2 && valgrind --expensive-definedness-checks=yes ./a.out ==15329== Memcheck, a memory error detector ==15329== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==15329== Using Valgrind-3.14.0 and LibVEX; rerun with -h for copyright info ==15329== Command: ./a.out ==15329== part:a ==15329== ==15329== HEAP SUMMARY: ==15329== in use at exit: 0 bytes in 0 blocks ==15329== total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated ==15329== ==15329== All heap blocks were freed -- no leaks are possible ==15329== ==15329== For counts of detected and suppressed errors, rerun with: -v ==15329== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)