On Sun, 2010-12-05 at 01:36 -0800, Alan Coopersmith 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 <[email protected]> > --- > 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])
Reviewed-by: Gaetan Nadon <[email protected]> Tested with 2.63. There was no warning. I keep seeing this all the time in config.log (not because of this patch): conftest.c:2: warning: conflicting types for built-in function 'malloc' conftest.c:3: warning: conflicting types for built-in function 'realloc' conftest.c:4: warning: conflicting types for built-in function 'calloc' conftest.c: In function 'main': conftest.c:11: warning: incompatible implicit declaration of built-in function 'exit' Seems to come from this macro.
signature.asc
Description: This is a digitally signed message part
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
