diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index a6567999839..9b483a3d20c 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,7 @@
+2012-11-10 Jason Merrill
+
+ * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
+
2012-11-08 François Dumont
PR libstdc++/54075
diff --git a/libstdc++-v3/config/allocator/bitmap_allocator_base.h b/libstdc++-v3/config/allocator/bitmap_allocator_base.h
index 4abe615274b..88fb2b8f742 100644
--- a/libstdc++-v3/config/allocator/bitmap_allocator_base.h
+++ b/libstdc++-v3/config/allocator/bitmap_allocator_base.h
@@ -32,7 +32,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
namespace std
{
/**
diff --git a/libstdc++-v3/config/allocator/malloc_allocator_base.h b/libstdc++-v3/config/allocator/malloc_allocator_base.h
index e40f424b60b..ef6abb77743 100644
--- a/libstdc++-v3/config/allocator/malloc_allocator_base.h
+++ b/libstdc++-v3/config/allocator/malloc_allocator_base.h
@@ -32,7 +32,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
namespace std
{
/**
diff --git a/libstdc++-v3/config/allocator/mt_allocator_base.h b/libstdc++-v3/config/allocator/mt_allocator_base.h
index 66ab6a05245..28397c2a077 100644
--- a/libstdc++-v3/config/allocator/mt_allocator_base.h
+++ b/libstdc++-v3/config/allocator/mt_allocator_base.h
@@ -32,7 +32,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
namespace std
{
/**
diff --git a/libstdc++-v3/config/allocator/new_allocator_base.h b/libstdc++-v3/config/allocator/new_allocator_base.h
index 7a0b71becaf..e65c9ad91a7 100644
--- a/libstdc++-v3/config/allocator/new_allocator_base.h
+++ b/libstdc++-v3/config/allocator/new_allocator_base.h
@@ -32,7 +32,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
namespace std
{
/**
diff --git a/libstdc++-v3/config/allocator/pool_allocator_base.h b/libstdc++-v3/config/allocator/pool_allocator_base.h
index 2fc49e2eccb..83accffd454 100644
--- a/libstdc++-v3/config/allocator/pool_allocator_base.h
+++ b/libstdc++-v3/config/allocator/pool_allocator_base.h
@@ -32,7 +32,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
namespace std
{
/**
diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in
index 3bf306f17f4..9d2ab05c4c6 100644
--- a/libstdc++-v3/doc/doxygen/user.cfg.in
+++ b/libstdc++-v3/doc/doxygen/user.cfg.in
@@ -1701,7 +1701,6 @@ INCLUDE_FILE_PATTERNS =
PREDEFINED = __cplusplus \
__GTHREADS \
_GLIBCXX_HAS_GTHREADS \
- __GXX_EXPERIMENTAL_CXX0X__ \
_GLIBCXX_INCLUDE_AS_CXX0X \
"_GLIBCXX_PURE= " \
"_GLIBCXX_CONST= " \
diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html
index bc62c40cb57..20589f6722b 100644
--- a/libstdc++-v3/doc/html/manual/status.html
+++ b/libstdc++-v3/doc/html/manual/status.html
@@ -153,7 +153,7 @@ In this implementation -std=gnu++11
or
and library
features. See dialect
options. The pre-defined symbol
-__GXX_EXPERIMENTAL_CXX0X__
is used to check for the
+__cplusplus
is used to check for the
presence of the required flag.
This page describes the C++11 support in mainline GCC SVN, not in any
diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
index 6b1ad51cd71..aae3aece62e 100644
--- a/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
+++ b/libstdc++-v3/doc/xml/manual/status_cxx2011.xml
@@ -26,7 +26,7 @@ In this implementation -std=gnu++11 or
and library
features. See dialect
options. The pre-defined symbol
-__GXX_EXPERIMENTAL_CXX0X__ is used to check for the
+__cplusplus is used to check for the
presence of the required flag.
diff --git a/libstdc++-v3/include/backward/auto_ptr.h b/libstdc++-v3/include/backward/auto_ptr.h
index 01702f7b23f..2421791dc4d 100644
--- a/libstdc++-v3/include/backward/auto_ptr.h
+++ b/libstdc++-v3/include/backward/auto_ptr.h
@@ -289,7 +289,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef void element_type;
} _GLIBCXX_DEPRECATED;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template<_Lock_policy _Lp>
template
inline
diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h
index fbec55d0c36..856a8d94860 100644
--- a/libstdc++-v3/include/bits/algorithmfwd.h
+++ b/libstdc++-v3/include/bits/algorithmfwd.h
@@ -35,7 +35,7 @@
#include
#include
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#endif
@@ -190,7 +190,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// adjacent_find
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
bool
all_of(_IIter, _IIter, _Predicate);
@@ -216,7 +216,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_BIter2
copy_backward(_BIter1, _BIter1, _BIter2);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
_OIter
copy_if(_IIter, _IIter, _OIter, _Predicate);
@@ -258,7 +258,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// find_first_of
// find_if
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
_IIter
find_if_not(_IIter, _IIter, _Predicate);
@@ -284,7 +284,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
void
inplace_merge(_BIter, _BIter, _BIter, _Compare);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
bool
is_heap(_RAIter, _RAIter);
@@ -372,7 +372,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// min_element
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
pair
minmax(const _Tp&, const _Tp&);
@@ -424,7 +424,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
bool
next_permutation(_BIter, _BIter, _Compare);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
bool
none_of(_IIter, _IIter, _Predicate);
@@ -443,7 +443,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// partition
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
pair<_OIter1, _OIter2>
@@ -531,7 +531,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// set_symmetric_difference
// set_union
-#if defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#if (__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
template
void
shuffle(_RAIter, _RAIter, _UGenerator&&);
@@ -552,7 +552,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
void
swap(_Tp&, _Tp&)
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
noexcept(__and_,
is_nothrow_move_assignable<_Tp>>::value)
#endif
@@ -561,7 +561,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
void
swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
noexcept(noexcept(swap(*__a, *__b)))
#endif
;
@@ -714,7 +714,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
template
void
random_shuffle(_RAIter, _RAIter,
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_Generator&&);
#else
_Generator&);
diff --git a/libstdc++-v3/include/bits/alloc_traits.h b/libstdc++-v3/include/bits/alloc_traits.h
index 80cc956a6fb..9abadbb77ce 100644
--- a/libstdc++-v3/include/bits/alloc_traits.h
+++ b/libstdc++-v3/include/bits/alloc_traits.h
@@ -30,7 +30,7 @@
#ifndef _ALLOC_TRAITS_H
#define _ALLOC_TRAITS_H 1
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#include
diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h
index 49ba0b5be4f..0989ad88cf0 100644
--- a/libstdc++-v3/include/bits/allocator.h
+++ b/libstdc++-v3/include/bits/allocator.h
@@ -188,7 +188,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ return __one != __two; }
};
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template,
is_nothrow_move_constructible>::value>
diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h
index 24562c462b8..1e3426680fc 100644
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -40,7 +40,7 @@
#include
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#endif
@@ -498,7 +498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
*/
basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc());
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Move construct string.
* @param __str Source string.
@@ -522,7 +522,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* @param __a Allocator to use (default is default allocator).
*/
basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc());
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
/**
* @brief Construct string as copy of a range.
@@ -570,7 +570,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Move assign the value of @a str to this string.
* @param __str Source string.
@@ -596,7 +596,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
this->assign(__l.begin(), __l.size());
return *this;
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
// Iterators:
/**
@@ -673,7 +673,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(this->begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* Returns a read-only (constant) iterator that points to the first
* character in the %string.
@@ -755,7 +755,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
resize(size_type __n)
{ this->resize(__n, _CharT()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/// A non-binding request to reduce capacity() to size().
void
shrink_to_fit()
@@ -890,7 +890,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return _M_data()[__n];
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* Returns a read/write reference to the data at the first
* element of the %string.
@@ -955,7 +955,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Append an initializer_list of characters.
* @param __l The initializer_list of characters to be appended.
@@ -964,7 +964,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
basic_string&
operator+=(initializer_list<_CharT> __l)
{ return this->append(__l.begin(), __l.size()); }
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
/**
* @brief Append a string to this string.
@@ -1022,7 +1022,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
basic_string&
append(size_type __n, _CharT __c);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Append an initializer_list of characters.
* @param __l The initializer_list of characters to append.
@@ -1031,7 +1031,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
basic_string&
append(initializer_list<_CharT> __l)
{ return this->append(__l.begin(), __l.size()); }
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
/**
* @brief Append a range of characters.
@@ -1068,7 +1068,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
basic_string&
assign(const basic_string& __str);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Set value to contents of another string.
* @param __str Source string to use.
@@ -1083,7 +1083,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
this->swap(__str);
return *this;
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
/**
* @brief Set value to a substring of a string.
@@ -1159,7 +1159,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
assign(_InputIterator __first, _InputIterator __last)
{ return this->replace(_M_ibegin(), _M_iend(), __first, __last); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Set value to an initializer_list of characters.
* @param __l The initializer_list of characters to assign.
@@ -1168,7 +1168,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
basic_string&
assign(initializer_list<_CharT> __l)
{ return this->assign(__l.begin(), __l.size()); }
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
/**
* @brief Insert multiple characters.
@@ -1204,7 +1204,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
insert(iterator __p, _InputIterator __beg, _InputIterator __end)
{ this->replace(__p, __p, __beg, __end); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Insert an initializer_list of characters.
* @param __p Iterator referencing location in string to insert at.
@@ -1217,7 +1217,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_DEBUG_PEDASSERT(__p >= _M_ibegin() && __p <= _M_iend());
this->insert(__p - _M_ibegin(), __l.begin(), __l.size());
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
/**
* @brief Insert value of a string.
@@ -1399,7 +1399,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
iterator
erase(iterator __first, iterator __last);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Remove the last character.
*
@@ -1408,7 +1408,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
void
pop_back()
{ erase(size()-1, 1); }
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
/**
* @brief Replace characters with value from another string.
@@ -1676,7 +1676,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__k1.base(), __k2 - __k1);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Replace range of characters with initializer_list.
* @param __i1 Iterator referencing start of range to replace.
@@ -1694,7 +1694,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
basic_string& replace(iterator __i1, iterator __i2,
initializer_list<_CharT> __l)
{ return this->replace(__i1, __i2, __l.begin(), __l.end()); }
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
private:
template
@@ -2426,7 +2426,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return __str;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
inline basic_string<_CharT, _Traits, _Alloc>
operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
@@ -2813,7 +2813,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#if (defined(__GXX_EXPERIMENTAL_CXX0X__) && defined(_GLIBCXX_USE_C99) \
+#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \
&& !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF))
#include
@@ -3030,9 +3030,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#endif /* __GXX_EXPERIMENTAL_CXX0X__ && _GLIBCXX_USE_C99 ... */
+#endif /* C++11 && _GLIBCXX_USE_C99 ... */
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
@@ -3094,6 +3094,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#endif /* __GXX_EXPERIMENTAL_CXX0X__ */
+#endif // C++11
#endif /* _BASIC_STRING_H */
diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc
index 7eff81819f6..726ae6dfbf1 100644
--- a/libstdc++-v3/include/bits/basic_string.tcc
+++ b/libstdc++-v3/include/bits/basic_string.tcc
@@ -231,7 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
: _M_dataplus(_S_construct(__beg, __end, __a), __a)
{ }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
basic_string<_CharT, _Traits, _Alloc>::
basic_string(initializer_list<_CharT> __l, const _Alloc& __a)
diff --git a/libstdc++-v3/include/bits/c++0x_warning.h b/libstdc++-v3/include/bits/c++0x_warning.h
index eb072d00a45..7dc00a1bc06 100644
--- a/libstdc++-v3/include/bits/c++0x_warning.h
+++ b/libstdc++-v3/include/bits/c++0x_warning.h
@@ -28,7 +28,7 @@
#ifndef _CXX0X_WARNING_H
#define _CXX0X_WARNING_H 1
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
#error This file requires compiler and library support for the \
ISO C++ 2011 standard. This support is currently experimental, and must be \
enabled with the -std=c++11 or -std=gnu++11 compiler options.
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index aba931b08cc..279df04d82f 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -78,7 +78,7 @@
# define _GLIBCXX_USE_DEPRECATED 1
#endif
-#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__)
+#if defined(__DEPRECATED) && (__cplusplus >= 201103L)
# define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))
#else
# define _GLIBCXX_DEPRECATED
@@ -88,7 +88,7 @@
// Macro for constexpr, to support in mixed 03/0x mode.
#ifndef _GLIBCXX_CONSTEXPR
-# ifdef __GXX_EXPERIMENTAL_CXX0X__
+# if __cplusplus >= 201103L
# define _GLIBCXX_CONSTEXPR constexpr
# define _GLIBCXX_USE_CONSTEXPR constexpr
# else
@@ -99,7 +99,7 @@
// Macro for noexcept, to support in mixed 03/0x mode.
#ifndef _GLIBCXX_NOEXCEPT
-# ifdef __GXX_EXPERIMENTAL_CXX0X__
+# if __cplusplus >= 201103L
# define _GLIBCXX_NOEXCEPT noexcept
# define _GLIBCXX_USE_NOEXCEPT noexcept
# define _GLIBCXX_THROW(_EXC)
@@ -180,7 +180,7 @@ namespace std
typedef __SIZE_TYPE__ size_t;
typedef __PTRDIFF_TYPE__ ptrdiff_t;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
typedef decltype(nullptr) nullptr_t;
#endif
}
diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h
index 2024a333229..db6862a0146 100644
--- a/libstdc++-v3/include/bits/char_traits.h
+++ b/libstdc++-v3/include/bits/char_traits.h
@@ -372,7 +372,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#if (defined(__GXX_EXPERIMENTAL_CXX0X__) \
+#if ((__cplusplus >= 201103L) \
&& defined(_GLIBCXX_USE_C99_STDINT_TR1))
#include
diff --git a/libstdc++-v3/include/bits/cpp_type_traits.h b/libstdc++-v3/include/bits/cpp_type_traits.h
index 166890fb8fd..ed856e9c354 100644
--- a/libstdc++-v3/include/bits/cpp_type_traits.h
+++ b/libstdc++-v3/include/bits/cpp_type_traits.h
@@ -180,7 +180,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
};
# endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template<>
struct __is_integer
{
@@ -407,7 +407,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef __false_type __type;
};
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
class move_iterator;
diff --git a/libstdc++-v3/include/bits/deque.tcc b/libstdc++-v3/include/bits/deque.tcc
index fcece60c8bb..6f987199a67 100644
--- a/libstdc++-v3/include/bits/deque.tcc
+++ b/libstdc++-v3/include/bits/deque.tcc
@@ -62,7 +62,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
void
deque<_Tp, _Alloc>::
@@ -110,7 +110,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
template
void
@@ -166,7 +166,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return _M_insert_aux(__position, __x);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
template
typename deque<_Tp, _Alloc>::iterator
@@ -303,7 +303,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_M_insert_aux(__pos, __n, __x);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
void
deque<_Tp, _Alloc>::
@@ -430,7 +430,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
// Called only if _M_impl._M_finish._M_cur == _M_impl._M_finish._M_last - 1.
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
void
deque<_Tp, _Alloc>::
@@ -445,7 +445,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node();
__try
{
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
this->_M_impl.construct(this->_M_impl._M_finish._M_cur,
std::forward<_Args>(__args)...);
#else
@@ -464,7 +464,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
// Called only if _M_impl._M_start._M_cur == _M_impl._M_start._M_first.
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
void
deque<_Tp, _Alloc>::
@@ -482,7 +482,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
- 1);
this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
this->_M_impl.construct(this->_M_impl._M_start._M_cur,
std::forward<_Args>(__args)...);
#else
@@ -579,7 +579,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
typename deque<_Tp, _Alloc>::iterator
deque<_Tp, _Alloc>::
@@ -996,7 +996,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return __result;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
_Deque_iterator<_Tp, _Tp&, _Tp*>
move(_Deque_iterator<_Tp, const _Tp&, const _Tp*> __first,
diff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h
index 9efabcf953a..dcd3fccd3b8 100644
--- a/libstdc++-v3/include/bits/forward_list.h
+++ b/libstdc++-v3/include/bits/forward_list.h
@@ -33,7 +33,7 @@
#pragma GCC system_header
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#endif
diff --git a/libstdc++-v3/include/bits/list.tcc b/libstdc++-v3/include/bits/list.tcc
index 727e82d3d8d..066d16011a9 100644
--- a/libstdc++-v3/include/bits/list.tcc
+++ b/libstdc++-v3/include/bits/list.tcc
@@ -72,7 +72,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{
_Node* __tmp = __cur;
__cur = static_cast<_Node*>(__cur->_M_next);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_M_get_Node_allocator().destroy(__tmp);
#else
_M_get_Tp_allocator().destroy(std::__addressof(__tmp->_M_data));
@@ -81,7 +81,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
template
typename list<_Tp, _Alloc>::iterator
@@ -114,7 +114,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return __ret;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
void
list<_Tp, _Alloc>::
@@ -285,7 +285,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
template
void
list<_Tp, _Alloc>::
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
merge(list&& __x)
#else
merge(list& __x)
@@ -319,7 +319,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
template
void
list<_Tp, _Alloc>::
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
merge(list&& __x, _StrictWeakOrdering __comp)
#else
merge(list& __x, _StrictWeakOrdering __comp)
diff --git a/libstdc++-v3/include/bits/move.h b/libstdc++-v3/include/bits/move.h
index 236f0de300a..c19e0b0fe2c 100644
--- a/libstdc++-v3/include/bits/move.h
+++ b/libstdc++-v3/include/bits/move.h
@@ -53,7 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include // Brings in std::declval too.
namespace std _GLIBCXX_VISIBILITY(default)
@@ -164,7 +164,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
inline void
swap(_Tp& __a, _Tp& __b)
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
noexcept(__and_,
is_nothrow_move_assignable<_Tp>>::value)
#endif
@@ -183,7 +183,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
inline void
swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
noexcept(noexcept(swap(*__a, *__b)))
#endif
{
diff --git a/libstdc++-v3/include/bits/postypes.h b/libstdc++-v3/include/bits/postypes.h
index 69235d9a099..71492a543a2 100644
--- a/libstdc++-v3/include/bits/postypes.h
+++ b/libstdc++-v3/include/bits/postypes.h
@@ -231,7 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// File position for wchar_t streams.
typedef fpos wstreampos;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/// File position for char16_t streams.
typedef fpos u16streampos;
/// File position for char32_t streams.
diff --git a/libstdc++-v3/include/bits/ptr_traits.h b/libstdc++-v3/include/bits/ptr_traits.h
index 552f48745f3..33db837c620 100644
--- a/libstdc++-v3/include/bits/ptr_traits.h
+++ b/libstdc++-v3/include/bits/ptr_traits.h
@@ -30,7 +30,7 @@
#ifndef _PTR_TRAITS_H
#define _PTR_TRAITS_H 1
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include // For _GLIBCXX_HAS_NESTED_TYPE
diff --git a/libstdc++-v3/include/bits/range_access.h b/libstdc++-v3/include/bits/range_access.h
index e1b83bfcfca..adfe4509128 100644
--- a/libstdc++-v3/include/bits/range_access.h
+++ b/libstdc++-v3/include/bits/range_access.h
@@ -32,7 +32,7 @@
#pragma GCC system_header
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
namespace std _GLIBCXX_VISIBILITY(default)
{
@@ -100,6 +100,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif // _GLIBCXX_RANGE_ACCESS_H
diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h
index f337e0c07a6..bd513b3b540 100644
--- a/libstdc++-v3/include/bits/stl_algo.h
+++ b/libstdc++-v3/include/bits/stl_algo.h
@@ -63,7 +63,7 @@
#include
#include // for _Temporary_buffer
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include // for std::uniform_int_distribution
#include // for std::bind
#endif
@@ -737,7 +737,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__comp);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Checks that a predicate is true for all the elements
* of a sequence.
@@ -954,7 +954,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return __result;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Copy the elements of a sequence for which a predicate is true.
* @ingroup mutating_algorithms
@@ -3964,7 +3964,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return __result;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Determines whether the elements of a sequence are sorted.
* @ingroup sorting_algorithms
@@ -4413,7 +4413,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
#endif
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
_GLIBCXX_END_NAMESPACE_VERSION
@@ -5238,7 +5238,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
template
void
random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_RandomNumberGenerator&& __rand)
#else
_RandomNumberGenerator& __rand)
diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h
index fe30f6ce9f5..54636e53565 100644
--- a/libstdc++-v3/include/bits/stl_algobase.h
+++ b/libstdc++-v3/include/bits/stl_algobase.h
@@ -74,7 +74,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
// See http://gcc.gnu.org/ml/libstdc++/2004-08/msg00167.html: in a
// nutshell, we are partially implementing the resolution of DR 187,
// when it's safe, i.e., the value_types are equal.
@@ -125,7 +125,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
_ForwardIterator2>)
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
typedef typename iterator_traits<_ForwardIterator1>::value_type
_ValueType1;
typedef typename iterator_traits<_ForwardIterator2>::value_type
@@ -308,7 +308,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
};
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
struct __copy_move
{
@@ -341,7 +341,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
};
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template<>
struct __copy_move
{
@@ -461,7 +461,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__result));
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Moves the range [first,last) into result.
* @ingroup mutating_algorithms
@@ -511,7 +511,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
};
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
struct __copy_move_backward
{
@@ -540,7 +540,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
};
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template<>
struct __copy_move_backward
{
@@ -632,7 +632,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__result));
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Moves the range [first,last) into result.
* @ingroup mutating_algorithms
diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h
index b8d3efbf651..92265cf23d9 100644
--- a/libstdc++-v3/include/bits/stl_bvector.h
+++ b/libstdc++-v3/include/bits/stl_bvector.h
@@ -57,7 +57,7 @@
#ifndef _STL_BVECTOR_H
#define _STL_BVECTOR_H 1
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#endif
@@ -108,7 +108,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ *_M_p ^= _M_mask; }
};
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
inline void
swap(_Bit_reference __x, _Bit_reference __y) noexcept
{
@@ -421,7 +421,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
: _Bit_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage(0)
{ }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_Bvector_impl(_Bit_alloc_type&& __a)
: _Bit_alloc_type(std::move(__a)), _M_start(), _M_finish(),
_M_end_of_storage(0)
@@ -450,7 +450,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_Bvector_base(const allocator_type& __a)
: _M_impl(__a) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_Bvector_base(_Bvector_base&& __x) noexcept
: _M_impl(std::move(__x._M_get_Bit_allocator()))
{
@@ -520,7 +520,7 @@ template
{
typedef _Bvector_base<_Alloc> _Base;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template friend class hash;
#endif
@@ -555,7 +555,7 @@ template
vector(const allocator_type& __a)
: _Base(__a) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
explicit
vector(size_type __n, const allocator_type& __a = allocator_type())
: vector(__n, false, __a)
@@ -588,7 +588,7 @@ template
_M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
vector(vector&& __x) noexcept
: _Base(std::move(__x)) { }
@@ -601,7 +601,7 @@ template
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
vector(_InputIterator __first, _InputIterator __last,
@@ -636,7 +636,7 @@ template
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
vector&
operator=(vector&& __x)
{
@@ -663,7 +663,7 @@ template
assign(size_type __n, const bool& __x)
{ _M_fill_assign(__n, __x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
void
@@ -679,7 +679,7 @@ template
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
assign(initializer_list __l)
{ this->assign(__l.begin(), __l.end()); }
@@ -717,7 +717,7 @@ template
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
const_iterator
cbegin() const noexcept
{ return this->_M_impl._M_start; }
@@ -867,7 +867,7 @@ template
return begin() + __n;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
void
@@ -889,7 +889,7 @@ template
insert(iterator __position, size_type __n, const bool& __x)
{ _M_fill_insert(__position, __n, __x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void insert(iterator __p, initializer_list __l)
{ this->insert(__p, __l.begin(), __l.end()); }
#endif
@@ -924,7 +924,7 @@ template
insert(end(), __new_size - size(), __x);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
shrink_to_fit()
{ _M_shrink_to_fit(); }
@@ -966,7 +966,7 @@ template
void
_M_reallocate(size_type __n);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
bool
_M_shrink_to_fit();
#endif
@@ -1130,7 +1130,7 @@ template
_GLIBCXX_END_NAMESPACE_CONTAINER
} // namespace std
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
@@ -1151,6 +1151,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
}// namespace std
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif
diff --git a/libstdc++-v3/include/bits/stl_construct.h b/libstdc++-v3/include/bits/stl_construct.h
index 8aaaab80575..bb74a9cf464 100644
--- a/libstdc++-v3/include/bits/stl_construct.h
+++ b/libstdc++-v3/include/bits/stl_construct.h
@@ -70,7 +70,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* Constructs an object in existing memory by invoking an allocated
* object's constructor with an initializer.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
inline void
_Construct(_T1* __p, _Args&&... __args)
diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h
index 157df3ba30a..2a135463974 100644
--- a/libstdc++-v3/include/bits/stl_deque.h
+++ b/libstdc++-v3/include/bits/stl_deque.h
@@ -60,7 +60,7 @@
#include
#include
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#endif
@@ -392,7 +392,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
const _Tp&, const _Tp*>(__last),
__result); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
_Deque_iterator<_Tp, _Tp&, _Tp*>
move(_Deque_iterator<_Tp, const _Tp&, const _Tp*>,
@@ -465,7 +465,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
: _M_impl(__a)
{ }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_Deque_base(_Deque_base&& __x)
: _M_impl(std::move(__x._M_get_Tp_allocator()))
{
@@ -508,7 +508,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_M_start(), _M_finish()
{ }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_Deque_impl(_Tp_alloc_type&& __a)
: _Tp_alloc_type(std::move(__a)), _M_map(0), _M_map_size(0),
_M_start(), _M_finish()
@@ -791,7 +791,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
deque(const allocator_type& __a)
: _Base(__a, 0) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Creates a %deque with default constructed elements.
* @param __n The number of elements to initially create.
@@ -845,7 +845,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
this->_M_impl._M_start,
_M_get_Tp_allocator()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Deque move constructor.
* @param __x A %deque of identical element and allocator types.
@@ -891,7 +891,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* input iterators are used, then this will do at most 2N calls to the
* copy constructor, and logN memory reallocations.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
deque(_InputIterator __first, _InputIterator __last,
@@ -928,7 +928,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
deque&
operator=(const deque& __x);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Deque move assignment operator.
* @param __x A %deque of identical element and allocator types.
@@ -991,7 +991,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* resulting %deque's size is the same as the number of elements
* assigned. Old data may be lost.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
void
@@ -1007,7 +1007,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Assigns an initializer list to a %deque.
* @param __l An initializer_list.
@@ -1100,7 +1100,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(this->_M_impl._M_start); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* Returns a read-only (constant) iterator that points to the first
* element in the %deque. Iteration is done in ordinary element order.
@@ -1148,7 +1148,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
max_size() const _GLIBCXX_NOEXCEPT
{ return _M_get_Tp_allocator().max_size(); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Resizes the %deque to the specified number of elements.
* @param __new_size Number of elements the %deque should contain.
@@ -1214,7 +1214,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/** A non-binding request to reduce memory use. */
void
shrink_to_fit()
@@ -1368,7 +1368,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_M_push_front_aux(__x);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
push_front(value_type&& __x)
{ emplace_front(std::move(__x)); }
@@ -1400,7 +1400,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_M_push_back_aux(__x);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
push_back(value_type&& __x)
{ emplace_back(std::move(__x)); }
@@ -1452,7 +1452,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_M_pop_back_aux();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Inserts an object in %deque before specified iterator.
* @param __position An iterator into the %deque.
@@ -1479,7 +1479,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
iterator
insert(iterator __position, const value_type& __x);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Inserts given rvalue into %deque before specified iterator.
* @param __position An iterator into the %deque.
@@ -1530,7 +1530,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* [__first,__last) into the %deque before the location specified
* by @a __position. This is known as range insert.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
void
@@ -1680,7 +1680,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
void
_M_fill_initialize(const value_type& __value);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// called by deque(n).
void
_M_default_initialize();
@@ -1752,7 +1752,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
//@{
/// Helper functions for push_* and pop_*.
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
void _M_push_back_aux(const value_type&);
void _M_push_front_aux(const value_type&);
@@ -1813,7 +1813,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
// called by insert(p,x)
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
iterator
_M_insert_aux(iterator __pos, const value_type& __x);
#else
@@ -1874,7 +1874,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
this->_M_impl._M_finish = __pos;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// Called by resize(sz).
void
_M_default_append(size_type __n);
diff --git a/libstdc++-v3/include/bits/stl_function.h b/libstdc++-v3/include/bits/stl_function.h
index 42f5c1752b7..f94216bcd4d 100644
--- a/libstdc++-v3/include/bits/stl_function.h
+++ b/libstdc++-v3/include/bits/stl_function.h
@@ -496,7 +496,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
operator()(const _Pair& __x) const
{ return __x.first; }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
typename _Pair2::first_type&
operator()(_Pair2& __x) const
@@ -729,7 +729,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#if !defined(__GXX_EXPERIMENTAL_CXX0X__) || _GLIBCXX_USE_DEPRECATED
+#if (__cplusplus < 201103L) || _GLIBCXX_USE_DEPRECATED
# include
#endif
diff --git a/libstdc++-v3/include/bits/stl_heap.h b/libstdc++-v3/include/bits/stl_heap.h
index f185610d9e0..191da90c92f 100644
--- a/libstdc++-v3/include/bits/stl_heap.h
+++ b/libstdc++-v3/include/bits/stl_heap.h
@@ -502,7 +502,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Search the end of a heap.
* @param __first Start of range.
diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h
index 100d30e300a..14371bc8203 100644
--- a/libstdc++-v3/include/bits/stl_iterator.h
+++ b/libstdc++-v3/include/bits/stl_iterator.h
@@ -375,7 +375,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ return !(__x < __y); }
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// DR 685.
inline auto
operator-(const reverse_iterator<_IteratorL>& __x,
@@ -426,7 +426,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* the end, if you like). Assigning a value to the %iterator will
* always append the value to the end of the container.
*/
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
back_insert_iterator&
operator=(typename _Container::const_reference __value)
{
@@ -516,7 +516,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* the front, if you like). Assigning a value to the %iterator will
* always prepend the value to the front of the container.
*/
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
front_insert_iterator&
operator=(typename _Container::const_reference __value)
{
@@ -627,7 +627,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* // vector v contains A, 1, 2, 3, and Z
* @endcode
*/
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
insert_iterator&
operator=(typename _Container::const_reference __value)
{
@@ -880,7 +880,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// operators but also operator- must accept mixed iterator/const_iterator
// parameters.
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// DR 685.
inline auto
operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
@@ -908,7 +908,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
namespace std _GLIBCXX_VISIBILITY(default)
{
@@ -1145,6 +1145,6 @@ _GLIBCXX_END_NAMESPACE_VERSION
#else
#define _GLIBCXX_MAKE_MOVE_ITERATOR(_Iter) (_Iter)
#define _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(_Iter) (_Iter)
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif
diff --git a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
index 808f5d94c56..43313aed439 100644
--- a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
+++ b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h
@@ -177,7 +177,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
std::__advance(__i, __d, std::__iterator_category(__i));
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
inline _ForwardIterator
@@ -197,7 +197,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return __x;
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
diff --git a/libstdc++-v3/include/bits/stl_iterator_base_types.h b/libstdc++-v3/include/bits/stl_iterator_base_types.h
index 1f56c061df5..70e892c4f44 100644
--- a/libstdc++-v3/include/bits/stl_iterator_base_types.h
+++ b/libstdc++-v3/include/bits/stl_iterator_base_types.h
@@ -65,7 +65,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
# include // For _GLIBCXX_HAS_NESTED_TYPE, is_convertible
#endif
@@ -139,7 +139,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* argument. Specialized versions for pointers and pointers-to-const
* provide tighter, more correct semantics.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_GLIBCXX_HAS_NESTED_TYPE(iterator_category)
@@ -223,7 +223,7 @@ _GLIBCXX_HAS_NESTED_TYPE(iterator_category)
{ return __it.base(); }
};
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
using _RequireInputIter = typename
enable_if
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#endif
@@ -109,7 +109,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
///< User's data.
_Tp _M_data;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
_List_node(_Args&&... __args)
: __detail::_List_node_base(), _M_data(std::forward<_Args>(__args)...)
@@ -321,7 +321,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
: _Node_alloc_type(__a), _M_node()
{ }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_List_impl(_Node_alloc_type&& __a)
: _Node_alloc_type(std::move(__a)), _M_node()
{ }
@@ -365,7 +365,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
: _M_impl(__a)
{ _M_init(); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_List_base(_List_base&& __x)
: _M_impl(std::move(__x._M_get_Node_allocator()))
{
@@ -478,7 +478,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* Allocates space for a new node and constructs a copy of
* @a __args in it.
*/
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
_Node*
_M_create_node(const value_type& __x)
{
@@ -532,7 +532,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
list(const allocator_type& __a)
: _Base(_Node_alloc_type(__a)) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Creates a %list with default constructed elements.
* @param __n The number of elements to initially create.
@@ -584,7 +584,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
: _Base(__x._M_get_Node_allocator())
{ _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %List move constructor.
* @param __x A %list of identical element and allocator types.
@@ -619,7 +619,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* [@a __first,@a __last). This is linear in N (where N is
* distance(@a __first,@a __last)).
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
list(_InputIterator __first, _InputIterator __last,
@@ -656,7 +656,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
list&
operator=(const list& __x);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %List move assignment operator.
* @param __x A %list of identical element and allocator types.
@@ -715,7 +715,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* that the resulting %list's size is the same as the number of
* elements assigned. Old data may be lost.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
void
@@ -732,7 +732,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Assigns an initializer_list to a %list.
* @param __l An initializer_list of value_type.
@@ -822,7 +822,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* Returns a read-only (constant) iterator that points to the
* first element in the %list. Iteration is done in ordinary
@@ -879,7 +879,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
max_size() const _GLIBCXX_NOEXCEPT
{ return _M_get_Node_allocator().max_size(); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Resizes the %list to the specified number of elements.
* @param __new_size Number of elements the %list should contain.
@@ -975,7 +975,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
push_front(const value_type& __x)
{ this->_M_insert(begin(), __x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
push_front(value_type&& __x)
{ this->_M_insert(begin(), std::move(__x)); }
@@ -1016,7 +1016,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
push_back(const value_type& __x)
{ this->_M_insert(end(), __x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
push_back(value_type&& __x)
{ this->_M_insert(end(), std::move(__x)); }
@@ -1042,7 +1042,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
pop_back()
{ this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Constructs object in %list before specified iterator.
* @param __position A const_iterator into the %list.
@@ -1074,7 +1074,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
iterator
insert(iterator __position, const value_type& __x);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Inserts given rvalue into %list before specified iterator.
* @param __position An iterator into the %list.
@@ -1140,7 +1140,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* This operation is linear in the number of elements inserted and
* does not invalidate iterators and references.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
#else
@@ -1245,7 +1245,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* Requires this != @a __x.
*/
void
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
splice(iterator __position, list&& __x)
#else
splice(iterator __position, list& __x)
@@ -1259,7 +1259,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
splice(iterator __position, list& __x)
{ splice(__position, std::move(__x)); }
@@ -1275,7 +1275,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* inserts it into the current list before @a __position.
*/
void
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
splice(iterator __position, list&& __x, iterator __i)
#else
splice(iterator __position, list& __x, iterator __i)
@@ -1292,7 +1292,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
this->_M_transfer(__position, __i, __j);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
splice(iterator __position, list& __x, iterator __i)
{ splice(__position, std::move(__x), __i); }
@@ -1311,7 +1311,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* Undefined if @a __position is in [__first,__last).
*/
void
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
splice(iterator __position, list&& __x, iterator __first,
iterator __last)
#else
@@ -1328,7 +1328,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
splice(iterator __position, list& __x, iterator __first, iterator __last)
{ splice(__position, std::move(__x), __first, __last); }
@@ -1401,7 +1401,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* sorted order, leaving @a __x empty when complete. Elements in
* this list precede elements in @a __x that are equal.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
merge(list&& __x);
@@ -1426,7 +1426,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* in this list precede elements in @a __x that are equivalent
* according to StrictWeakOrdering().
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
void
merge(list&& __x, _StrictWeakOrdering __comp);
@@ -1500,7 +1500,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
push_back(__x);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// Called by list(n).
void
_M_default_initialize(size_type __n)
@@ -1543,7 +1543,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ __position._M_node->_M_transfer(__first._M_node, __last._M_node); }
// Inserts new element at position given and with value given.
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
void
_M_insert(iterator __position, const value_type& __x)
{
@@ -1566,7 +1566,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{
__position._M_node->_M_unhook();
_Node* __n = static_cast<_Node*>(__position._M_node);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_M_get_Node_allocator().destroy(__n);
#else
_M_get_Tp_allocator().destroy(std::__addressof(__n->_M_data));
diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h
index 14f44579a4f..365728b5aba 100644
--- a/libstdc++-v3/include/bits/stl_map.h
+++ b/libstdc++-v3/include/bits/stl_map.h
@@ -59,7 +59,7 @@
#include
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#include
#endif
@@ -181,7 +181,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
map(const map& __x)
: _M_t(__x._M_t) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Map move constructor.
* @param __x A %map of identical element and allocator types.
@@ -268,7 +268,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Map move assignment operator.
* @param __x A %map of identical element and allocator types.
@@ -384,7 +384,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
rend() const _GLIBCXX_NOEXCEPT
{ return _M_t.rend(); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* Returns a read-only (constant) iterator that points to the first pair
* in the %map. Iteration is done in ascending order according to the
@@ -462,7 +462,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
iterator __i = lower_bound(__k);
// __i->first is greater than or equivalent to __k.
if (__i == end() || key_comp()(__k, (*__i).first))
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
__i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
std::tuple(__k),
std::tuple<>());
@@ -472,7 +472,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return (*__i).second;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
mapped_type&
operator[](key_type&& __k)
{
@@ -517,7 +517,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
// modifiers
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Attempts to build and insert a std::pair into the %map.
*
@@ -595,7 +595,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
insert(const value_type& __x)
{ return _M_t._M_insert_unique(__x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template::value>::type>
@@ -604,7 +604,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ return _M_t._M_insert_unique(std::forward<_Pair>(__x)); }
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Attempts to insert a list of std::pairs into the %map.
* @param __list A std::initializer_list of pairs to be
@@ -641,14 +641,14 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* Insertion requires logarithmic time (if the hint is not taken).
*/
iterator
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
insert(const_iterator __position, const value_type& __x)
#else
insert(iterator __position, const value_type& __x)
#endif
{ return _M_t._M_insert_unique_(__position, __x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template::value>::type>
@@ -671,7 +671,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
insert(_InputIterator __first, _InputIterator __last)
{ _M_t._M_insert_unique(__first, __last); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Associative erase should return an iterator.
/**
@@ -726,7 +726,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
erase(const key_type& __x)
{ return _M_t.erase(__x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Associative erase should return an iterator.
/**
diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h
index a0fb27e2192..1c6a7b25388 100644
--- a/libstdc++-v3/include/bits/stl_multimap.h
+++ b/libstdc++-v3/include/bits/stl_multimap.h
@@ -58,7 +58,7 @@
#define _STL_MULTIMAP_H 1
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#endif
@@ -178,7 +178,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
multimap(const multimap& __x)
: _M_t(__x._M_t) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Multimap move constructor.
* @param __x A %multimap of identical element and allocator types.
@@ -262,7 +262,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Multimap move assignment operator.
* @param __x A %multimap of identical element and allocator types.
@@ -378,7 +378,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
rend() const _GLIBCXX_NOEXCEPT
{ return _M_t.rend(); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* Returns a read-only (constant) iterator that points to the first pair
* in the %multimap. Iteration is done in ascending order according to
@@ -433,7 +433,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ return _M_t.max_size(); }
// modifiers
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Build and insert a std::pair into the %multimap.
*
@@ -502,7 +502,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
insert(const value_type& __x)
{ return _M_t._M_insert_equal(__x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template::value>::type>
@@ -532,14 +532,14 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* Insertion requires logarithmic time (if the hint is not taken).
*/
iterator
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
insert(const_iterator __position, const value_type& __x)
#else
insert(iterator __position, const value_type& __x)
#endif
{ return _M_t._M_insert_equal_(__position, __x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template::value>::type>
@@ -563,7 +563,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
insert(_InputIterator __first, _InputIterator __last)
{ _M_t._M_insert_equal(__first, __last); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Attempts to insert a list of std::pairs into the %multimap.
* @param __l A std::initializer_list of pairs to be
@@ -576,7 +576,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ this->insert(__l.begin(), __l.end()); }
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Associative erase should return an iterator.
/**
@@ -631,7 +631,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
erase(const key_type& __x)
{ return _M_t.erase(__x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Associative erase should return an iterator.
/**
diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h
index 2448742356a..4ac650a7ca2 100644
--- a/libstdc++-v3/include/bits/stl_multiset.h
+++ b/libstdc++-v3/include/bits/stl_multiset.h
@@ -58,7 +58,7 @@
#define _STL_MULTISET_H 1
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#endif
@@ -190,7 +190,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
multiset(const multiset& __x)
: _M_t(__x._M_t) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Multiset move constructor.
* @param __x A %multiset of identical element and allocator types.
@@ -233,7 +233,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Multiset move assignment operator.
* @param __x A %multiset of identical element and allocator types.
@@ -323,7 +323,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
rend() const _GLIBCXX_NOEXCEPT
{ return _M_t.rend(); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* Returns a read-only (constant) iterator that points to the first
* element in the %multiset. Iteration is done in ascending order
@@ -392,7 +392,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ _M_t.swap(__x._M_t); }
// insert/erase
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Builds and inserts an element into the %multiset.
* @param __args Arguments used to generate the element instance to be
@@ -455,7 +455,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
insert(const value_type& __x)
{ return _M_t._M_insert_equal(__x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
insert(value_type&& __x)
{ return _M_t._M_insert_equal(std::move(__x)); }
@@ -485,7 +485,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
insert(const_iterator __position, const value_type& __x)
{ return _M_t._M_insert_equal_(__position, __x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
insert(const_iterator __position, value_type&& __x)
{ return _M_t._M_insert_equal_(__position, std::move(__x)); }
@@ -504,7 +504,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
insert(_InputIterator __first, _InputIterator __last)
{ _M_t._M_insert_equal(__first, __last); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Attempts to insert a list of elements into the %multiset.
* @param __l A std::initializer_list of elements
@@ -517,7 +517,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ this->insert(__l.begin(), __l.end()); }
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Associative erase should return an iterator.
/**
@@ -567,7 +567,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
erase(const key_type& __x)
{ return _M_t.erase(__x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Associative erase should return an iterator.
/**
diff --git a/libstdc++-v3/include/bits/stl_numeric.h b/libstdc++-v3/include/bits/stl_numeric.h
index 3b97d63601b..4fb726cc3aa 100644
--- a/libstdc++-v3/include/bits/stl_numeric.h
+++ b/libstdc++-v3/include/bits/stl_numeric.h
@@ -61,7 +61,7 @@
#include
#include // For _GLIBCXX_MOVE
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
namespace std _GLIBCXX_VISIBILITY(default)
{
diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h
index 4ece92aac12..70da3da7392 100644
--- a/libstdc++-v3/include/bits/stl_pair.h
+++ b/libstdc++-v3/include/bits/stl_pair.h
@@ -60,7 +60,7 @@
#include // for std::move / std::forward, and std::swap
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include // for std::__decay_and_strip too
#endif
@@ -68,7 +68,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/// piecewise_construct_t
struct piecewise_construct_t { };
@@ -110,7 +110,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
: first(__a), second(__b) { }
/** There is also a templated copy ctor for the @c pair class itself. */
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
template
pair(const pair<_U1, _U2>& __p)
: first(__p.first), second(__p.second) { }
@@ -242,7 +242,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{ return !(__x < __y); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/// See std::pair::swap().
// Note: no std::swap overloads in C++03 mode, this has performance
// implications, see, eg, libstdc++/38466.
@@ -265,7 +265,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
*/
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// 181. make_pair() unintended behavior
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// NB: DR 706.
template
constexpr pair::__type,
diff --git a/libstdc++-v3/include/bits/stl_queue.h b/libstdc++-v3/include/bits/stl_queue.h
index 82ab85e8b48..add519c8883 100644
--- a/libstdc++-v3/include/bits/stl_queue.h
+++ b/libstdc++-v3/include/bits/stl_queue.h
@@ -131,7 +131,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Default constructor creates no elements.
*/
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
explicit
queue(const _Sequence& __c = _Sequence())
: c(__c) { }
@@ -214,7 +214,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
push(const value_type& __x)
{ c.push_back(__x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
push(value_type&& __x)
{ c.push_back(std::move(__x)); }
@@ -243,7 +243,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
c.pop_front();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
swap(queue& __q)
noexcept(noexcept(swap(c, __q.c)))
@@ -312,7 +312,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
operator>=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
{ return !(__x < __y); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
inline void
swap(queue<_Tp, _Seq>& __x, queue<_Tp, _Seq>& __y)
@@ -393,7 +393,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Default constructor creates no elements.
*/
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
explicit
priority_queue(const _Compare& __x = _Compare(),
const _Sequence& __s = _Sequence())
@@ -428,7 +428,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
* documentation on @link functors functor base
* classes@endlink.
*/
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
template
priority_queue(_InputIterator __first, _InputIterator __last,
const _Compare& __x = _Compare(),
@@ -501,7 +501,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
std::push_heap(c.begin(), c.end(), comp);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
push(value_type&& __x)
{
@@ -537,7 +537,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
c.pop_back();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
swap(priority_queue& __pq)
noexcept(noexcept(swap(c, __pq.c)) && noexcept(swap(comp, __pq.comp)))
@@ -551,7 +551,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// No equality/comparison operators are provided for priority_queue.
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
inline void
swap(priority_queue<_Tp, _Sequence, _Compare>& __x,
diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h
index c3c187086d6..1850aac7f87 100644
--- a/libstdc++-v3/include/bits/stl_set.h
+++ b/libstdc++-v3/include/bits/stl_set.h
@@ -58,7 +58,7 @@
#define _STL_SET_H 1
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#endif
@@ -194,7 +194,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
set(const set& __x)
: _M_t(__x._M_t) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Set move constructor
* @param __x A %set of identical element and allocator types.
@@ -237,7 +237,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Set move assignment operator.
* @param __x A %set of identical element and allocator types.
@@ -326,7 +326,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
rend() const _GLIBCXX_NOEXCEPT
{ return _M_t.rend(); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* Returns a read-only (constant) iterator that points to the first
* element in the %set. Iteration is done in ascending order according
@@ -395,7 +395,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ _M_t.swap(__x._M_t); }
// insert/erase
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Attempts to build and insert an element into the %set.
* @param __args Arguments used to generate an element.
@@ -465,7 +465,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
return std::pair(__p.first, __p.second);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
std::pair
insert(value_type&& __x)
{
@@ -498,7 +498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
insert(const_iterator __position, const value_type& __x)
{ return _M_t._M_insert_unique_(__position, __x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
insert(const_iterator __position, value_type&& __x)
{ return _M_t._M_insert_unique_(__position, std::move(__x)); }
@@ -518,7 +518,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
insert(_InputIterator __first, _InputIterator __last)
{ _M_t._M_insert_unique(__first, __last); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Attempts to insert a list of elements into the %set.
* @param __l A std::initializer_list of elements
@@ -531,7 +531,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{ this->insert(__l.begin(), __l.end()); }
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Associative erase should return an iterator.
/**
@@ -581,7 +581,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
erase(const key_type& __x)
{ return _M_t.erase(__x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Associative erase should return an iterator.
/**
diff --git a/libstdc++-v3/include/bits/stl_stack.h b/libstdc++-v3/include/bits/stl_stack.h
index 4f61bfbbdf6..88ca8ca5845 100644
--- a/libstdc++-v3/include/bits/stl_stack.h
+++ b/libstdc++-v3/include/bits/stl_stack.h
@@ -127,7 +127,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/**
* @brief Default constructor creates no elements.
*/
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
explicit
stack(const _Sequence& __c = _Sequence())
: c(__c) { }
@@ -188,7 +188,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
push(const value_type& __x)
{ c.push_back(__x); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
push(value_type&& __x)
{ c.push_back(std::move(__x)); }
@@ -217,7 +217,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
c.pop_back();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
swap(stack& __s)
noexcept(noexcept(swap(c, __s.c)))
@@ -287,7 +287,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
operator>=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
{ return !(__x < __y); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
inline void
swap(stack<_Tp, _Seq>& __x, stack<_Tp, _Seq>& __y)
diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h
index f2adb962c29..03a5e307c58 100644
--- a/libstdc++-v3/include/bits/stl_tree.h
+++ b/libstdc++-v3/include/bits/stl_tree.h
@@ -132,7 +132,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef _Rb_tree_node<_Val>* _Link_type;
_Val _M_value_field;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
_Rb_tree_node(_Args&&... __args)
: _Rb_tree_node_base(),
@@ -372,7 +372,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_put_node(_Link_type __p)
{ _M_impl._Node_allocator::deallocate(__p, 1); }
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
_Link_type
_M_create_node(const value_type& __x)
{
@@ -450,7 +450,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_node_count(0)
{ _M_initialize(); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a)
: _Node_allocator(std::move(__a)), _M_key_compare(__comp),
_M_header(), _M_node_count(0)
@@ -584,7 +584,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_get_insert_hint_equal_pos(const_iterator __pos,
const key_type& __k);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
iterator
_M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v);
@@ -661,7 +661,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_Rb_tree(_Rb_tree&& __x);
#endif
@@ -733,7 +733,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
swap(_Rb_tree& __t);
// Insert/erase.
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
pair
_M_insert_unique(_Arg&& __x);
@@ -795,7 +795,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_M_erase_aux(const_iterator __first, const_iterator __last);
public:
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Associative erase should return an iterator.
iterator
@@ -828,7 +828,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
size_type
erase(const key_type& __x);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Associative erase should return an iterator.
iterator
@@ -951,7 +951,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
{ __x.swap(__y); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
@@ -1000,12 +1000,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
#endif
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_M_insert_(_Base_ptr __x, _Base_ptr __p, _Arg&& __v)
#else
_M_insert_(_Base_ptr __x, _Base_ptr __p, const _Val& __v)
@@ -1025,12 +1025,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
#endif
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_M_insert_lower(_Base_ptr __p, _Arg&& __v)
#else
_M_insert_lower(_Base_ptr __p, const _Val& __v)
@@ -1050,12 +1050,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
#endif
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_M_insert_equal_lower(_Arg&& __v)
#else
_M_insert_equal_lower(const _Val& __v)
@@ -1355,13 +1355,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
#endif
pair::iterator, bool>
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_M_insert_unique(_Arg&& __v)
#else
_M_insert_unique(const _Val& __v)
@@ -1381,12 +1381,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
#endif
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_M_insert_equal(_Arg&& __v)
#else
_M_insert_equal(const _Val& __v)
@@ -1458,12 +1458,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
#endif
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_M_insert_unique_(const_iterator __position, _Arg&& __v)
#else
_M_insert_unique_(const_iterator __position, const _Val& __v)
@@ -1535,12 +1535,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
#endif
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_M_insert_equal_(const_iterator __position, _Arg&& __v)
#else
_M_insert_equal_(const_iterator __position, const _Val& __v)
@@ -1556,7 +1556,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return _M_insert_equal_lower(_GLIBCXX_FORWARD(_Arg, __v));
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
diff --git a/libstdc++-v3/include/bits/stl_uninitialized.h b/libstdc++-v3/include/bits/stl_uninitialized.h
index 0d20335d214..b133489d8c5 100644
--- a/libstdc++-v3/include/bits/stl_uninitialized.h
+++ b/libstdc++-v3/include/bits/stl_uninitialized.h
@@ -444,7 +444,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// Extensions: __uninitialized_default, __uninitialized_default_n,
// __uninitialized_default_a, __uninitialized_default_n_a.
diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h
index 1f14f7eda7e..b309fd3f605 100644
--- a/libstdc++-v3/include/bits/stl_vector.h
+++ b/libstdc++-v3/include/bits/stl_vector.h
@@ -60,7 +60,7 @@
#include
#include
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#include
#endif
@@ -92,7 +92,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
: _Tp_alloc_type(__a), _M_start(0), _M_finish(0), _M_end_of_storage(0)
{ }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_Vector_impl(_Tp_alloc_type&& __a)
: _Tp_alloc_type(std::move(__a)),
_M_start(0), _M_finish(0), _M_end_of_storage(0)
@@ -136,7 +136,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
: _M_impl(__a)
{ _M_create_storage(__n); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_Vector_base(_Tp_alloc_type&& __a)
: _M_impl(std::move(__a)) { }
@@ -257,7 +257,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
vector(const allocator_type& __a)
: _Base(__a) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Creates a %vector with default constructed elements.
* @param __n The number of elements to initially create.
@@ -317,7 +317,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_M_get_Tp_allocator());
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Vector move constructor.
* @param __x A %vector of identical element and allocator types.
@@ -387,7 +387,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* used, then this will do at most 2N calls to the copy
* constructor, and logN memory reallocations.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
vector(_InputIterator __first, _InputIterator __last,
@@ -427,7 +427,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
vector&
operator=(const vector& __x);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief %Vector move assignment operator.
* @param __x A %vector of identical element and allocator types.
@@ -492,7 +492,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* that the resulting %vector's size is the same as the number
* of elements assigned. Old data may be lost.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
void
@@ -509,7 +509,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Assigns an initializer list to a %vector.
* @param __l An initializer_list.
@@ -602,7 +602,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* Returns a read-only (constant) iterator that points to the
* first element in the %vector. Iteration is done in ordinary
@@ -651,7 +651,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
max_size() const _GLIBCXX_NOEXCEPT
{ return _Alloc_traits::max_size(_M_get_Tp_allocator()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Resizes the %vector to the specified number of elements.
* @param __new_size Number of elements the %vector should contain.
@@ -711,7 +711,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/** A non-binding request to reduce capacity() to size(). */
void
shrink_to_fit()
@@ -871,7 +871,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* Returns a pointer such that [data(), data() + size()) is a valid
* range. For a non-empty %vector, data() == &front().
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_Tp*
#else
pointer
@@ -879,7 +879,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
data() _GLIBCXX_NOEXCEPT
{ return std::__addressof(front()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
const _Tp*
#else
const_pointer
@@ -908,14 +908,14 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
++this->_M_impl._M_finish;
}
else
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
_M_emplace_back_aux(__x);
#else
_M_insert_aux(end(), __x);
#endif
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
push_back(value_type&& __x)
{ emplace_back(std::move(__x)); }
@@ -941,7 +941,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Inserts an object in %vector before specified iterator.
* @param __position An iterator into the %vector.
@@ -973,7 +973,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
iterator
insert(iterator __position, const value_type& __x);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Inserts given rvalue into %vector before specified iterator.
* @param __position An iterator into the %vector.
@@ -1038,7 +1038,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
* %vector and if it is frequently used the user should
* consider using std::list.
*/
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
void
@@ -1107,7 +1107,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*/
void
swap(vector& __x)
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
noexcept(_Alloc_traits::_S_nothrow_swap())
#endif
{
@@ -1213,7 +1213,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
this->_M_impl._M_finish = this->_M_impl._M_end_of_storage;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// Called by the vector(n) constructor.
void
_M_default_initialize(size_type __n)
@@ -1305,7 +1305,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
void
_M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// Called by resize(n).
void
_M_default_append(size_type __n);
@@ -1315,7 +1315,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
#endif
// Called by insert(p,x)
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
void
_M_insert_aux(iterator __position, const value_type& __x);
#else
@@ -1350,7 +1350,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
this->_M_impl._M_finish = __pos;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
private:
// Constant-time move assignment when source object's memory can be
// moved, either because the source's allocator will move too
diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h
index 3c8014e89fa..524bae55234 100644
--- a/libstdc++-v3/include/bits/streambuf_iterator.h
+++ b/libstdc++-v3/include/bits/streambuf_iterator.h
@@ -52,7 +52,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
class istreambuf_iterator
: public iterator= 201103L
// LWG 445.
_CharT>
#else
@@ -104,7 +104,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_CONSTEXPR istreambuf_iterator() _GLIBCXX_USE_NOEXCEPT
: _M_sbuf(0), _M_c(traits_type::eof()) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
~istreambuf_iterator() = default;
diff --git a/libstdc++-v3/include/bits/stringfwd.h b/libstdc++-v3/include/bits/stringfwd.h
index 5f2d49c5579..623aa88b592 100644
--- a/libstdc++-v3/include/bits/stringfwd.h
+++ b/libstdc++-v3/include/bits/stringfwd.h
@@ -70,7 +70,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typedef basic_string wstring; /// A string of @c wchar_t
#endif
-#if (defined(__GXX_EXPERIMENTAL_CXX0X__) \
+#if ((__cplusplus >= 201103L) \
&& defined(_GLIBCXX_USE_C99_STDINT_TR1))
template<> struct char_traits;
diff --git a/libstdc++-v3/include/bits/uses_allocator.h b/libstdc++-v3/include/bits/uses_allocator.h
index 49b5409c15a..a1e091c604c 100644
--- a/libstdc++-v3/include/bits/uses_allocator.h
+++ b/libstdc++-v3/include/bits/uses_allocator.h
@@ -25,7 +25,7 @@
#ifndef _USES_ALLOCATOR_H
#define _USES_ALLOCATOR_H 1
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include
#else
diff --git a/libstdc++-v3/include/bits/vector.tcc b/libstdc++-v3/include/bits/vector.tcc
index d9c3b659e6b..cc464cea841 100644
--- a/libstdc++-v3/include/bits/vector.tcc
+++ b/libstdc++-v3/include/bits/vector.tcc
@@ -85,7 +85,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
template
void
@@ -117,7 +117,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
else
{
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
{
_Tp __x_copy = __x;
@@ -163,7 +163,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
{
if (&__x != this)
{
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
if (_Alloc_traits::_S_propagate_on_copy_assign())
{
if (!_Alloc_traits::_S_always_equal()
@@ -285,7 +285,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
template
typename vector<_Tp, _Alloc>::iterator
@@ -323,13 +323,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_GLIBCXX_MOVE(*(this->_M_impl._M_finish
- 1)));
++this->_M_impl._M_finish;
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
_Tp __x_copy = __x;
#endif
_GLIBCXX_MOVE_BACKWARD3(__position.base(),
this->_M_impl._M_finish - 2,
this->_M_impl._M_finish - 1);
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
*__position = __x_copy;
#else
*__position = _Tp(std::forward<_Args>(__args)...);
@@ -350,7 +350,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
// taking the element by const lvalue ref (see 23.1/13).
_Alloc_traits::construct(this->_M_impl,
__new_start + __elems_before,
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
std::forward<_Args>(__args)...);
#else
__x);
@@ -390,7 +390,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
template
void
@@ -524,7 +524,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
void
vector<_Tp, _Alloc>::
@@ -788,7 +788,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
bool
vector::
@@ -809,7 +809,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
_GLIBCXX_END_NAMESPACE_CONTAINER
} // namespace std
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
namespace std _GLIBCXX_VISIBILITY(default)
{
@@ -851,6 +851,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif /* _VECTOR_TCC */
diff --git a/libstdc++-v3/include/c_compatibility/complex.h b/libstdc++-v3/include/c_compatibility/complex.h
index 1e2acafc7c2..a4452368030 100644
--- a/libstdc++-v3/include/c_compatibility/complex.h
+++ b/libstdc++-v3/include/c_compatibility/complex.h
@@ -28,7 +28,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
# include
#endif
diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h
index 2096e393cc7..fdc82a9998c 100644
--- a/libstdc++-v3/include/c_compatibility/fenv.h
+++ b/libstdc++-v3/include/c_compatibility/fenv.h
@@ -36,7 +36,7 @@
# include_next
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#if _GLIBCXX_USE_C99_FENV_TR1
@@ -76,6 +76,6 @@ namespace std
#endif // _GLIBCXX_USE_C99_FENV_TR1
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif // _GLIBCXX_FENV_H
diff --git a/libstdc++-v3/include/c_compatibility/inttypes.h b/libstdc++-v3/include/c_compatibility/inttypes.h
index 54c220c2f68..d0f84079489 100644
--- a/libstdc++-v3/include/c_compatibility/inttypes.h
+++ b/libstdc++-v3/include/c_compatibility/inttypes.h
@@ -33,7 +33,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// For 8.11.1/1 (see C99, Note 184)
# if _GLIBCXX_HAVE_INTTYPES_H
@@ -86,6 +86,6 @@ namespace std
# include_next
# endif
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif // _GLIBCXX_INTTYPES_H
diff --git a/libstdc++-v3/include/c_compatibility/stdbool.h b/libstdc++-v3/include/c_compatibility/stdbool.h
index 27485d99db9..f7a5b4cf70d 100644
--- a/libstdc++-v3/include/c_compatibility/stdbool.h
+++ b/libstdc++-v3/include/c_compatibility/stdbool.h
@@ -28,7 +28,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
# include
#else
# if _GLIBCXX_HAVE_STDBOOL_H
diff --git a/libstdc++-v3/include/c_compatibility/stdint.h b/libstdc++-v3/include/c_compatibility/stdint.h
index 32538c6c82b..b9f47fe2228 100644
--- a/libstdc++-v3/include/c_compatibility/stdint.h
+++ b/libstdc++-v3/include/c_compatibility/stdint.h
@@ -33,7 +33,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// For 8.22.1/1 (see C99, Notes 219, 220, 222)
# if _GLIBCXX_HAVE_STDINT_H
@@ -105,6 +105,6 @@ namespace std
# include_next
# endif
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif // _GLIBCXX_STDINT_H
diff --git a/libstdc++-v3/include/c_compatibility/tgmath.h b/libstdc++-v3/include/c_compatibility/tgmath.h
index 3d84d37a919..10330f58205 100644
--- a/libstdc++-v3/include/c_compatibility/tgmath.h
+++ b/libstdc++-v3/include/c_compatibility/tgmath.h
@@ -28,7 +28,7 @@
#include
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
# include
#else
# if _GLIBCXX_HAVE_TGMATH_H
diff --git a/libstdc++-v3/include/c_global/ccomplex b/libstdc++-v3/include/c_global/ccomplex
index 0109ec10e9a..f9aeaed47ef 100644
--- a/libstdc++-v3/include/c_global/ccomplex
+++ b/libstdc++-v3/include/c_global/ccomplex
@@ -31,7 +31,7 @@
#ifndef _GLIBCXX_CCOMPLEX
#define _GLIBCXX_CCOMPLEX 1
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include
#endif
diff --git a/libstdc++-v3/include/c_global/cctype b/libstdc++-v3/include/c_global/cctype
index 0fed691ecef..e0b73626963 100644
--- a/libstdc++-v3/include/c_global/cctype
+++ b/libstdc++-v3/include/c_global/cctype
@@ -78,7 +78,7 @@ namespace std
using ::toupper;
} // namespace std
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#ifdef _GLIBCXX_USE_C99_CTYPE_TR1
@@ -91,6 +91,6 @@ namespace std
#endif // _GLIBCXX_USE_C99_CTYPE_TR1
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif
diff --git a/libstdc++-v3/include/c_global/cfenv b/libstdc++-v3/include/c_global/cfenv
index 35010a0ba20..37b8eca8b09 100644
--- a/libstdc++-v3/include/c_global/cfenv
+++ b/libstdc++-v3/include/c_global/cfenv
@@ -31,7 +31,7 @@
#pragma GCC system_header
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include
#else
@@ -79,6 +79,6 @@ namespace std
#endif // _GLIBCXX_USE_C99_FENV_TR1
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif // _GLIBCXX_CFENV
diff --git a/libstdc++-v3/include/c_global/cfloat b/libstdc++-v3/include/c_global/cfloat
index 2bc7883bfed..065ae19d6e6 100644
--- a/libstdc++-v3/include/c_global/cfloat
+++ b/libstdc++-v3/include/c_global/cfloat
@@ -43,7 +43,7 @@
#ifndef _GLIBCXX_CFLOAT
#define _GLIBCXX_CFLOAT 1
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
# ifndef DECIMAL_DIG
# define DECIMAL_DIG __DECIMAL_DIG__
# endif
diff --git a/libstdc++-v3/include/c_global/cinttypes b/libstdc++-v3/include/c_global/cinttypes
index 030962bdf32..ce2fe720d7c 100644
--- a/libstdc++-v3/include/c_global/cinttypes
+++ b/libstdc++-v3/include/c_global/cinttypes
@@ -31,7 +31,7 @@
#pragma GCC system_header
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include
#else
@@ -76,6 +76,6 @@ namespace std
#endif // _GLIBCXX_USE_C99_INTTYPES_TR1
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif // _GLIBCXX_CINTTYPES
diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath
index d488c7740ec..90f76650520 100644
--- a/libstdc++-v3/include/c_global/cmath
+++ b/libstdc++-v3/include/c_global/cmath
@@ -413,7 +413,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
pow(long double __x, long double __y)
{ return __builtin_powl(__x, __y); }
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 550. What should the return type of pow(float,int) be?
inline double
@@ -558,7 +558,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
constexpr int
fpclassify(float __x)
{ return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
@@ -921,7 +921,7 @@ _GLIBCXX_END_NAMESPACE_VERSION
#endif /* _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC */
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#ifdef _GLIBCXX_USE_C99_MATH_TR1
@@ -1682,6 +1682,6 @@ _GLIBCXX_END_NAMESPACE_VERSION
#endif // _GLIBCXX_USE_C99_MATH_TR1
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif
diff --git a/libstdc++-v3/include/c_global/cstdalign b/libstdc++-v3/include/c_global/cstdalign
index 31f0c1b384e..353382757f2 100644
--- a/libstdc++-v3/include/c_global/cstdalign
+++ b/libstdc++-v3/include/c_global/cstdalign
@@ -31,7 +31,7 @@
#ifndef _GLIBCXX_CSTDALIGN
#define _GLIBCXX_CSTDALIGN 1
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include
#else
# include
diff --git a/libstdc++-v3/include/c_global/cstdbool b/libstdc++-v3/include/c_global/cstdbool
index dd428f2d288..fbc03f81276 100644
--- a/libstdc++-v3/include/c_global/cstdbool
+++ b/libstdc++-v3/include/c_global/cstdbool
@@ -31,7 +31,7 @@
#ifndef _GLIBCXX_CSTDBOOL
#define _GLIBCXX_CSTDBOOL 1
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include
#else
# include
diff --git a/libstdc++-v3/include/c_global/cstdint b/libstdc++-v3/include/c_global/cstdint
index 5ebee3bd793..d61d383a6bb 100644
--- a/libstdc++-v3/include/c_global/cstdint
+++ b/libstdc++-v3/include/c_global/cstdint
@@ -31,7 +31,7 @@
#pragma GCC system_header
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include
#else
@@ -84,6 +84,6 @@ namespace std
#endif // _GLIBCXX_USE_C99_STDINT_TR1
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif // _GLIBCXX_CSTDINT
diff --git a/libstdc++-v3/include/c_global/ctgmath b/libstdc++-v3/include/c_global/ctgmath
index 6b51005cc11..13eee2a4200 100644
--- a/libstdc++-v3/include/c_global/ctgmath
+++ b/libstdc++-v3/include/c_global/ctgmath
@@ -31,7 +31,7 @@
#ifndef _GLIBCXX_CTGMATH
#define _GLIBCXX_CTGMATH 1
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include
#else
# include
diff --git a/libstdc++-v3/include/c_global/cwchar b/libstdc++-v3/include/c_global/cwchar
index a2b1168f9a0..8ed424e3cfc 100644
--- a/libstdc++-v3/include/c_global/cwchar
+++ b/libstdc++-v3/include/c_global/cwchar
@@ -272,7 +272,7 @@ namespace std
#endif //_GLIBCXX_USE_WCHAR_T
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
#ifdef _GLIBCXX_USE_WCHAR_T
@@ -300,6 +300,6 @@ namespace std
#endif // _GLIBCXX_USE_WCHAR_T
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif
diff --git a/libstdc++-v3/include/debug/bitset b/libstdc++-v3/include/debug/bitset
index 3d865c1c1c2..0ad8283d8fe 100644
--- a/libstdc++-v3/include/debug/bitset
+++ b/libstdc++-v3/include/debug/bitset
@@ -42,7 +42,7 @@ namespace __debug
template
class bitset
: public _GLIBCXX_STD_C::bitset<_Nb>
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
, public __gnu_debug::_Safe_sequence_base
#endif
{
@@ -52,7 +52,7 @@ namespace __debug
// In C++0x we rely on normal reference type to preserve the property
// of bitset to be use as a literal.
// TODO: Find another solution.
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
typedef typename _Base::reference reference;
#else
// bit reference:
@@ -133,7 +133,7 @@ namespace __debug
_GLIBCXX_CONSTEXPR bitset() _GLIBCXX_NOEXCEPT
: _Base() { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
constexpr bitset(unsigned long long __val) noexcept
#else
bitset(unsigned long __val)
@@ -162,7 +162,7 @@ namespace __debug
bitset(const _Base& __x) : _Base(__x) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
explicit
bitset(const _CharT* __str,
@@ -263,7 +263,7 @@ namespace __debug
operator[](size_t __pos)
{
__glibcxx_check_subscript(__pos);
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
return _M_base()[__pos];
#else
return reference(_M_base()[__pos], this);
@@ -275,7 +275,7 @@ namespace __debug
_GLIBCXX_CONSTEXPR bool
operator[](size_t __pos) const
{
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
// TODO: Check in debug-mode too.
__glibcxx_check_subscript(__pos);
#endif
@@ -283,7 +283,7 @@ namespace __debug
}
using _Base::to_ulong;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
using _Base::to_ullong;
#endif
@@ -409,7 +409,7 @@ namespace __debug
} // namespace __debug
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// DR 1182.
/// std::hash specialization for bitset.
template
diff --git a/libstdc++-v3/include/debug/deque b/libstdc++-v3/include/debug/deque
index 1ce416c180c..1445b7c047d 100644
--- a/libstdc++-v3/include/debug/deque
+++ b/libstdc++-v3/include/debug/deque
@@ -74,7 +74,7 @@ namespace __debug
deque(const _Allocator& __a = _Allocator())
: _Base(__a) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
explicit
deque(size_type __n)
: _Base(__n) { }
@@ -89,7 +89,7 @@ namespace __debug
: _Base(__n, __value, __a) { }
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
#else
@@ -108,7 +108,7 @@ namespace __debug
deque(const _Base& __x)
: _Base(__x) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
deque(deque&& __x)
: _Base(std::move(__x))
{ this->_M_swap(__x); }
@@ -128,7 +128,7 @@ namespace __debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
deque&
operator=(deque&& __x)
{
@@ -149,7 +149,7 @@ namespace __debug
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
#else
@@ -171,7 +171,7 @@ namespace __debug
this->_M_invalidate_all();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
assign(initializer_list __l)
{
@@ -215,7 +215,7 @@ namespace __debug
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
const_iterator
cbegin() const noexcept
{ return const_iterator(_Base::begin(), this); }
@@ -246,7 +246,7 @@ namespace __debug
using _Base::size;
using _Base::max_size;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
resize(size_type __sz)
{
@@ -287,7 +287,7 @@ namespace __debug
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
shrink_to_fit()
{
@@ -358,7 +358,7 @@ namespace __debug
this->_M_invalidate_all();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
push_front(_Tp&& __x)
{ emplace_front(std::move(__x)); }
@@ -404,7 +404,7 @@ namespace __debug
return iterator(__res, this);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
insert(iterator __position, _Tp&& __x)
{ return emplace(__position, std::move(__x)); }
@@ -425,7 +425,7 @@ namespace __debug
this->_M_invalidate_all();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
#else
diff --git a/libstdc++-v3/include/debug/list b/libstdc++-v3/include/debug/list
index df2031dd603..d9cfca404d8 100644
--- a/libstdc++-v3/include/debug/list
+++ b/libstdc++-v3/include/debug/list
@@ -75,7 +75,7 @@ namespace __debug
list(const _Allocator& __a = _Allocator())
: _Base(__a) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
explicit
list(size_type __n)
: _Base(__n) { }
@@ -90,7 +90,7 @@ namespace __debug
: _Base(__n, __value, __a) { }
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
#else
@@ -109,7 +109,7 @@ namespace __debug
list(const _Base& __x)
: _Base(__x) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
list(list&& __x) noexcept
: _Base(std::move(__x))
{ this->_M_swap(__x); }
@@ -129,7 +129,7 @@ namespace __debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
list&
operator=(list&& __x)
{
@@ -157,7 +157,7 @@ namespace __debug
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
#else
@@ -214,7 +214,7 @@ namespace __debug
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
const_iterator
cbegin() const noexcept
{ return const_iterator(_Base::begin(), this); }
@@ -237,7 +237,7 @@ namespace __debug
using _Base::size;
using _Base::max_size;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
resize(size_type __sz)
{
@@ -352,7 +352,7 @@ namespace __debug
// 23.2.2.3 modifiers:
using _Base::push_front;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
using _Base::emplace_front;
#endif
@@ -366,7 +366,7 @@ namespace __debug
using _Base::push_back;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
using _Base::emplace_back;
#endif
@@ -378,7 +378,7 @@ namespace __debug
_Base::pop_back();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
iterator
emplace(iterator __position, _Args&&... __args)
@@ -396,7 +396,7 @@ namespace __debug
return iterator(_Base::insert(__position.base(), __x), this);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
insert(iterator __position, _Tp&& __x)
{ return emplace(__position, std::move(__x)); }
@@ -416,7 +416,7 @@ namespace __debug
_Base::insert(__position.base(), __n, __x);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
#else
@@ -480,7 +480,7 @@ namespace __debug
// 23.2.2.4 list operations:
void
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
splice(iterator __position, list&& __x)
#else
splice(iterator __position, list& __x)
@@ -493,14 +493,14 @@ namespace __debug
_Base::splice(__position.base(), _GLIBCXX_MOVE(__x._M_base()));
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
splice(iterator __position, list& __x)
{ splice(__position, std::move(__x)); }
#endif
void
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
splice(iterator __position, list&& __x, iterator __i)
#else
splice(iterator __position, list& __x, iterator __i)
@@ -525,14 +525,14 @@ namespace __debug
__i.base());
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
splice(iterator __position, list& __x, iterator __i)
{ splice(__position, std::move(__x), __i); }
#endif
void
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
splice(iterator __position, list&& __x, iterator __first,
iterator __last)
#else
@@ -571,7 +571,7 @@ namespace __debug
__first.base(), __last.base());
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
splice(iterator __position, list& __x, iterator __first, iterator __last)
{ splice(__position, std::move(__x), __first, __last); }
@@ -638,7 +638,7 @@ namespace __debug
}
void
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
merge(list&& __x)
#else
merge(list& __x)
@@ -655,7 +655,7 @@ namespace __debug
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
merge(list& __x)
{ merge(std::move(__x)); }
@@ -663,7 +663,7 @@ namespace __debug
template
void
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
merge(list&& __x, _Compare __comp)
#else
merge(list& __x, _Compare __comp)
@@ -682,7 +682,7 @@ namespace __debug
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
void
merge(list& __x, _Compare __comp)
diff --git a/libstdc++-v3/include/debug/map.h b/libstdc++-v3/include/debug/map.h
index 254988c2c64..900b702e57f 100644
--- a/libstdc++-v3/include/debug/map.h
+++ b/libstdc++-v3/include/debug/map.h
@@ -92,7 +92,7 @@ namespace __debug
map(const _Base& __x)
: _Base(__x) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
map(map&& __x)
noexcept(is_nothrow_copy_constructible<_Compare>::value)
: _Base(std::move(__x))
@@ -114,7 +114,7 @@ namespace __debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
map&
operator=(map&& __x)
{
@@ -172,7 +172,7 @@ namespace __debug
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
const_iterator
cbegin() const noexcept
{ return const_iterator(_Base::begin(), this); }
@@ -203,7 +203,7 @@ namespace __debug
using _Base::at;
// modifiers:
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
std::pair
emplace(_Args&&... __args)
@@ -232,7 +232,7 @@ namespace __debug
__res.second);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template::value>::type>
@@ -246,14 +246,14 @@ namespace __debug
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
insert(std::initializer_list __list)
{ _Base::insert(__list); }
#endif
iterator
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
insert(const_iterator __position, const value_type& __x)
#else
insert(iterator __position, const value_type& __x)
@@ -263,7 +263,7 @@ namespace __debug
return iterator(_Base::insert(__position.base(), __x), this);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template::value>::type>
@@ -285,7 +285,7 @@ namespace __debug
__gnu_debug::__base(__last));
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
erase(const_iterator __position)
{
@@ -321,7 +321,7 @@ namespace __debug
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
erase(const_iterator __first, const_iterator __last)
{
diff --git a/libstdc++-v3/include/debug/multimap.h b/libstdc++-v3/include/debug/multimap.h
index e46a7427345..1bac1539798 100644
--- a/libstdc++-v3/include/debug/multimap.h
+++ b/libstdc++-v3/include/debug/multimap.h
@@ -93,7 +93,7 @@ namespace __debug
multimap(const _Base& __x)
: _Base(__x) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
multimap(multimap&& __x)
noexcept(is_nothrow_copy_constructible<_Compare>::value)
: _Base(std::move(__x))
@@ -115,7 +115,7 @@ namespace __debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
multimap&
operator=(multimap&& __x)
{
@@ -171,7 +171,7 @@ namespace __debug
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
const_iterator
cbegin() const noexcept
{ return const_iterator(_Base::begin(), this); }
@@ -195,7 +195,7 @@ namespace __debug
using _Base::max_size;
// modifiers:
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
iterator
emplace(_Args&&... __args)
@@ -218,7 +218,7 @@ namespace __debug
insert(const value_type& __x)
{ return iterator(_Base::insert(__x), this); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template::value>::type>
@@ -227,14 +227,14 @@ namespace __debug
{ return iterator(_Base::insert(std::forward<_Pair>(__x)), this); }
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
insert(std::initializer_list __list)
{ _Base::insert(__list); }
#endif
iterator
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
insert(const_iterator __position, const value_type& __x)
#else
insert(iterator __position, const value_type& __x)
@@ -244,7 +244,7 @@ namespace __debug
return iterator(_Base::insert(__position.base(), __x), this);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template::value>::type>
@@ -266,7 +266,7 @@ namespace __debug
__gnu_debug::__base(__last));
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
erase(const_iterator __position)
{
@@ -304,7 +304,7 @@ namespace __debug
return __count;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
erase(const_iterator __first, const_iterator __last)
{
diff --git a/libstdc++-v3/include/debug/multiset.h b/libstdc++-v3/include/debug/multiset.h
index 04598464abd..9850c444f7d 100644
--- a/libstdc++-v3/include/debug/multiset.h
+++ b/libstdc++-v3/include/debug/multiset.h
@@ -92,7 +92,7 @@ namespace __debug
multiset(const _Base& __x)
: _Base(__x) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
multiset(multiset&& __x)
noexcept(is_nothrow_copy_constructible<_Compare>::value)
: _Base(std::move(__x))
@@ -114,7 +114,7 @@ namespace __debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
multiset&
operator=(multiset&& __x)
{
@@ -170,7 +170,7 @@ namespace __debug
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
const_iterator
cbegin() const noexcept
{ return const_iterator(_Base::begin(), this); }
@@ -194,7 +194,7 @@ namespace __debug
using _Base::max_size;
// modifiers:
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
iterator
emplace(_Args&&... __args)
@@ -217,7 +217,7 @@ namespace __debug
insert(const value_type& __x)
{ return iterator(_Base::insert(__x), this); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
insert(value_type&& __x)
{ return iterator(_Base::insert(std::move(__x)), this); }
@@ -230,7 +230,7 @@ namespace __debug
return iterator(_Base::insert(__position.base(), __x), this);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
insert(const_iterator __position, value_type&& __x)
{
@@ -249,13 +249,13 @@ namespace __debug
__gnu_debug::__base(__last));
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
insert(initializer_list __l)
{ _Base::insert(__l); }
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
erase(const_iterator __position)
{
@@ -289,7 +289,7 @@ namespace __debug
return __count;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
erase(const_iterator __first, const_iterator __last)
{
diff --git a/libstdc++-v3/include/debug/safe_iterator.h b/libstdc++-v3/include/debug/safe_iterator.h
index 68f55cd974e..637fe2d195a 100644
--- a/libstdc++-v3/include/debug/safe_iterator.h
+++ b/libstdc++-v3/include/debug/safe_iterator.h
@@ -172,7 +172,7 @@ namespace __gnu_debug
._M_iterator(__x, "other"));
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Move construction.
* @post __x is singular and unattached
@@ -229,7 +229,7 @@ namespace __gnu_debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
/**
* @brief Move assignment.
* @post __x is singular and unattached
diff --git a/libstdc++-v3/include/debug/set.h b/libstdc++-v3/include/debug/set.h
index 44cbe941732..d7d590caa23 100644
--- a/libstdc++-v3/include/debug/set.h
+++ b/libstdc++-v3/include/debug/set.h
@@ -92,7 +92,7 @@ namespace __debug
set(const _Base& __x)
: _Base(__x) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
set(set&& __x)
noexcept(is_nothrow_copy_constructible<_Compare>::value)
: _Base(std::move(__x))
@@ -114,7 +114,7 @@ namespace __debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
set&
operator=(set&& __x)
{
@@ -170,7 +170,7 @@ namespace __debug
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
const_iterator
cbegin() const noexcept
{ return const_iterator(_Base::begin(), this); }
@@ -194,7 +194,7 @@ namespace __debug
using _Base::max_size;
// modifiers:
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
std::pair
emplace(_Args&&... __args)
@@ -223,7 +223,7 @@ namespace __debug
__res.second);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
std::pair
insert(value_type&& __x)
{
@@ -241,7 +241,7 @@ namespace __debug
return iterator(_Base::insert(__position.base(), __x), this);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
insert(const_iterator __position, value_type&& __x)
{
@@ -260,13 +260,13 @@ namespace __debug
__gnu_debug::__base(__last));
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
insert(initializer_list __l)
{ _Base::insert(__l); }
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
erase(const_iterator __position)
{
@@ -298,7 +298,7 @@ namespace __debug
}
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
iterator
erase(const_iterator __first, const_iterator __last)
{
diff --git a/libstdc++-v3/include/debug/string b/libstdc++-v3/include/debug/string
index 954a7ddf684..4c51aa1ca94 100644
--- a/libstdc++-v3/include/debug/string
+++ b/libstdc++-v3/include/debug/string
@@ -113,7 +113,7 @@ namespace __gnu_debug
__gnu_debug::__base(__end), __a)
{ }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
basic_string(basic_string&& __str) noexcept
: _Base(std::move(__str))
{ }
@@ -122,7 +122,7 @@ namespace __gnu_debug
const _Allocator& __a = _Allocator())
: _Base(__l, __a)
{ }
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
~basic_string() _GLIBCXX_NOEXCEPT { }
@@ -151,7 +151,7 @@ namespace __gnu_debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
basic_string&
operator=(basic_string&& __str)
{
@@ -168,7 +168,7 @@ namespace __gnu_debug
this->_M_invalidate_all();
return *this;
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
// 21.3.2 iterators:
iterator
@@ -203,7 +203,7 @@ namespace __gnu_debug
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
const_iterator
cbegin() const noexcept
{ return const_iterator(_Base::begin(), this); }
@@ -237,7 +237,7 @@ namespace __gnu_debug
resize(size_type __n)
{ this->resize(__n, _CharT()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
shrink_to_fit()
{
@@ -296,7 +296,7 @@ namespace __gnu_debug
using _Base::at;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
using _Base::front;
using _Base::back;
#endif
@@ -327,7 +327,7 @@ namespace __gnu_debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
basic_string&
operator+=(std::initializer_list<_CharT> __l)
{
@@ -335,7 +335,7 @@ namespace __gnu_debug
this->_M_invalidate_all();
return *this;
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
basic_string&
append(const basic_string& __str)
@@ -407,7 +407,7 @@ namespace __gnu_debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
basic_string&
assign(basic_string&& __x)
{
@@ -415,7 +415,7 @@ namespace __gnu_debug
this->_M_invalidate_all();
return *this;
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
basic_string&
assign(const basic_string& __str, size_type __pos, size_type __n)
@@ -462,7 +462,7 @@ namespace __gnu_debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
basic_string&
assign(std::initializer_list<_CharT> __l)
{
@@ -470,7 +470,7 @@ namespace __gnu_debug
this->_M_invalidate_all();
return *this;
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
basic_string&
insert(size_type __pos1, const basic_string& __str)
@@ -542,7 +542,7 @@ namespace __gnu_debug
this->_M_invalidate_all();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
insert(iterator __p, std::initializer_list<_CharT> __l)
{
@@ -550,7 +550,7 @@ namespace __gnu_debug
_Base::insert(__p.base(), __l);
this->_M_invalidate_all();
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
basic_string&
erase(size_type __pos = 0, size_type __n = _Base::npos)
@@ -581,7 +581,7 @@ namespace __gnu_debug
return iterator(__res, this);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
pop_back()
{
@@ -589,7 +589,7 @@ namespace __gnu_debug
_Base::pop_back();
this->_M_invalidate_all();
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
basic_string&
replace(size_type __pos1, size_type __n1, const basic_string& __str)
@@ -685,7 +685,7 @@ namespace __gnu_debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
basic_string& replace(iterator __i1, iterator __i2,
std::initializer_list<_CharT> __l)
{
@@ -694,7 +694,7 @@ namespace __gnu_debug
this->_M_invalidate_all();
return *this;
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
size_type
copy(_CharT* __s, size_type __n, size_type __pos = 0) const
diff --git a/libstdc++-v3/include/debug/unordered_map b/libstdc++-v3/include/debug/unordered_map
index 16cf1768e42..1c99ac842b6 100644
--- a/libstdc++-v3/include/debug/unordered_map
+++ b/libstdc++-v3/include/debug/unordered_map
@@ -30,7 +30,7 @@
#ifndef _GLIBCXX_DEBUG_UNORDERED_MAP
#define _GLIBCXX_DEBUG_UNORDERED_MAP 1
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include
#else
# include
@@ -941,6 +941,6 @@ namespace __debug
} // namespace __debug
} // namespace std
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif
diff --git a/libstdc++-v3/include/debug/unordered_set b/libstdc++-v3/include/debug/unordered_set
index 8cae0c9c222..d270ecc96d3 100644
--- a/libstdc++-v3/include/debug/unordered_set
+++ b/libstdc++-v3/include/debug/unordered_set
@@ -30,7 +30,7 @@
#ifndef _GLIBCXX_DEBUG_UNORDERED_SET
#define _GLIBCXX_DEBUG_UNORDERED_SET 1
-#ifndef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus < 201103L
# include
#else
# include
@@ -923,6 +923,6 @@ namespace __debug
} // namespace __debug
} // namespace std
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
#endif
diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector
index fe65bab0c7a..9166a073691 100644
--- a/libstdc++-v3/include/debug/vector
+++ b/libstdc++-v3/include/debug/vector
@@ -53,7 +53,7 @@ namespace __debug
typedef typename _Base::const_iterator _Base_const_iterator;
typedef __gnu_debug::_Equal_to<_Base_const_iterator> _Equal;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
typedef __gnu_cxx::__alloc_traits<_Allocator> _Alloc_traits;
#endif
@@ -81,7 +81,7 @@ namespace __debug
vector(const _Allocator& __a = _Allocator())
: _Base(__a), _M_guaranteed_capacity(0) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
explicit
vector(size_type __n, const _Allocator& __a = _Allocator())
: _Base(__n, __a), _M_guaranteed_capacity(__n) { }
@@ -96,7 +96,7 @@ namespace __debug
: _Base(__n, __value, __a), _M_guaranteed_capacity(__n) { }
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
#else
@@ -117,7 +117,7 @@ namespace __debug
vector(const _Base& __x)
: _Base(__x), _M_guaranteed_capacity(__x.size()) { }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
vector(vector&& __x) noexcept
: _Base(std::move(__x)),
_M_guaranteed_capacity(this->size())
@@ -154,7 +154,7 @@ namespace __debug
return *this;
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
vector&
operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
{
@@ -177,7 +177,7 @@ namespace __debug
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
#else
@@ -201,7 +201,7 @@ namespace __debug
_M_update_guaranteed_capacity();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
assign(initializer_list __l)
{
@@ -246,7 +246,7 @@ namespace __debug
rend() const _GLIBCXX_NOEXCEPT
{ return const_reverse_iterator(begin()); }
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
const_iterator
cbegin() const noexcept
{ return const_iterator(_Base::begin(), this); }
@@ -268,7 +268,7 @@ namespace __debug
using _Base::size;
using _Base::max_size;
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
resize(size_type __sz)
{
@@ -306,7 +306,7 @@ namespace __debug
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
void
shrink_to_fit()
{
@@ -401,7 +401,7 @@ namespace __debug
_M_update_guaranteed_capacity();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
typename __gnu_cxx::__enable_if::__value,
void>::__type
@@ -428,7 +428,7 @@ namespace __debug
_Base::pop_back();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
iterator
emplace(iterator __position, _Args&&... __args)
@@ -462,7 +462,7 @@ namespace __debug
return iterator(__res, this);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template
typename __gnu_cxx::__enable_if::__value,
iterator>::__type
@@ -488,7 +488,7 @@ namespace __debug
_M_update_guaranteed_capacity();
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
template>
#else
@@ -546,11 +546,11 @@ namespace __debug
void
swap(vector& __x)
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
noexcept(_Alloc_traits::_S_nothrow_swap())
#endif
{
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
if (!_Alloc_traits::_S_propagate_on_swap())
__glibcxx_check_equal_allocs(__x);
#endif
@@ -638,7 +638,7 @@ namespace __debug
} // namespace __debug
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
// DR 1182.
/// std::hash specialization for vector.
template
diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm
index e9a48dbd0cb..0713416d1ce 100644
--- a/libstdc++-v3/include/ext/algorithm
+++ b/libstdc++-v3/include/ext/algorithm
@@ -427,7 +427,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__out_last - __out_first);
}
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
using std::is_heap;
#else
/**
@@ -471,7 +471,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
#endif
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
using std::is_sorted;
#else
// is_sorted, a predicated testing whether a range is sorted in
@@ -529,7 +529,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return false;
return true;
}
-#endif // __GXX_EXPERIMENTAL_CXX0X__
+#endif // C++11
/**
* @brief Find the median of three values.
diff --git a/libstdc++-v3/include/ext/alloc_traits.h b/libstdc++-v3/include/ext/alloc_traits.h
index b66f818a37a..3ae04acfbc2 100644
--- a/libstdc++-v3/include/ext/alloc_traits.h
+++ b/libstdc++-v3/include/ext/alloc_traits.h
@@ -31,7 +31,7 @@
#pragma GCC system_header
-#ifdef __GXX_EXPERIMENTAL_CXX0X__
+#if __cplusplus >= 201103L
# include
#else
# include