<!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 <stdlib.h> instead of faking it badly.
Signed-off-by: Alan Coopersmith <<A HREF="mailto:alan.coopersmith@oracle.com">alan.coopersmith@oracle.com</A>>
---
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])
</PRE>
</BLOCKQUOTE>
<BR>
Reviewed-by: <TT><FONT COLOR="#1a1a1a">Gaetan Nadon <<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>></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>