Commit b397e31b by Benjamin Kosnik Committed by Benjamin Kosnik

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
parent 0aec205c
2008-04-28 Benjamin Kosnik <bkoz@redhat.com> 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 PR libstdc++/35887
* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Revert back to just * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Revert back to just
checking for omp.h. checking for omp.h.
......
...@@ -36,12 +36,6 @@ ...@@ -36,12 +36,6 @@
#ifndef _GLIBCXX_CXX_CONFIG_H #ifndef _GLIBCXX_CXX_CONFIG_H
#define _GLIBCXX_CXX_CONFIG_H 1 #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. // The current version of the C++ library in compressed ISO date format.
#define __GLIBCXX__ #define __GLIBCXX__
...@@ -216,6 +210,28 @@ namespace std ...@@ -216,6 +210,28 @@ namespace std
} }
#endif #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" // Defines for C compatibility. In particular, define extern "C"
// linkage only when using C++, same with namespaces. // linkage only when using C++, same with namespaces.
#if __cplusplus #if __cplusplus
...@@ -230,25 +246,13 @@ namespace std ...@@ -230,25 +246,13 @@ namespace std
# define _GLIBCXX_END_NAMESPACE # define _GLIBCXX_END_NAMESPACE
#endif #endif
// Define if compatibility should be provided for -mlong-double-64. // First includes.
#undef _GLIBCXX_LONG_DOUBLE_COMPAT
// XXX GLIBCXX_ABI Deprecated // Pick up any OS-specific definitions.
// Namespace associations for long double 128 mode. #include <bits/os_defines.h>
_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 CPU-specific definitions.
#include <bits/cpu_defines.h>
// Allow use of "export template." This is currently not a feature // Allow use of "export template." This is currently not a feature
// that g++ supports. // that g++ supports.
...@@ -264,7 +268,6 @@ _GLIBCXX_END_NAMESPACE ...@@ -264,7 +268,6 @@ _GLIBCXX_END_NAMESPACE
# define _GLIBCXX_EXTERN_TEMPLATE 1 # define _GLIBCXX_EXTERN_TEMPLATE 1
#endif #endif
// Certain function definitions that are meant to be overridable from // Certain function definitions that are meant to be overridable from
// user code are decorated with this macro. For some targets, this // user code are decorated with this macro. For some targets, this
// macro causes these definitions to be weak. // macro causes these definitions to be weak.
...@@ -272,14 +275,6 @@ _GLIBCXX_END_NAMESPACE ...@@ -272,14 +275,6 @@ _GLIBCXX_END_NAMESPACE
# define _GLIBCXX_WEAK_DEFINITION # define _GLIBCXX_WEAK_DEFINITION
#endif #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 // The remainder of the prewritten config is automatic; all the
// user hooks are listed above. // user hooks are listed above.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment