Re: Missing <stdlib.h> include in lib/autoconf/c.m4

Sam James <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.bugs
Message-ID <[email protected]>

> On 5 Nov 2022, at 05:07, Sam James <[email protected]> wrote:
> 
> Hello,
> 
> When working on Clang 16 (and presumably GCC 14) porting [0], I noticed the following
> when building GNU grep 3.8:
> ```
> configure:6215: checking for clang-16 option to enable C11 features
> configure:6230: clang-16  -c -g -O2  conftest.c >&5
> conftest.c:26:14: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
> static char *e (p, i)
>             ^
> conftest.c:246:3: error: call to undeclared library function 'free' with type 'void (void *)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
>  free (ia);
>  ^
> conftest.c:246:3: note: include the header <stdlib.h> or explicitly provide a declaration for 'free'
> 1 warning and 1 error generated.
> [...]
> ```

I would send a patch for the original issue but I'm wondering how to handle freestanding (see big comment above _AC_C_C89_TEST_GLOBALS).

We need another one (<assert.h>) I think for _Static_assert in _AC_C_C11_TEST_GLOBALS too, up until C23?

> 
> Tracing it through, it looks like there's a missing <stdlib.h> include for free() in autoconf's lib/autoconf/c.m4 (_AC_C_C99_TEST_GLOBALS).
> 
> [0] https://lwn.net/Articles/913505/
> [1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
> 
> Best,
> sam
signature.asc (application/pgp-signature, 358 B)
-----BEGIN PGP SIGNATURE-----

iNUEARYKAH0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCY2blj18UgAAAAAAuAChp
c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB
NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MAAKCRBzhAn1IN+R
kBPJAP9fCQS96ohb1pRKH1+uorVlhQ0ZV27b6lg4R0aAL/pf7QD/dAiP+QrmhbiL
7C2LSoTdbdkvQDgUOM8Ouu3Da6ZyJgo=
=f4EA
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.