On Sun, Dec 5, 2010 at 9:36 AM, Alan Coopersmith <[email protected]> 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]) > -- > 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 <[email protected]> _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
