<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Sun, 2010-12-05 at 01:36 -0800, Alan Coopersmith wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
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 &lt;stdlib.h&gt; instead of faking it badly.

Signed-off-by: Alan Coopersmith &lt;<A HREF="mailto:alan.coopersmith@oracle.com">alan.coopersmith@oracle.com</A>&gt;
---
 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 &quot;x$MALLOC_ZERO_RETURNS_NULL&quot; = xauto; then
-        AC_RUN_IFELSE([
-char *malloc();
-char *realloc();
-char *calloc();
-main() {
+        AC_RUN_IFELSE([AC_LANG_PROGRAM([
+#include &lt;stdlib.h&gt;
+],[
     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])
</PRE>
</BLOCKQUOTE>
<BR>
Reviewed-by: <TT><FONT COLOR="#1a1a1a">Gaetan Nadon &lt;<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>&gt;</FONT></TT><BR>
<BR>
Tested with 2.63. There was no warning.<BR>
<BR>
<BR>
I keep seeing this all the time in config.log (not because of this patch):
<BLOCKQUOTE>
<PRE>
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'
</PRE>
</BLOCKQUOTE>
Seems to come from this macro.<BR>
<BR>
<BR>
<BR>
<BR>
</BODY>
</HTML>