summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormike <mike@FreeBSD.org>2002-10-06 22:01:07 +0000
committermike <mike@FreeBSD.org>2002-10-06 22:01:07 +0000
commit11edf68c645f68e33d4e6b998494665a80ffa3da (patch)
treea74fb1396ec54dd583afef671267d3002a8580b8
parent662e742e451c19aa5764d21ff9ebb2efee6500e3 (diff)
downloadFreeBSD-src-11edf68c645f68e33d4e6b998494665a80ffa3da.zip
FreeBSD-src-11edf68c645f68e33d4e6b998494665a80ffa3da.tar.gz
o Add conditionals to allow va_list to be defined in other headers.
o Standardize on _MACHINE_STDARG_H_ to allow multiple header includes. o Restrict the definition of va_copy() to C99 environments.
-rw-r--r--sys/alpha/include/stdarg.h14
-rw-r--r--sys/amd64/include/stdarg.h6
-rw-r--r--sys/i386/include/stdarg.h14
-rw-r--r--sys/ia64/include/stdarg.h6
-rw-r--r--sys/powerpc/include/stdarg.h14
-rw-r--r--sys/sparc64/include/stdarg.h6
6 files changed, 49 insertions, 11 deletions
diff --git a/sys/alpha/include/stdarg.h b/sys/alpha/include/stdarg.h
index b14b686..bd67f1f 100644
--- a/sys/alpha/include/stdarg.h
+++ b/sys/alpha/include/stdarg.h
@@ -36,12 +36,16 @@
* $FreeBSD$
*/
-#ifndef _ALPHA_STDARG_H_
-#define _ALPHA_STDARG_H_
+#ifndef _MACHINE_STDARG_H_
+#define _MACHINE_STDARG_H_
+#include <sys/cdefs.h>
#include <sys/_types.h>
-typedef __va_list va_list;
+#ifndef _VA_LIST_DECLARED
+#define _VA_LIST_DECLARED
+typedef __va_list va_list;
+#endif
#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
@@ -51,8 +55,10 @@ typedef __va_list va_list;
#define va_arg(ap, type) \
__builtin_va_arg((ap), type)
+#if __ISO_C_VISIBLE >= 1999
#define va_copy(dest, src) \
__builtin_va_copy((dest), (src))
+#endif
#define va_end(ap) \
__builtin_va_end(ap)
@@ -83,4 +89,4 @@ typedef __va_list va_list;
#endif /* __GNUC__ post GCC 2.95 */
-#endif /* !_ALPHA_STDARG_H_ */
+#endif /* !_MACHINE_STDARG_H_ */
diff --git a/sys/amd64/include/stdarg.h b/sys/amd64/include/stdarg.h
index b7b1954..53985af 100644
--- a/sys/amd64/include/stdarg.h
+++ b/sys/amd64/include/stdarg.h
@@ -31,9 +31,13 @@
#ifndef _MACHINE_STDARG_H_
#define _MACHINE_STDARG_H_
+#include <sys/cdefs.h>
#include <sys/_types.h>
+#ifndef _VA_LIST_DECLARED
+#define _VA_LIST_DECLARED
typedef __va_list va_list;
+#endif
#define va_start(ap, last) \
__builtin_stdarg_start((ap), (last))
@@ -41,8 +45,10 @@ typedef __va_list va_list;
#define va_arg(ap, type) \
__builtin_va_arg((ap), type)
+#if __ISO_C_VISIBLE >= 1999
#define va_copy(dest, src) \
__builtin_va_copy((dest), (src))
+#endif
#define va_end(ap) \
__builtin_va_end(ap)
diff --git a/sys/i386/include/stdarg.h b/sys/i386/include/stdarg.h
index 3ce2f37..246a991 100644
--- a/sys/i386/include/stdarg.h
+++ b/sys/i386/include/stdarg.h
@@ -35,12 +35,16 @@
* $FreeBSD$
*/
-#ifndef _STDARG_H_
-#define _STDARG_H_
+#ifndef _MACHINE_STDARG_H_
+#define _MACHINE_STDARG_H_
+#include <sys/cdefs.h>
#include <sys/_types.h>
-typedef __va_list va_list;
+#ifndef _VA_LIST_DECLARED
+#define _VA_LIST_DECLARED
+typedef __va_list va_list;
+#endif
#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
@@ -50,8 +54,10 @@ typedef __va_list va_list;
#define va_arg(ap, type) \
__builtin_va_arg((ap), type)
+#if __ISO_C_VISIBLE >= 1999
#define va_copy(dest, src) \
__builtin_va_copy((dest), (src))
+#endif
#define va_end(ap) \
__builtin_va_end(ap)
@@ -77,4 +83,4 @@ typedef __va_list va_list;
#endif /* __GNUC__ post GCC 2.95 */
-#endif /* !_STDARG_H_ */
+#endif /* !_MACHINE_STDARG_H_ */
diff --git a/sys/ia64/include/stdarg.h b/sys/ia64/include/stdarg.h
index df9725d..51dde80 100644
--- a/sys/ia64/include/stdarg.h
+++ b/sys/ia64/include/stdarg.h
@@ -38,9 +38,13 @@
#ifndef _MACHINE_STDARG_H_
#define _MACHINE_STDARG_H_
+#include <sys/cdefs.h>
#include <sys/_types.h>
+#ifndef _VA_LIST_DECLARED
+#define _VA_LIST_DECLARED
typedef __va_list va_list;
+#endif
#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
@@ -50,8 +54,10 @@ typedef __va_list va_list;
#define va_arg(ap, type) \
__builtin_va_arg((ap), type)
+#if __ISO_C_VISIBLE >= 1999
#define va_copy(dest, src) \
__builtin_va_copy((dest), (src))
+#endif
#define va_end(ap) \
__builtin_va_end(ap)
diff --git a/sys/powerpc/include/stdarg.h b/sys/powerpc/include/stdarg.h
index 5b5bcb3..75a7bd4 100644
--- a/sys/powerpc/include/stdarg.h
+++ b/sys/powerpc/include/stdarg.h
@@ -28,12 +28,16 @@
* $FreeBSD$
*/
-#ifndef _POWERPC_STDARG_H_
-#define _POWERPC_STDARG_H_
+#ifndef _MACHINE_STDARG_H_
+#define _MACHINE_STDARG_H_
+#include <sys/cdefs.h>
#include <sys/_types.h>
+#ifndef _VA_LIST_DECLARED
+#define _VA_LIST_DECLARED
typedef __va_list va_list;
+#endif
#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
@@ -43,8 +47,10 @@ typedef __va_list va_list;
#define va_arg(ap, type) \
__builtin_va_arg((ap), type)
+#if __ISO_C_VISIBLE >= 1999
#define va_copy(dest, src) \
__builtin_va_copy((dest), (src))
+#endif
#define va_end(ap) \
__builtin_va_end(ap)
@@ -127,13 +133,15 @@ typedef __va_list va_list;
#define va_end(ap)
+#if __ISO_C_VISIBLE >= 1999
#if !defined(_ANSI_SOURCE) && \
(!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) || \
defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L)
#define va_copy(dest, src) \
((dest) = (src))
#endif
+#endif
#endif /* __GNUC__ post GCC 2.95 */
-#endif /* _POWERPC_STDARG_H_ */
+#endif /* _MACHINE_STDARG_H_ */
diff --git a/sys/sparc64/include/stdarg.h b/sys/sparc64/include/stdarg.h
index b148b71..3f8b615 100644
--- a/sys/sparc64/include/stdarg.h
+++ b/sys/sparc64/include/stdarg.h
@@ -41,9 +41,13 @@
#ifndef _MACHINE_STDARG_H_
#define _MACHINE_STDARG_H_
+#include <sys/cdefs.h>
#include <sys/_types.h>
+#ifndef _VA_LIST_DECLARED
+#define _VA_LIST_DECLARED
typedef __va_list va_list;
+#endif
#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
@@ -53,8 +57,10 @@ typedef __va_list va_list;
#define va_arg(ap, type) \
__builtin_va_arg((ap), type)
+#if __ISO_C_VISIBLE >= 1999
#define va_copy(dest, src) \
__builtin_va_copy((dest), (src))
+#endif
#define va_end(ap) \
__builtin_va_end(ap)
OpenPOWER on IntegriCloud