summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/stdarg.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/include/stdarg.h')
-rw-r--r--sys/i386/include/stdarg.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/i386/include/stdarg.h b/sys/i386/include/stdarg.h
index 128fb33..ce59c7f 100644
--- a/sys/i386/include/stdarg.h
+++ b/sys/i386/include/stdarg.h
@@ -46,7 +46,7 @@
typedef __va_list va_list;
#endif
-#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
+#if (defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3) && !defined(__INTEL_COMPILER))
#define va_start(ap, last) \
__builtin_stdarg_start((ap), (last))
@@ -62,12 +62,12 @@ typedef __va_list va_list;
#define va_end(ap) \
__builtin_va_end(ap)
-#else /* ! __GNUC__ post GCC 2.95 */
+#else /* ! (__GNUC__ post GCC 2.95 || __INTEL_COMPILER) */
#define __va_size(type) \
(((sizeof(type) + sizeof(int) - 1) / sizeof(int)) * sizeof(int))
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
#define va_start(ap, last) \
((ap) = (va_list)__builtin_next_arg(last))
#else /* non-GNU compiler */
@@ -78,6 +78,11 @@ typedef __va_list va_list;
#define va_arg(ap, type) \
(*(type *)((ap) += __va_size(type), (ap) - __va_size(type)))
+#if __ISO_C_VISIBLE >= 1999
+#define va_copy(dest, src) \
+ ((dest) = (src))
+#endif
+
#define va_end(ap)
#endif /* __GNUC__ post GCC 2.95 */
OpenPOWER on IntegriCloud