aboutsummaryrefslogtreecommitdiff
path: root/sys/i386/include/stdarg.h
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1995-01-24 16:22:52 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1995-01-24 16:22:52 +0000
commitea4a8be8c28ac688bb7a0ba2f4afab8f282b935e (patch)
tree24b79046f6a241e695636b14493a8769ed9cf374 /sys/i386/include/stdarg.h
parent83a8b44d6f5e6633ae5be3e71c1ea89376a01c49 (diff)
downloadsrc-ea4a8be8c28ac688bb7a0ba2f4afab8f282b935e.tar.gz
src-ea4a8be8c28ac688bb7a0ba2f4afab8f282b935e.zip
Fix stdarg.h for GNU C using builtin_next_arg
Notes
Notes: svn path=/head/; revision=5853
Diffstat (limited to 'sys/i386/include/stdarg.h')
-rw-r--r--sys/i386/include/stdarg.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/i386/include/stdarg.h b/sys/i386/include/stdarg.h
index 5880242723b8..0fce3ee8f433 100644
--- a/sys/i386/include/stdarg.h
+++ b/sys/i386/include/stdarg.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)stdarg.h 8.1 (Berkeley) 6/10/93
- * $Id$
+ * $Id: stdarg.h,v 1.5 1994/08/02 07:39:09 davidg Exp $
*/
#ifndef _STDARG_H_
@@ -39,11 +39,16 @@
typedef char *va_list;
+#ifdef __GNUC__
+#define va_start(AP, LASTARG) \
+ (AP = ((va_list) __builtin_next_arg (LASTARG)))
+#else
#define __va_promote(type) \
(((sizeof(type) + sizeof(int) - 1) / sizeof(int)) * sizeof(int))
#define va_start(ap, last) \
- (ap = ((char *)&(last) + __va_promote(last)))
+ (ap = ((va_list)&(last) + __va_promote(last)))
+#endif
#ifdef KERNEL
#define va_arg(ap, type) \