[PATCH:xorg-macros] Use AC_LANG_PROGRAM in XORG_CHECK_MALLOC_ZERO to clear autoconf-2.68 warnings
Matt Turner
mattst88 at gmail.com
Sun Dec 5 09:31:02 PST 2010
On Sun, Dec 5, 2010 at 9:36 AM, Alan Coopersmith
<alan.coopersmith at oracle.com> wrote:
> configure.ac:126: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
> ../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from...
> ../../lib/autoconf/general.m4:2730: _AC_RUN_IFELSE is expanded from...
> ../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from...
> ../../lib/autoconf/general.m4:2749: AC_RUN_IFELSE is expanded from...
> aclocal.m4:1952: XORG_CHECK_MALLOC_ZERO is expanded from...
> configure.ac:126: the top level
>
> Also, calloc() takes two arguments, as the compiler points out when
> you #include <stdlib.h> instead of faking it badly.
>
> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
> ---
> xorg-macros.m4.in | 14 ++++++--------
> 1 files changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in
> index fe29881..c7df523 100644
> --- a/xorg-macros.m4.in
> +++ b/xorg-macros.m4.in
> @@ -904,18 +904,16 @@ AC_ARG_ENABLE(malloc0returnsnull,
>
> AC_MSG_CHECKING([whether malloc(0) returns NULL])
> if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
> - AC_RUN_IFELSE([
> -char *malloc();
> -char *realloc();
> -char *calloc();
> -main() {
> + AC_RUN_IFELSE([AC_LANG_PROGRAM([
> +#include <stdlib.h>
> +],[
> char *m0, *r0, *c0, *p;
> m0 = malloc(0);
> p = malloc(10);
> r0 = realloc(p,0);
> - c0 = calloc(0);
> - exit(m0 == 0 || r0 == 0 || c0 == 0 ? 0 : 1);
> -}],
> + c0 = calloc(0,10);
> + exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
> +])],
> [MALLOC_ZERO_RETURNS_NULL=yes],
> [MALLOC_ZERO_RETURNS_NULL=no],
> [MALLOC_ZERO_RETURNS_NULL=yes])
> --
> 1.7.3.2
I'm not particularly familiar with autotools, but this looks good. I
initially thought the malloc(10) was leaking, but now I see that it is
realloc()'d to 0.
Reviewed-by: Matt Turner <mattst88 at gmail.com>
More information about the xorg-devel
mailing list