]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
build: Move sstream include above safe-ctype.h {PR117771]
authorAndrew Pinski <quic_apinski@quicinc.com>
Mon, 25 Nov 2024 22:03:27 +0000 (14:03 -0800)
committerAndrew Pinski <quic_apinski@quicinc.com>
Mon, 25 Nov 2024 22:36:41 +0000 (14:36 -0800)
sstream in some versions of libstdc++ include locale which might not have been
included yet. safe-ctype.h defines the toupper, tolower, etc. as macros so the
c++ header files needed to be included before hand as comment in system.h says:
/* Include C++ standard headers before "safe-ctype.h" to avoid GCC
   poisoning the ctype macros through safe-ctype.h */

I don't understand how it was working before when memory was included after
safe-ctype.h rather than before. But this makes sstream consistent with the
other C++ headers.

Pushed as obvious after a build for riscv64-elf.

gcc/ChangeLog:

PR target/117771
* system.h: Move the include of sstream above safe-ctype.h.

Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
gcc/system.h

index c209871df72d3046c0b881539815ff220f937bea..57ce22ab893cb1b2dd36356ca704d3d0cce948ba 100644 (file)
@@ -222,6 +222,9 @@ extern int fprintf_unlocked (FILE *, const char *, ...);
 #ifdef INCLUDE_FUNCTIONAL
 # include <functional>
 #endif
+#ifdef INCLUDE_SSTREAM
+# include <sstream>
+#endif
 # include <memory>
 # include <cstring>
 # include <initializer_list>
@@ -764,10 +767,6 @@ private:
 # include <mutex>
 #endif
 
-#ifdef INCLUDE_SSTREAM
-# include <sstream>
-#endif
-
 #ifdef INCLUDE_MALLOC_H
 #if defined(HAVE_MALLINFO) || defined(HAVE_MALLINFO2)
 #include <malloc.h>