about summary refs log tree commit diff
path: root/libio
diff options
context:
space:
mode:
Diffstat (limited to 'libio')
-rw-r--r--libio/stdio.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/libio/stdio.h b/libio/stdio.h
index af9ab952eb..4c8cea62dc 100644
--- a/libio/stdio.h
+++ b/libio/stdio.h
@@ -32,9 +32,6 @@ __BEGIN_DECLS
 # define __need_NULL
 # include <stddef.h>
 
-# define __need___va_list
-# include <stdarg.h>
-
 # include <bits/types.h>
 # define __need_FILE
 # define __need___FILE
@@ -66,6 +63,17 @@ typedef struct _IO_FILE __FILE;
 
 #include <libio.h>
 
+#ifdef __USE_XOPEN
+# ifdef __GNUC__
+#  ifndef _VA_LIST_DEFINED
+typedef _G_va_list va_list;
+#   define _VA_LIST_DEFINED
+#  endif
+# else
+#  include <stdarg.h>
+# endif
+#endif
+
 /* The type of the second argument to `fgetpos' and `fsetpos'.  */
 #ifndef __USE_FILE_OFFSET64
 typedef _G_fpos_t fpos_t;