c++config: Move os_defines and cpu_defines after namespace definitions and base macros.
authorBenjamin Kosnik <bkoz@redhat.com>
Tue, 29 Apr 2008 05:45:00 +0000 (05:45 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 29 Apr 2008 05:45:00 +0000 (05:45 +0000)
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
libstdc++-v3/include/bits/c++config

index 18d308df60fd8f93075beec976d10b8a78fe7790..87f0c6fed8c9986f8ced9380d0cf3ff70adad93b 100644 (file)
@@ -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
index 498bc3202653a70b64473628dea1aaa89a54a4ac..7b2ce7798a12c35378ee24b738a163cf63d6e791 100644 (file)
 #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.