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
This commit is contained in:
Benjamin Kosnik 2008-04-29 05:45:00 +00:00 committed by Benjamin Kosnik
parent 0aec205c3b
commit b397e31bd8
2 changed files with 32 additions and 32 deletions

View 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

View File

@ -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.