summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2001-10-18 00:27:39 +0000
committerobrien <obrien@FreeBSD.org>2001-10-18 00:27:39 +0000
commit1d7ce16d9a3572244364209ace928055430d9188 (patch)
tree84383ae718384c358c7a75c64216f96bcb9d657b /sys
parent1ee32f686afeb4412e5ee8322eab387bf3f2ac6a (diff)
downloadFreeBSD-src-1d7ce16d9a3572244364209ace928055430d9188.zip
FreeBSD-src-1d7ce16d9a3572244364209ace928055430d9188.tar.gz
Add support for "__gnuc_va_list". Some overly "smart" libraries assume
the existence of the __gnuc_va_list type[*] because our compiler is GCC. [*] __gnuc_va_list is defined in the GCC ginclude/stdarg.h replacement headerwhich we don't use.
Diffstat (limited to 'sys')
-rw-r--r--sys/alpha/include/ansi.h5
-rw-r--r--sys/i386/include/ansi.h8
-rw-r--r--sys/ia64/include/ansi.h8
-rw-r--r--sys/powerpc/include/ansi.h7
-rw-r--r--sys/sparc64/include/ansi.h5
5 files changed, 28 insertions, 5 deletions
diff --git a/sys/alpha/include/ansi.h b/sys/alpha/include/ansi.h
index eb9cfa6..0aa285b 100644
--- a/sys/alpha/include/ansi.h
+++ b/sys/alpha/include/ansi.h
@@ -72,8 +72,11 @@
#define _BSD_OFF_T_ long /* file offset */
#define _BSD_PID_T_ int /* process [group] */
-#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 95)
+#if defined __GNUC__
+#if (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 95)
#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
+#endif
+typedef _BSD_VA_LIST_ __gnuc_va_list; /* compatibility w/GNU headers*/
#else
typedef struct {
char *__base;
diff --git a/sys/i386/include/ansi.h b/sys/i386/include/ansi.h
index 504f1f6..c1ec23b 100644
--- a/sys/i386/include/ansi.h
+++ b/sys/i386/include/ansi.h
@@ -70,7 +70,15 @@
#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
#define _BSD_OFF_T_ __int64_t /* file offset */
#define _BSD_PID_T_ int /* process [group] */
+
+#if defined __GNUC__
+#if (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 95)
+#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
+#endif
+typedef _BSD_VA_LIST_ __gnuc_va_list; /* compatibility w/GNU headers*/
+#else
#define _BSD_VA_LIST_ char * /* va_list */
+#endif /*__GNUC__*/
/*
* The rune type above is declared to be an ``int'' instead of the more natural
diff --git a/sys/ia64/include/ansi.h b/sys/ia64/include/ansi.h
index 395f54e..5715b4e 100644
--- a/sys/ia64/include/ansi.h
+++ b/sys/ia64/include/ansi.h
@@ -71,7 +71,13 @@
#define _BSD_CT_RUNE_T_ int /* arg type for ctype funcs */
#define _BSD_OFF_T_ long /* file offset */
#define _BSD_PID_T_ int /* process [group] */
-#define _BSD_VA_LIST_ __builtin_va_list /* va_list */
+
+#if defined __GNUC__
+#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
+typedef _BSD_VA_LIST_ __gnuc_va_list; /* compatibility w/GNU headers*/
+#else
+#error Must add va_list support for this non-GCC compiler.
+#endif /*__GNUC__*/
/*
* The rune type above is declared to be an ``int'' instead of the more natural
diff --git a/sys/powerpc/include/ansi.h b/sys/powerpc/include/ansi.h
index 733b0d7..7b8a05e 100644
--- a/sys/powerpc/include/ansi.h
+++ b/sys/powerpc/include/ansi.h
@@ -71,8 +71,11 @@
#define _BSD_OFF_T_ __int64_t /* file offset */
#define _BSD_PID_T_ int /* process [group] */
-#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 95)
-#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
+#if defined __GNUC__
+#if (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 95)
+#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
+#endif
+typedef _BSD_VA_LIST_ __gnuc_va_list; /* compatibility w/GNU headers*/
#else
typedef struct {
char __gpr;
diff --git a/sys/sparc64/include/ansi.h b/sys/sparc64/include/ansi.h
index 47f5552..b974eb3 100644
--- a/sys/sparc64/include/ansi.h
+++ b/sys/sparc64/include/ansi.h
@@ -72,8 +72,11 @@
#define _BSD_OFF_T_ long /* file offset */
#define _BSD_PID_T_ int /* process [group] */
-#if defined __GNUC__ && (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 95)
+#if defined __GNUC__
+#if (__GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ > 95)
#define _BSD_VA_LIST_ __builtin_va_list /* internally known to gcc */
+#endif
+typedef _BSD_VA_LIST_ __gnuc_va_list; /* compatibility w/GNU headers*/
#else
#define _BSD_VA_LIST_ char * /* va_list */
#endif /*__GNUC__*/
OpenPOWER on IntegriCloud