aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8.1/libstdc++-v3/include/bits/c++config
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.8.1/libstdc++-v3/include/bits/c++config')
-rw-r--r--gcc-4.8.1/libstdc++-v3/include/bits/c++config459
1 files changed, 0 insertions, 459 deletions
diff --git a/gcc-4.8.1/libstdc++-v3/include/bits/c++config b/gcc-4.8.1/libstdc++-v3/include/bits/c++config
deleted file mode 100644
index 04ae4cb7c..000000000
--- a/gcc-4.8.1/libstdc++-v3/include/bits/c++config
+++ /dev/null
@@ -1,459 +0,0 @@
-// Predefined symbols and macros -*- C++ -*-
-
-// Copyright (C) 1997-2013 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-// <http://www.gnu.org/licenses/>.
-
-/** @file bits/c++config.h
- * This is an internal header file, included by other library headers.
- * Do not attempt to use it directly. @headername{iosfwd}
- */
-
-#ifndef _GLIBCXX_CXX_CONFIG_H
-#define _GLIBCXX_CXX_CONFIG_H 1
-
-// The current version of the C++ library in compressed ISO date format.
-#define __GLIBCXX__
-
-// Macros for various attributes.
-// _GLIBCXX_PURE
-// _GLIBCXX_CONST
-// _GLIBCXX_NORETURN
-// _GLIBCXX_NOTHROW
-// _GLIBCXX_VISIBILITY
-#ifndef _GLIBCXX_PURE
-# define _GLIBCXX_PURE __attribute__ ((__pure__))
-#endif
-
-#ifndef _GLIBCXX_CONST
-# define _GLIBCXX_CONST __attribute__ ((__const__))
-#endif
-
-#ifndef _GLIBCXX_NORETURN
-# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__))
-#endif
-
-// See below for C++
-#ifndef _GLIBCXX_NOTHROW
-# ifndef __cplusplus
-# define _GLIBCXX_NOTHROW __attribute__((__nothrow__))
-# endif
-#endif
-
-// Macros for visibility attributes.
-// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
-// _GLIBCXX_VISIBILITY
-#define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
-
-#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
-# define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V)))
-#else
-// If this is not supplied by the OS-specific or CPU-specific
-// headers included below, it will be defined to an empty default.
-# define _GLIBCXX_VISIBILITY(V) _GLIBCXX_PSEUDO_VISIBILITY(V)
-#endif
-
-// Macros for deprecated attributes.
-// _GLIBCXX_USE_DEPRECATED
-// _GLIBCXX_DEPRECATED
-#ifndef _GLIBCXX_USE_DEPRECATED
-# define _GLIBCXX_USE_DEPRECATED 1
-#endif
-
-#if defined(__DEPRECATED) && (__cplusplus >= 201103L)
-# define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))
-#else
-# define _GLIBCXX_DEPRECATED
-#endif
-
-#if __cplusplus
-
-// Macro for constexpr, to support in mixed 03/0x mode.
-#ifndef _GLIBCXX_CONSTEXPR
-# if __cplusplus >= 201103L
-# define _GLIBCXX_CONSTEXPR constexpr
-# define _GLIBCXX_USE_CONSTEXPR constexpr
-# else
-# define _GLIBCXX_CONSTEXPR
-# define _GLIBCXX_USE_CONSTEXPR const
-# endif
-#endif
-
-// Macro for noexcept, to support in mixed 03/0x mode.
-#ifndef _GLIBCXX_NOEXCEPT
-# if __cplusplus >= 201103L
-# define _GLIBCXX_NOEXCEPT noexcept
-# define _GLIBCXX_USE_NOEXCEPT noexcept
-# define _GLIBCXX_THROW(_EXC)
-# else
-# define _GLIBCXX_NOEXCEPT
-# define _GLIBCXX_USE_NOEXCEPT throw()
-# define _GLIBCXX_THROW(_EXC) throw(_EXC)
-# endif
-#endif
-
-#ifndef _GLIBCXX_NOTHROW
-# define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT
-#endif
-
-#ifndef _GLIBCXX_THROW_OR_ABORT
-# if __EXCEPTIONS
-# define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC))
-# else
-# define _GLIBCXX_THROW_OR_ABORT(_EXC) (__builtin_abort())
-# endif
-#endif
-
-// Macro for extern template, ie controling template linkage via use
-// of extern keyword on template declaration. As documented in the g++
-// manual, it inhibits all implicit instantiations and is used
-// throughout the library to avoid multiple weak definitions for
-// required types that are already explicitly instantiated in the
-// library binary. This substantially reduces the binary size of
-// resulting executables.
-// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern
-// templates only in basic_string, thus activating its debug-mode
-// checks even at -O0.
-#define _GLIBCXX_EXTERN_TEMPLATE
-
-/*
- Outline of libstdc++ namespaces.
-
- namespace std
- {
- namespace __debug { }
- namespace __parallel { }
- namespace __profile { }
- namespace __cxx1998 { }
-
- namespace __detail { }
-
- namespace rel_ops { }
-
- namespace tr1
- {
- namespace placeholders { }
- namespace regex_constants { }
- namespace __detail { }
- }
-
- namespace tr2 { }
-
- namespace decimal { }
-
- namespace chrono { }
- namespace placeholders { }
- namespace regex_constants { }
- namespace this_thread { }
- }
-
- namespace abi { }
-
- namespace __gnu_cxx
- {
- namespace __detail { }
- }
-
- For full details see:
- http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespaces.html
-*/
-namespace std
-{
- typedef __SIZE_TYPE__ size_t;
- typedef __PTRDIFF_TYPE__ ptrdiff_t;
-
-#if __cplusplus >= 201103L
- typedef decltype(nullptr) nullptr_t;
-#endif
-}
-
-
-// Defined if inline namespaces are used for versioning.
-#define _GLIBCXX_INLINE_VERSION
-
-// Inline namespace for symbol versioning.
-#if _GLIBCXX_INLINE_VERSION
-
-namespace std
-{
- inline namespace __7 { }
-
- namespace rel_ops { inline namespace __7 { } }
-
- namespace tr1
- {
- inline namespace __7 { }
- namespace placeholders { inline namespace __7 { } }
- namespace regex_constants { inline namespace __7 { } }
- namespace __detail { inline namespace __7 { } }
- }
-
- namespace tr2
- { inline namespace __7 { } }
-
- namespace decimal { inline namespace __7 { } }
-
- namespace chrono { inline namespace __7 { } }
- namespace placeholders { inline namespace __7 { } }
- namespace regex_constants { inline namespace __7 { } }
- namespace this_thread { inline namespace __7 { } }
-
- namespace __detail { inline namespace __7 { } }
-}
-
-namespace __gnu_cxx
-{
- inline namespace __7 { }
- namespace __detail { inline namespace __7 { } }
-}
-# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __7 {
-# define _GLIBCXX_END_NAMESPACE_VERSION }
-#else
-# define _GLIBCXX_BEGIN_NAMESPACE_VERSION
-# define _GLIBCXX_END_NAMESPACE_VERSION
-#endif
-
-
-// Inline namespaces for special modes: debug, parallel, profile.
-#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) \
- || defined(_GLIBCXX_PROFILE)
-namespace std
-{
- // Non-inline namespace for components replaced by alternates in active mode.
- namespace __cxx1998
- {
-#if _GLIBCXX_INLINE_VERSION
- inline namespace __7 { }
-#endif
- }
-
- // Inline namespace for debug mode.
-# ifdef _GLIBCXX_DEBUG
- inline namespace __debug { }
-# endif
-
- // Inline namespaces for parallel mode.
-# ifdef _GLIBCXX_PARALLEL
- inline namespace __parallel { }
-# endif
-
- // Inline namespaces for profile mode
-# ifdef _GLIBCXX_PROFILE
- inline namespace __profile { }
-# endif
-}
-
-// Check for invalid usage and unsupported mixed-mode use.
-# if defined(_GLIBCXX_DEBUG) && defined(_GLIBCXX_PARALLEL)
-# error illegal use of multiple inlined namespaces
-# endif
-# if defined(_GLIBCXX_PROFILE) && defined(_GLIBCXX_DEBUG)
-# error illegal use of multiple inlined namespaces
-# endif
-# if defined(_GLIBCXX_PROFILE) && defined(_GLIBCXX_PARALLEL)
-# error illegal use of multiple inlined namespaces
-# endif
-
-// Check for invalid use due to lack for weak symbols.
-# if __NO_INLINE__ && !__GXX_WEAK__
-# warning currently using inlined namespace mode which may fail \
- without inlining due to lack of weak symbols
-# endif
-#endif
-
-// Macros for namespace scope. Either namespace std:: or the name
-// of some nested namespace within it corresponding to the active mode.
-// _GLIBCXX_STD_A
-// _GLIBCXX_STD_C
-//
-// Macros for opening/closing conditional namespaces.
-// _GLIBCXX_BEGIN_NAMESPACE_ALGO
-// _GLIBCXX_END_NAMESPACE_ALGO
-// _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
-// _GLIBCXX_END_NAMESPACE_CONTAINER
-#if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PROFILE)
-# define _GLIBCXX_STD_C __cxx1998
-# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \
- namespace _GLIBCXX_STD_C { _GLIBCXX_BEGIN_NAMESPACE_VERSION
-# define _GLIBCXX_END_NAMESPACE_CONTAINER \
- _GLIBCXX_END_NAMESPACE_VERSION }
-# undef _GLIBCXX_EXTERN_TEMPLATE
-# define _GLIBCXX_EXTERN_TEMPLATE -1
-#endif
-
-#ifdef _GLIBCXX_PARALLEL
-# define _GLIBCXX_STD_A __cxx1998
-# define _GLIBCXX_BEGIN_NAMESPACE_ALGO \
- namespace _GLIBCXX_STD_A { _GLIBCXX_BEGIN_NAMESPACE_VERSION
-# define _GLIBCXX_END_NAMESPACE_ALGO \
- _GLIBCXX_END_NAMESPACE_VERSION }
-#endif
-
-#ifndef _GLIBCXX_STD_A
-# define _GLIBCXX_STD_A std
-#endif
-
-#ifndef _GLIBCXX_STD_C
-# define _GLIBCXX_STD_C std
-#endif
-
-#ifndef _GLIBCXX_BEGIN_NAMESPACE_ALGO
-# define _GLIBCXX_BEGIN_NAMESPACE_ALGO
-#endif
-
-#ifndef _GLIBCXX_END_NAMESPACE_ALGO
-# define _GLIBCXX_END_NAMESPACE_ALGO
-#endif
-
-#ifndef _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
-# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
-#endif
-
-#ifndef _GLIBCXX_END_NAMESPACE_CONTAINER
-# define _GLIBCXX_END_NAMESPACE_CONTAINER
-#endif
-
-// GLIBCXX_ABI Deprecated
-// Define if compatibility should be provided for -mlong-double-64.
-#undef _GLIBCXX_LONG_DOUBLE_COMPAT
-
-// Inline namespace for long double 128 mode.
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
-namespace std
-{
- inline namespace __gnu_cxx_ldbl128 { }
-}
-# define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ldbl128::
-# define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ldbl128 {
-# define _GLIBCXX_END_NAMESPACE_LDBL }
-#else
-# define _GLIBCXX_NAMESPACE_LDBL
-# define _GLIBCXX_BEGIN_NAMESPACE_LDBL
-# define _GLIBCXX_END_NAMESPACE_LDBL
-#endif
-
-// Assert.
-#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL)
-# define __glibcxx_assert(_Condition)
-#else
-namespace std
-{
- // Avoid the use of assert, because we're trying to keep the <cassert>
- // include out of the mix.
- inline void
- __replacement_assert(const char* __file, int __line,
- const char* __function, const char* __condition)
- {
- __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line,
- __function, __condition);
- __builtin_abort();
- }
-}
-#define __glibcxx_assert(_Condition) \
- do \
- { \
- if (! (_Condition)) \
- std::__replacement_assert(__FILE__, __LINE__, __PRETTY_FUNCTION__, \
- #_Condition); \
- } while (false)
-#endif
-
-// Macros for race detectors.
-// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) and
-// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) should be used to explain
-// atomic (lock-free) synchronization to race detectors:
-// the race detector will infer a happens-before arc from the former to the
-// latter when they share the same argument pointer.
-//
-// The most frequent use case for these macros (and the only case in the
-// current implementation of the library) is atomic reference counting:
-// void _M_remove_reference()
-// {
-// _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount);
-// if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount, -1) <= 0)
-// {
-// _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount);
-// _M_destroy(__a);
-// }
-// }
-// The annotations in this example tell the race detector that all memory
-// accesses occurred when the refcount was positive do not race with
-// memory accesses which occurred after the refcount became zero.
-#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE
-# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A)
-#endif
-#ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER
-# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A)
-#endif
-
-// Macros for C linkage: define extern "C" linkage only when using C++.
-# define _GLIBCXX_BEGIN_EXTERN_C extern "C" {
-# define _GLIBCXX_END_EXTERN_C }
-
-#else // !__cplusplus
-# define _GLIBCXX_BEGIN_EXTERN_C
-# define _GLIBCXX_END_EXTERN_C
-#endif
-
-
-// First includes.
-
-// Pick up any OS-specific definitions.
-#include <bits/os_defines.h>
-
-// Pick up any CPU-specific definitions.
-#include <bits/cpu_defines.h>
-
-// If platform uses neither visibility nor psuedo-visibility,
-// specify empty default for namespace annotation macros.
-#ifndef _GLIBCXX_PSEUDO_VISIBILITY
-# define _GLIBCXX_PSEUDO_VISIBILITY(V)
-#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.
-#ifndef _GLIBCXX_WEAK_DEFINITION
-# define _GLIBCXX_WEAK_DEFINITION
-#endif
-
-
-// The remainder of the prewritten config is automatic; all the
-// user hooks are listed above.
-
-// Create a boolean flag to be used to determine if --fast-math is set.
-#ifdef __FAST_MATH__
-# define _GLIBCXX_FAST_MATH 1
-#else
-# define _GLIBCXX_FAST_MATH 0
-#endif
-
-// This marks string literals in header files to be extracted for eventual
-// translation. It is primarily used for messages in thrown exceptions; see
-// src/functexcept.cc. We use __N because the more traditional _N is used
-// for something else under certain OSes (see BADNAMES).
-#define __N(msgid) (msgid)
-
-// For example, <windows.h> is known to #define min and max as macros...
-#undef min
-#undef max
-
-// End of prewritten config; the settings discovered at configure time follow.