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:
parent
0aec205c3b
commit
b397e31bd8
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
Loading…
Reference in New Issue