autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HP-UX 10.20 breakage in 2.57


From: Paul Eggert
Subject: Re: HP-UX 10.20 breakage in 2.57
Date: Mon, 23 Dec 2002 00:06:26 -0800 (PST)

> Date: Sun, 22 Dec 2002 22:21:20 -0600
> From: Albert Chin <address@hidden>
> 
> Under, HP-UX 10.20, #include <limits.h> brings in <sys/time.h> which
> defines a prototype for gettimeofday().

How bizarre.  What other functions (besides gettimeofday) does
<limits.h> define?

Is there any symbol that we can define before including <limits.h>,
so that <limits.h> does not declare these undesirable prototypes?
For example, suppose we "#define _POSIX_C_SOURCE 200112L" first.
Does that make the problem go away?

Does the following patch fix things?

--- c.m4        2002-12-02 22:59:53.000000000 -0800
+++ /tmp/c.m4   2002-12-23 00:03:17.535948269 -0800
@@ -176,15 +176,23 @@
 #
 m4_define([AC_LANG_FUNC_LINK_TRY(C)],
 [AC_LANG_PROGRAM(
-[/* System header to define __stub macros and hopefully few prototypes,
+[/* Define $1 to an innocuous variant, in case <limits.h> declares $1.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $1 innocuous_$1
+
+/* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $1 (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
+
+#undef $1
+
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
 extern "C"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]