https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98753
Sergei Trofimovich <slyfox at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected],
| |slyfox at gcc dot gnu.org
--- Comment #10 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
Smaller example built from a similar code to cmake:
// gcc-11.0.0 -c bug.c
// `void free(void*)` called on unallocated object `b`
[-Wfree-nonheap-object]
#include <stdlib.h>
int main(void) {
char b[1234];
char * p = b;
#if 0 /* enabled in debug only */
p = (char*)malloc(42);
#endif
if (p != b)
free (p);
}
$ LANG=C gcc-11.0.0 -c bug.c
bug.c: In function 'main':
bug.c:12:9: warning: 'free' called on unallocated object 'b'
[-Wfree-nonheap-object]
12 | free (p);
| ^~~~~~~~
bug.c:6:10: note: declared here
6 | char b[1234];
| ^
gcc version 11.0.0 20210112 (experimental) (commit
cfaaa6a1ca744c1a93fa08a3e7ab2a821383cac1)