bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Sam James
Subject: Re: Missing <stdlib.h> include in lib/autoconf/c.m4
Date: Sat, 5 Nov 2022 22:37:02 +0000


> On 5 Nov 2022, at 05:07, Sam James <sam@gentoo.org> 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

Attachment: signature.asc
Description: Message signed with OpenPGP


reply via email to

[Prev in Thread] Current Thread [Next in Thread]