diff options
Diffstat (limited to 'gcc/system.h')
-rw-r--r-- | gcc/system.h | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/gcc/system.h b/gcc/system.h index e10c34f..38733dd 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -194,27 +194,8 @@ extern int fprintf_unlocked (FILE *, const char *, ...); #undef fread_unlocked #undef fwrite_unlocked -/* Include <string> before "safe-ctype.h" to avoid GCC poisoning - the ctype macros through safe-ctype.h */ - -#ifdef __cplusplus -#ifdef INCLUDE_STRING -# include <string> -#endif -#endif - -/* There are an extraordinary number of issues with <ctype.h>. - The last straw is that it varies with the locale. Use libiberty's - replacement instead. */ -#include "safe-ctype.h" - -#include <sys/types.h> - -#include <errno.h> - -#if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO -extern int errno; -#endif +/* Include C++ standard headers before "safe-ctype.h" to avoid GCC + poisoning the ctype macros through safe-ctype.h */ #ifdef __cplusplus #if defined (INCLUDE_ALGORITHM) || !defined (HAVE_SWAP_IN_UTILITY) @@ -229,6 +210,9 @@ extern int errno; #ifdef INCLUDE_SET # include <set> #endif +#ifdef INCLUDE_STRING +# include <string> +#endif #ifdef INCLUDE_VECTOR # include <vector> #endif @@ -245,6 +229,19 @@ extern int errno; # include <type_traits> #endif +/* There are an extraordinary number of issues with <ctype.h>. + The last straw is that it varies with the locale. Use libiberty's + replacement instead. */ +#include "safe-ctype.h" + +#include <sys/types.h> + +#include <errno.h> + +#if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO +extern int errno; +#endif + /* Some of glibc's string inlines cause warnings. Plus we'd rather rely on (and therefore test) GCC's string builtins. */ #define __NO_STRING_INLINES |