summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatthew <matthew@openbsd.org>2011-03-02 18:31:58 +0000
committermatthew <matthew@openbsd.org>2011-03-02 18:31:58 +0000
commit7f8d7838f6074f882f7b4ce8f28f718d89cda3b0 (patch)
tree60b526546cc9ecb4a21a5a0815d0838c72ae3538
parentDon't use a flag value as index into the 2 element array on_off. (diff)
downloadwireguard-openbsd-7f8d7838f6074f882f7b4ce8f28f718d89cda3b0.tar.xz
wireguard-openbsd-7f8d7838f6074f882f7b4ce8f28f718d89cda3b0.zip
Change va_arg and va_end definitions from object-like macros to
function-like macros. Allows (questionable but legal) use of "va_arg" as a local variable name in code that includes <stdarg.h>. "seems right" deraadt@
-rw-r--r--sys/arch/arm/include/stdarg.h6
-rw-r--r--sys/arch/sh/include/stdarg.h6
-rw-r--r--sys/sys/stdarg.h6
3 files changed, 9 insertions, 9 deletions
diff --git a/sys/arch/arm/include/stdarg.h b/sys/arch/arm/include/stdarg.h
index 32312c7ddb7..6161c58b8ce 100644
--- a/sys/arch/arm/include/stdarg.h
+++ b/sys/arch/arm/include/stdarg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: stdarg.h,v 1.7 2008/10/23 21:25:07 kettenis Exp $ */
+/* $OpenBSD: stdarg.h,v 1.8 2011/03/02 18:31:58 matthew Exp $ */
/* $NetBSD: stdarg.h,v 1.7 2003/08/07 16:26:53 agc Exp $ */
/*
@@ -49,8 +49,8 @@ typedef __va_list va_list;
#define va_start(ap, last) __builtin_stdarg_start((ap), (last))
-#define va_arg __builtin_va_arg
-#define va_end __builtin_va_end
+#define va_arg(ap, type) __builtin_va_arg((ap), type)
+#define va_end(ap) __builtin_va_end((ap))
#define __va_copy(dest, src) __builtin_va_copy((dest), (src))
#endif /* !_ARM32_STDARG_H_ */
diff --git a/sys/arch/sh/include/stdarg.h b/sys/arch/sh/include/stdarg.h
index d5b02372f46..9b51419cb51 100644
--- a/sys/arch/sh/include/stdarg.h
+++ b/sys/arch/sh/include/stdarg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: stdarg.h,v 1.2 2008/10/23 21:25:07 kettenis Exp $ */
+/* $OpenBSD: stdarg.h,v 1.3 2011/03/02 18:31:58 matthew Exp $ */
/* $NetBSD: stdarg.h,v 1.9 2006/05/21 22:39:04 uwe Exp $ */
/*
@@ -49,8 +49,8 @@ typedef __va_list va_list;
#endif
#define va_start(ap, last) __builtin_stdarg_start((ap), (last))
-#define va_arg __builtin_va_arg
-#define va_end __builtin_va_end
+#define va_arg(ap, type) __builtin_va_arg((ap), type)
+#define va_end(ap) __builtin_va_end((ap))
#define __va_copy(dest, src) __builtin_va_copy((dest), (src))
#endif /* !_SH_STDARG_H_ */
diff --git a/sys/sys/stdarg.h b/sys/sys/stdarg.h
index bd6d63096d4..ee2090090bc 100644
--- a/sys/sys/stdarg.h
+++ b/sys/sys/stdarg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: stdarg.h,v 1.7 2009/09/17 20:46:55 jsg Exp $ */
+/* $OpenBSD: stdarg.h,v 1.8 2011/03/02 18:31:58 matthew Exp $ */
/*
* Copyright (c) 2003, 2004 Marc espie <espie@openbsd.org>
*
@@ -34,8 +34,8 @@ typedef __builtin_va_list __gnuc_va_list;
Thus, va_arg (..., short) is not valid. */
#define va_start(ap, last) __builtin_va_start((ap), last)
-#define va_end __builtin_va_end
-#define va_arg __builtin_va_arg
+#define va_end(ap) __builtin_va_end((ap))
+#define va_arg(ap, type) __builtin_va_arg((ap), type)
#define __va_copy(dst, src) __builtin_va_copy((dst),(src))
typedef __gnuc_va_list va_list;