summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2002-04-17 05:37:05 +0000
committerDanny Smith <dannysmith@users.sourceforge.net>2002-04-17 05:37:05 +0000
commit8a32980a3d0f0ee0487c65ca760971dea46f2336 (patch)
treed6e72153548d6bbdea3e6bb2c47323fef936d50c
parentf920e3d5e21d6a6822ab29d180e4c8611113c1da (diff)
downloadgdb-8a32980a3d0f0ee0487c65ca760971dea46f2336.tar.gz
* Makefile.in (INCLUDES): Add "-iwithprefixbefore include" to
ensure gcc include dir is searched despite -nostdinc. * profile/Makefile.in (INCLUDES): Likewise. * mingwex/Makefile.in (INCLUDES): Likewise. * include/stdarg.h: Replace with stub that just guards the real gcc system header with #ifndef RCINVOKED * include/varargs.h: Likewise. * include/stddef.h: Likewise. * include/stdio.h: Include stdarg.h after defining __need___va_list. (__VALIST): Define as __gnuc_va_list if __GNUC__, else char*. Replace va_list with __VALIST throughout.
-rw-r--r--winsup/mingw/ChangeLog15
-rw-r--r--winsup/mingw/Makefile.in3
-rw-r--r--winsup/mingw/include/stdarg.h7
-rw-r--r--winsup/mingw/include/stddef.h7
-rw-r--r--winsup/mingw/include/stdio.h43
-rw-r--r--winsup/mingw/include/varargs.h7
-rw-r--r--winsup/mingw/mingwex/Makefile.in3
-rw-r--r--winsup/mingw/profile/Makefile.in3
8 files changed, 61 insertions, 27 deletions
diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog
index cdfe46e549d..8d1fdb065ee 100644
--- a/winsup/mingw/ChangeLog
+++ b/winsup/mingw/ChangeLog
@@ -1,5 +1,20 @@
2002-04-17 Danny Smith <dannysmith@users.sourceforge.net>
+ * Makefile.in (INCLUDES): Add "-iwithprefixbefore include" to
+ ensure gcc include dir is searched despite -nostdinc.
+ * profile/Makefile.in (INCLUDES): Likewise.
+ * mingwex/Makefile.in (INCLUDES): Likewise.
+ * include/stdarg.h: Replace with stub that just guards the
+ real gcc system header with #ifndef RCINVOKED
+ * include/varargs.h: Likewise.
+ * include/stddef.h: Likewise.
+ * include/stdio.h: Include stdarg.h after defining
+ __need___va_list.
+ (__VALIST): Define as __gnuc_va_list if __GNUC__, else char*.
+ Replace va_list with __VALIST throughout.
+
+2002-04-17 Danny Smith <dannysmith@users.sourceforge.net>
+
* crt1.c: Revert changes of 2002-04-16. Use _fpreset again.
* msvcrt.def (_fpreset): Mark as DATA so that only
_imp___fpreset is exported.
diff --git a/winsup/mingw/Makefile.in b/winsup/mingw/Makefile.in
index 1f9234486d3..6c81ba8f779 100644
--- a/winsup/mingw/Makefile.in
+++ b/winsup/mingw/Makefile.in
@@ -96,7 +96,8 @@ LIBM_A=@LIBM_A@
INCLUDES = -I$(srcdir)/include -I$(srcdir)/../w32api/include \
-I$(srcdir)/../include \
- -nostdinc -nostdinc++
+ -nostdinc -nostdinc++ \
+ -iwithprefixbefore include
ALL_CFLAGS = $(CFLAGS) $(INCLUDES) $(MNO_CYGWIN)
ALL_CXXFLAGS = $(CXXFLAGS) $(INCLUDES) $(MNO_CYGWIN)
diff --git a/winsup/mingw/include/stdarg.h b/winsup/mingw/include/stdarg.h
new file mode 100644
index 00000000000..90a2d95a04a
--- /dev/null
+++ b/winsup/mingw/include/stdarg.h
@@ -0,0 +1,7 @@
+/*
+ * This is just an RC_INVOKED guard for the real stdarg.h
+ * fixincluded in gcc system dir. One day we will delete this file.
+ */
+#ifndef RC_INVOKED
+#include_next<stdarg.h>
+#endif
diff --git a/winsup/mingw/include/stddef.h b/winsup/mingw/include/stddef.h
new file mode 100644
index 00000000000..ef9d5ffe4b3
--- /dev/null
+++ b/winsup/mingw/include/stddef.h
@@ -0,0 +1,7 @@
+/*
+ * This is just an RC_INVOKED guard for the real stddef.h
+ * fixincluded in gcc system dir. One day we will delete this file.
+ */
+#ifndef RC_INVOKED
+#include_next<stddef.h>
+#endif
diff --git a/winsup/mingw/include/stdio.h b/winsup/mingw/include/stdio.h
index 7a09250fbb6..88433d340fd 100644
--- a/winsup/mingw/include/stdio.h
+++ b/winsup/mingw/include/stdio.h
@@ -34,12 +34,14 @@
/* All the headers include this file. */
#include <_mingw.h>
+#ifndef RC_INVOKED
#define __need_size_t
#define __need_NULL
#define __need_wchar_t
#define __need_wint_t
-#ifndef RC_INVOKED
#include <stddef.h>
+#define __need___va_list
+#include <stdarg.h>
#endif /* Not RC_INVOKED */
@@ -122,19 +124,12 @@
#ifndef RC_INVOKED
-/*
- * I used to include stdarg.h at this point, in order to allow for the
- * functions later on in the file which use va_list. That conflicts with
- * using stdio.h and varargs.h in the same file, so I do the typedef myself.
- */
-#ifndef _VA_LIST
-#define _VA_LIST
-#if defined __GNUC__ && __GNUC__ >= 3
-typedef __builtin_va_list va_list;
+#ifdef __GNUC__
+#define __VALIST __gnuc_va_list
#else
-typedef char* va_list;
-#endif
+#define __VALIST char*
#endif
+
/*
* The structure underlying the FILE type.
*
@@ -211,15 +206,15 @@ int fprintf (FILE*, const char*, ...);
int printf (const char*, ...);
int sprintf (char*, const char*, ...);
int _snprintf (char*, size_t, const char*, ...);
-int vfprintf (FILE*, const char*, va_list);
-int vprintf (const char*, va_list);
-int vsprintf (char*, const char*, va_list);
-int _vsnprintf (char*, size_t, const char*, va_list);
+int vfprintf (FILE*, const char*, __VALIST);
+int vprintf (const char*, __VALIST);
+int vsprintf (char*, const char*, __VALIST);
+int _vsnprintf (char*, size_t, const char*, __VALIST);
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
int snprintf(char* s, size_t n, const char* format, ...);
extern inline int vsnprintf (char* s, size_t n, const char* format,
- va_list arg)
+ __VALIST arg)
{ return _vsnprintf ( s, n, format, arg); }
#endif
@@ -340,10 +335,10 @@ int fwprintf (FILE*, const wchar_t*, ...);
int wprintf (const wchar_t*, ...);
int swprintf (wchar_t*, const wchar_t*, ...);
int _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
-int vfwprintf (FILE*, const wchar_t*, va_list);
-int vwprintf (const wchar_t*, va_list);
-int vswprintf (wchar_t*, const wchar_t*, va_list);
-int _vsnwprintf (wchar_t*, size_t, const wchar_t*, va_list);
+int vfwprintf (FILE*, const wchar_t*, __VALIST);
+int vwprintf (const wchar_t*, __VALIST);
+int vswprintf (wchar_t*, const wchar_t*, __VALIST);
+int _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST);
int fwscanf (FILE*, const wchar_t*, ...);
int wscanf (const wchar_t*, ...);
int swscanf (const wchar_t*, const wchar_t*, ...);
@@ -372,9 +367,9 @@ FILE* _wpopen (const wchar_t*, const wchar_t*);
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
int snwprintf(wchar_t* s, size_t n, const wchar_t* format, ...);
-extern inline int vsnwprintf (wchar_t* s, size_t n, const wchar_t* format,
- va_list arg)
- { return _vsnwprintf ( s, n, format, arg); }
+extern inline int
+vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg)
+ { return _vsnwprintf ( s, n, format, arg);}
#endif
#define _WSTDIO_DEFINED
diff --git a/winsup/mingw/include/varargs.h b/winsup/mingw/include/varargs.h
new file mode 100644
index 00000000000..c1197e97e2b
--- /dev/null
+++ b/winsup/mingw/include/varargs.h
@@ -0,0 +1,7 @@
+/*
+ * This is just an RC_INVOKED guard for the real varargs.h
+ * fixincluded in gcc system dir. One day we will delete this file.
+ */
+#ifndef RC_INVOKED
+#include_next<varargs.h>
+#endif
diff --git a/winsup/mingw/mingwex/Makefile.in b/winsup/mingw/mingwex/Makefile.in
index a358c06b77d..ea79fbabc71 100644
--- a/winsup/mingw/mingwex/Makefile.in
+++ b/winsup/mingw/mingwex/Makefile.in
@@ -98,7 +98,8 @@ MNO_CYGWIN = @MNO_CYGWIN@
INCLUDES = -I$(srcdir) -I$(srcdir)/../include \
-I$(srcdir)/../../w32api/include \
- -nostdinc -nostdinc++
+ -nostdinc -nostdinc++ \
+ -iwithprefixbefore include
ALL_CFLAGS = $(CFLAGS) $(OPTFLAGS) $(INCLUDES) $(MNO_CYGWIN)
ALL_CXXFLAGS = $(CXXFLAGS) $(OPTFLAGS) $(INCLUDES) $(MNO_CYGWIN)
diff --git a/winsup/mingw/profile/Makefile.in b/winsup/mingw/profile/Makefile.in
index eb89fe24df3..c7f3a0c7f0a 100644
--- a/winsup/mingw/profile/Makefile.in
+++ b/winsup/mingw/profile/Makefile.in
@@ -49,7 +49,8 @@ THREAD_DLL_NAME = $(THREAD_DLL)$(THREAD_DLL_VERSION).dll
INCLUDES = -I$(srcdir) -I$(srcdir)/../include \
-I$(srcdir)/../../w32api/include \
- -nostdinc -nostdinc++
+ -nostdinc -nostdinc++ \
+ -iwithprefixbefore include
ALL_CFLAGS = $(CFLAGS) $(INCLUDES) $(MNO_CYGWIN)
ALL_CXXFLAGS = $(CXXFLAGS) $(INCLUDES) $(MNO_CYGWIN)