From b397e31bd8dcc8b2c112a57e7dca2785cdbf569f Mon Sep 17 00:00:00 2001
From: Benjamin Kosnik <bkoz@redhat.com>
Date: Tue, 29 Apr 2008 05:45:00 +0000
Subject: [PATCH] c++config: Move os_defines and cpu_defines after namespace
 definitions and base macros.

2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Move os_defines and cpu_defines after
	namespace definitions and base macros.

From-SVN: r134779
---
 libstdc++-v3/ChangeLog              |  5 +++
 libstdc++-v3/include/bits/c++config | 59 +++++++++++++----------------
 2 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 18d308df60fd..87f0c6fed8c9 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>
+
+	* include/bits/c++config: Move os_defines and cpu_defines after
+	namespace definitions and base macros.
+
 2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>
 
 	PR libstdc++/35887
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index 498bc3202653..7b2ce7798a12 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -36,12 +36,6 @@
 #ifndef _GLIBCXX_CXX_CONFIG_H
 #define _GLIBCXX_CXX_CONFIG_H 1
 
-// Pick up any OS-specific definitions.
-#include <bits/os_defines.h>
-
-// Pick up any CPU-specific definitions.
-#include <bits/cpu_defines.h>
-
 // The current version of the C++ library in compressed ISO date format.
 #define __GLIBCXX__ 
 
@@ -216,6 +210,28 @@ namespace std
 }
 #endif
 
+// XXX GLIBCXX_ABI Deprecated
+// Define if compatibility should be provided for -mlong-double-64
+#if defined __cplusplus && defined __LONG_DOUBLE_128__ 
+# undef _GLIBCXX_LONG_DOUBLE_COMPAT
+#endif
+
+// Namespace associations for long double 128 mode.
+#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
+namespace std
+{
+  inline namespace __gnu_cxx_ldbl128 { }
+}
+# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128::
+# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 {
+# define _GLIBCXX_END_LDBL_NAMESPACE }
+#else
+# define _GLIBCXX_LDBL_NAMESPACE
+# define _GLIBCXX_BEGIN_LDBL_NAMESPACE
+# define _GLIBCXX_END_LDBL_NAMESPACE
+#endif
+
+
 // Defines for C compatibility. In particular, define extern "C"
 // linkage only when using  C++, same with namespaces.
 #if __cplusplus
@@ -230,25 +246,13 @@ namespace std
 # define _GLIBCXX_END_NAMESPACE 
 #endif
 
-// Define if compatibility should be provided for -mlong-double-64.
-#undef _GLIBCXX_LONG_DOUBLE_COMPAT
+// First includes.
 
-// XXX GLIBCXX_ABI Deprecated
-// Namespace associations for long double 128 mode.
-_GLIBCXX_BEGIN_NAMESPACE(std)
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ \
-  && defined __cplusplus
-# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128::
-# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 {
-# define _GLIBCXX_END_LDBL_NAMESPACE }
-  inline namespace __gnu_cxx_ldbl128 { }
-#else
-# define _GLIBCXX_LDBL_NAMESPACE
-# define _GLIBCXX_BEGIN_LDBL_NAMESPACE
-# define _GLIBCXX_END_LDBL_NAMESPACE
-#endif
-_GLIBCXX_END_NAMESPACE
+// Pick up any OS-specific definitions.
+#include <bits/os_defines.h>
 
+// Pick up any CPU-specific definitions.
+#include <bits/cpu_defines.h>
 
 // Allow use of "export template." This is currently not a feature
 // that g++ supports.
@@ -264,7 +268,6 @@ _GLIBCXX_END_NAMESPACE
 # define _GLIBCXX_EXTERN_TEMPLATE 1
 #endif
 
-
 // Certain function definitions that are meant to be overridable from
 // user code are decorated with this macro.  For some targets, this
 // macro causes these definitions to be weak.
@@ -272,14 +275,6 @@ _GLIBCXX_END_NAMESPACE
 # define _GLIBCXX_WEAK_DEFINITION
 #endif
 
-// Macro used to indicate that the native "C" includes, when compiled
-// as "C++", have declarations in namespace std and not the global
-// namespace. Note, this is unrelated to possible "C" compatibility
-// includes that inject C90/C99 names into the global namespace.
-#if __cplusplus == 199711L
-# define _GLIBCXX_NAMESPACE_GLOBAL_INJECTION 1
-#endif
-
 // The remainder of the prewritten config is automatic; all the
 // user hooks are listed above.
 
-- 
GitLab