From: François Dumont Date: Sun, 23 Jul 2017 08:41:35 +0000 (+0000) Subject: re PR libstdc++/81064 (Inline namespace regression) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4a15d84228ee29d55cd011094f82c8d4fa9a5a76;p=gcc.git re PR libstdc++/81064 (Inline namespace regression) 2017-07-23 François Dumont PR libstdc++/81064 * include/bits/algorithmfwd.h: Reorganize versioned namespace. * include/bits/basic_string.h: Likewise. * include/bits/c++config: Likewise. * include/bits/deque.tcc: Likewise. * include/bits/forward_list.h: Likewise. * include/bits/forward_list.tcc: Likewise. * include/bits/hashtable_policy.h: Likewise. * include/bits/list.tcc: Likewise. * include/bits/move.h: Likewise. * include/bits/quoted_string.h: Likewise. * include/bits/random.h: Likewise. * include/bits/random.tcc: Likewise. * include/bits/regex.h: Likewise. * include/bits/regex.tcc: Likewise. * include/bits/regex_automaton.h: Likewise. * include/bits/regex_automaton.tcc: Likewise. * include/bits/regex_compiler.h: Likewise. * include/bits/regex_compiler.tcc: Likewise. * include/bits/regex_constants.h: Likewise. * include/bits/regex_error.h: Likewise. * include/bits/regex_executor.h: Likewise. * include/bits/regex_executor.tcc: Likewise. * include/bits/regex_scanner.h: Likewise. * include/bits/regex_scanner.tcc: Likewise. * include/bits/specfun.h: Likewise. * include/bits/stl_algo.h: Likewise. * include/bits/stl_algobase.h: Likewise. * include/bits/stl_bvector.h: Likewise. * include/bits/stl_deque.h: Likewise. * include/bits/stl_iterator.h: Likewise. * include/bits/stl_iterator_base_funcs.h: Likewise. * include/bits/stl_list.h: Likewise. * include/bits/stl_map.h: Likewise. * include/bits/stl_multimap.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/stl_relops.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/stl_vector.h: Likewise. * include/bits/uniform_int_dist.h: Likewise. * include/bits/unordered_map.h: Likewise. * include/bits/unordered_set.h: Likewise. * include/bits/vector.tcc: Likewise. * include/c_global/cmath: Likewise. * include/c_std/cmath: Likewise. * include/decimal/decimal: Likewise. * include/decimal/decimal.h: Likewise. * include/experimental/algorithm: Likewise. * include/experimental/any: Likewise. * include/experimental/array: Likewise. * include/experimental/bits/erase_if.h: Likewise. * include/experimental/bits/fs_dir.h: Likewise. * include/experimental/bits/fs_fwd.h: Likewise. * include/experimental/bits/fs_ops.h: Likewise. * include/experimental/bits/fs_path.h: Likewise. * include/experimental/bits/lfts_config.h: Likewise. * include/experimental/bits/shared_ptr.h: Likewise. * include/experimental/bits/string_view.tcc: Likewise. * include/experimental/chrono: Likewise. * include/experimental/deque: Likewise. * include/experimental/filesystem: Likewise. * include/experimental/forward_list: Likewise. * include/experimental/functional: Likewise. * include/experimental/iterator: Likewise. * include/experimental/list: Likewise. * include/experimental/map: Likewise. * include/experimental/memory: Likewise. * include/experimental/memory_resource: Likewise. * include/experimental/numeric: Likewise. * include/experimental/optional: Likewise. * include/experimental/propagate_const: Likewise. * include/experimental/random: Likewise. * include/experimental/ratio: Likewise. * include/experimental/regex: Likewise. * include/experimental/set: Likewise. * include/experimental/source_location: Likewise. * include/experimental/string: Likewise. * include/experimental/string_view: Likewise. * include/experimental/system_error: Likewise. * include/experimental/tuple: Likewise. * include/experimental/type_traits: Likewise. * include/experimental/unordered_map: Likewise. * include/experimental/unordered_set: Likewise. * include/experimental/utility: Likewise. * include/experimental/vector: Likewise. * include/ext/bitmap_allocator.h: Likewise. * include/ext/codecvt_specializations.h: Likewise. * include/ext/rope: Likewise. * include/ext/typelist.h: Likewise. * include/std/chrono: Likewise. * include/std/complex: Likewise. * include/std/functional: Likewise. * include/std/numeric: Likewise. * include/std/string_view: Likewise. * include/std/thread: Likewise. * include/std/variant: Likewise. * include/tr1/array: Likewise. * include/tr1/bessel_function.tcc: Likewise. * include/tr1/beta_function.tcc: Likewise. * include/tr1/cmath: Likewise. * include/tr1/complex: Likewise. * include/tr1/ell_integral.tcc: Likewise. * include/tr1/exp_integral.tcc: Likewise. * include/tr1/functional: Likewise. * include/tr1/functional_hash.h: Likewise. * include/tr1/gamma.tcc: Likewise. * include/tr1/hashtable.h: Likewise. * include/tr1/hashtable_policy.h: Likewise. * include/tr1/hypergeometric.tcc: Likewise. * include/tr1/legendre_function.tcc: Likewise. * include/tr1/modified_bessel_func.tcc: Likewise. * include/tr1/poly_hermite.tcc: Likewise. * include/tr1/poly_laguerre.tcc: Likewise. * include/tr1/random.h: Likewise. * include/tr1/random.tcc: Likewise. * include/tr1/regex: Likewise. * include/tr1/riemann_zeta.tcc: Likewise. * include/tr1/shared_ptr.h: Likewise. * include/tr1/special_function_util.h: Likewise. * include/tr1/tuple: Likewise. * include/tr1/type_traits: Likewise. * include/tr1/unordered_map.h: Likewise. * include/tr1/unordered_set.h: Likewise. * include/tr1/utility: Likewise. * include/tr2/bool_set: Likewise. * include/tr2/bool_set.tcc: Likewise. * include/tr2/dynamic_bitset: Likewise. * include/tr2/dynamic_bitset.tcc: Likewise. * include/tr2/ratio: Likewise. * include/tr2/type_traits: Likewise. * src/c++11/chrono.cc: Likewise. * src/c++11/compatibility-c++0x.cc: Likewise. * src/c++11/compatibility-chrono.cc: Likewise. * src/c++11/cxx11-shim_facets.cc: Likewise. * src/c++11/hashtable_c++0x.cc: Likewise. * src/c++11/placeholders.cc: Likewise. * src/c++11/thread.cc: Likewise. * src/c++98/bitmap_allocator.cc: Likewise. * src/c++98/hashtable_tr1.cc: Likewise. * src/c++98/list.cc: Likewise. * src/shared/hashtable-aux.cc: Likewise. * testsuite/20_util/duration/literals/range.cc: Adapt line number. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. * testsuite/20_util/forward/c_neg.cc: Likewise. * testsuite/20_util/forward/f_neg.cc: Likewise. * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. * testsuite/26_numerics/random/pr60037-neg.cc: Likewise. * python/libstdcxx/v6/printers.py: Adapt. From-SVN: r250458 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6d827669d9a..edd6f3ffbac 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,157 @@ +2017-07-23 François Dumont + + PR libstdc++/81064 + * include/bits/algorithmfwd.h: Reorganize versioned namespace. + * include/bits/basic_string.h: Likewise. + * include/bits/c++config: Likewise. + * include/bits/deque.tcc: Likewise. + * include/bits/forward_list.h: Likewise. + * include/bits/forward_list.tcc: Likewise. + * include/bits/hashtable_policy.h: Likewise. + * include/bits/list.tcc: Likewise. + * include/bits/move.h: Likewise. + * include/bits/quoted_string.h: Likewise. + * include/bits/random.h: Likewise. + * include/bits/random.tcc: Likewise. + * include/bits/regex.h: Likewise. + * include/bits/regex.tcc: Likewise. + * include/bits/regex_automaton.h: Likewise. + * include/bits/regex_automaton.tcc: Likewise. + * include/bits/regex_compiler.h: Likewise. + * include/bits/regex_compiler.tcc: Likewise. + * include/bits/regex_constants.h: Likewise. + * include/bits/regex_error.h: Likewise. + * include/bits/regex_executor.h: Likewise. + * include/bits/regex_executor.tcc: Likewise. + * include/bits/regex_scanner.h: Likewise. + * include/bits/regex_scanner.tcc: Likewise. + * include/bits/specfun.h: Likewise. + * include/bits/stl_algo.h: Likewise. + * include/bits/stl_algobase.h: Likewise. + * include/bits/stl_bvector.h: Likewise. + * include/bits/stl_deque.h: Likewise. + * include/bits/stl_iterator.h: Likewise. + * include/bits/stl_iterator_base_funcs.h: Likewise. + * include/bits/stl_list.h: Likewise. + * include/bits/stl_map.h: Likewise. + * include/bits/stl_multimap.h: Likewise. + * include/bits/stl_multiset.h: Likewise. + * include/bits/stl_relops.h: Likewise. + * include/bits/stl_set.h: Likewise. + * include/bits/stl_vector.h: Likewise. + * include/bits/uniform_int_dist.h: Likewise. + * include/bits/unordered_map.h: Likewise. + * include/bits/unordered_set.h: Likewise. + * include/bits/vector.tcc: Likewise. + * include/c_global/cmath: Likewise. + * include/c_std/cmath: Likewise. + * include/decimal/decimal: Likewise. + * include/decimal/decimal.h: Likewise. + * include/experimental/algorithm: Likewise. + * include/experimental/any: Likewise. + * include/experimental/array: Likewise. + * include/experimental/bits/erase_if.h: Likewise. + * include/experimental/bits/fs_dir.h: Likewise. + * include/experimental/bits/fs_fwd.h: Likewise. + * include/experimental/bits/fs_ops.h: Likewise. + * include/experimental/bits/fs_path.h: Likewise. + * include/experimental/bits/lfts_config.h: Likewise. + * include/experimental/bits/shared_ptr.h: Likewise. + * include/experimental/bits/string_view.tcc: Likewise. + * include/experimental/chrono: Likewise. + * include/experimental/deque: Likewise. + * include/experimental/filesystem: Likewise. + * include/experimental/forward_list: Likewise. + * include/experimental/functional: Likewise. + * include/experimental/iterator: Likewise. + * include/experimental/list: Likewise. + * include/experimental/map: Likewise. + * include/experimental/memory: Likewise. + * include/experimental/memory_resource: Likewise. + * include/experimental/numeric: Likewise. + * include/experimental/optional: Likewise. + * include/experimental/propagate_const: Likewise. + * include/experimental/random: Likewise. + * include/experimental/ratio: Likewise. + * include/experimental/regex: Likewise. + * include/experimental/set: Likewise. + * include/experimental/source_location: Likewise. + * include/experimental/string: Likewise. + * include/experimental/string_view: Likewise. + * include/experimental/system_error: Likewise. + * include/experimental/tuple: Likewise. + * include/experimental/type_traits: Likewise. + * include/experimental/unordered_map: Likewise. + * include/experimental/unordered_set: Likewise. + * include/experimental/utility: Likewise. + * include/experimental/vector: Likewise. + * include/ext/bitmap_allocator.h: Likewise. + * include/ext/codecvt_specializations.h: Likewise. + * include/ext/rope: Likewise. + * include/ext/typelist.h: Likewise. + * include/std/chrono: Likewise. + * include/std/complex: Likewise. + * include/std/functional: Likewise. + * include/std/numeric: Likewise. + * include/std/string_view: Likewise. + * include/std/thread: Likewise. + * include/std/variant: Likewise. + * include/tr1/array: Likewise. + * include/tr1/bessel_function.tcc: Likewise. + * include/tr1/beta_function.tcc: Likewise. + * include/tr1/cmath: Likewise. + * include/tr1/complex: Likewise. + * include/tr1/ell_integral.tcc: Likewise. + * include/tr1/exp_integral.tcc: Likewise. + * include/tr1/functional: Likewise. + * include/tr1/functional_hash.h: Likewise. + * include/tr1/gamma.tcc: Likewise. + * include/tr1/hashtable.h: Likewise. + * include/tr1/hashtable_policy.h: Likewise. + * include/tr1/hypergeometric.tcc: Likewise. + * include/tr1/legendre_function.tcc: Likewise. + * include/tr1/modified_bessel_func.tcc: Likewise. + * include/tr1/poly_hermite.tcc: Likewise. + * include/tr1/poly_laguerre.tcc: Likewise. + * include/tr1/random.h: Likewise. + * include/tr1/random.tcc: Likewise. + * include/tr1/regex: Likewise. + * include/tr1/riemann_zeta.tcc: Likewise. + * include/tr1/shared_ptr.h: Likewise. + * include/tr1/special_function_util.h: Likewise. + * include/tr1/tuple: Likewise. + * include/tr1/type_traits: Likewise. + * include/tr1/unordered_map.h: Likewise. + * include/tr1/unordered_set.h: Likewise. + * include/tr1/utility: Likewise. + * include/tr2/bool_set: Likewise. + * include/tr2/bool_set.tcc: Likewise. + * include/tr2/dynamic_bitset: Likewise. + * include/tr2/dynamic_bitset.tcc: Likewise. + * include/tr2/ratio: Likewise. + * include/tr2/type_traits: Likewise. + * src/c++11/chrono.cc: Likewise. + * src/c++11/compatibility-c++0x.cc: Likewise. + * src/c++11/compatibility-chrono.cc: Likewise. + * src/c++11/cxx11-shim_facets.cc: Likewise. + * src/c++11/hashtable_c++0x.cc: Likewise. + * src/c++11/placeholders.cc: Likewise. + * src/c++11/thread.cc: Likewise. + * src/c++98/bitmap_allocator.cc: Likewise. + * src/c++98/hashtable_tr1.cc: Likewise. + * src/c++98/list.cc: Likewise. + * src/shared/hashtable-aux.cc: Likewise. + * testsuite/20_util/duration/literals/range.cc: Adapt line number. + * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. + * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. + * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. + * testsuite/20_util/forward/c_neg.cc: Likewise. + * testsuite/20_util/forward/f_neg.cc: Likewise. + * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. + * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. + * testsuite/26_numerics/random/pr60037-neg.cc: Likewise. + * python/libstdcxx/v6/printers.py: Adapt. + 2017-07-20 Jonathan Wakely * config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__] diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h index 3ff4ff71230..673b98e7867 100644 --- a/libstdc++-v3/include/bits/algorithmfwd.h +++ b/libstdc++-v3/include/bits/algorithmfwd.h @@ -615,8 +615,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _FIter upper_bound(_FIter, _FIter, const _Tp&, _Compare); -_GLIBCXX_END_NAMESPACE_VERSION - _GLIBCXX_BEGIN_NAMESPACE_ALGO template @@ -845,6 +843,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate); _GLIBCXX_END_NAMESPACE_ALGO +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #ifdef _GLIBCXX_PARALLEL diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 7fd867c6acc..a343d7b1628 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -6470,8 +6470,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { }; #endif -_GLIBCXX_END_NAMESPACE_VERSION - #if __cplusplus > 201103L #define __cpp_lib_string_udls 201304 @@ -6480,8 +6478,6 @@ _GLIBCXX_END_NAMESPACE_VERSION { inline namespace string_literals { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - _GLIBCXX_DEFAULT_ABI_TAG inline basic_string operator""s(const char* __str, size_t __len) @@ -6506,12 +6502,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return basic_string{__str, __len}; } #endif -_GLIBCXX_END_NAMESPACE_VERSION } // inline namespace string_literals } // inline namespace literals #endif // __cplusplus > 201103L +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index 3e3905010f7..d5d1d24ee1a 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -267,88 +267,58 @@ namespace __gnu_cxx # define _GLIBCXX_DEFAULT_ABI_TAG #endif - // Defined if inline namespaces are used for versioning. #define _GLIBCXX_INLINE_VERSION // Inline namespace for symbol versioning. #if _GLIBCXX_INLINE_VERSION +# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __8 { +# define _GLIBCXX_END_NAMESPACE_VERSION } namespace std { - inline namespace __8 { } - - namespace rel_ops { inline namespace __8 { } } - - namespace tr1 - { - inline namespace __8 { } - namespace placeholders { inline namespace __8 { } } - namespace regex_constants { inline namespace __8 { } } - namespace __detail { inline namespace __8 { } } - } - - namespace tr2 - { inline namespace __8 { } } - - namespace decimal { inline namespace __8 { } } - -#if __cplusplus >= 201103L - namespace chrono { inline namespace __8 { } } - namespace placeholders { inline namespace __8 { } } - namespace regex_constants { inline namespace __8 { } } - namespace this_thread { inline namespace __8 { } } - +inline _GLIBCXX_BEGIN_NAMESPACE_VERSION #if __cplusplus >= 201402L inline namespace literals { - inline namespace chrono_literals { inline namespace __8 { } } - inline namespace complex_literals { inline namespace __8 { } } - inline namespace string_literals { inline namespace __8 { } } + inline namespace chrono_literals { } + inline namespace complex_literals { } + inline namespace string_literals { } #if __cplusplus > 201402L - inline namespace string_view_literals { inline namespace __8 { } } + inline namespace string_view_literals { } #endif // C++17 } #endif // C++14 -#endif // C++11 - - namespace __detail { - inline namespace __8 { } -#if __cplusplus > 201402L - namespace __variant { inline namespace __8 { } } -#endif - } +_GLIBCXX_END_NAMESPACE_VERSION } namespace __gnu_cxx { - inline namespace __8 { } - namespace __detail { inline namespace __8 { } } +inline _GLIBCXX_BEGIN_NAMESPACE_VERSION +_GLIBCXX_END_NAMESPACE_VERSION } -# define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __8 { -# define _GLIBCXX_END_NAMESPACE_VERSION } + #else # define _GLIBCXX_BEGIN_NAMESPACE_VERSION # define _GLIBCXX_END_NAMESPACE_VERSION #endif - // Inline namespaces for special modes: debug, parallel, profile. #if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) \ || defined(_GLIBCXX_PROFILE) namespace std { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + // Non-inline namespace for components replaced by alternates in active mode. namespace __cxx1998 { -# if _GLIBCXX_INLINE_VERSION - inline namespace __8 { } -# endif - # if _GLIBCXX_USE_CXX11_ABI inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } # endif } +_GLIBCXX_END_NAMESPACE_VERSION + // Inline namespace for debug mode. # ifdef _GLIBCXX_DEBUG inline namespace __debug { } @@ -396,25 +366,23 @@ namespace std #if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PROFILE) # define _GLIBCXX_STD_C __cxx1998 # define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \ - namespace _GLIBCXX_STD_C { _GLIBCXX_BEGIN_NAMESPACE_VERSION -# define _GLIBCXX_END_NAMESPACE_CONTAINER \ - _GLIBCXX_END_NAMESPACE_VERSION } + namespace _GLIBCXX_STD_C { +# define _GLIBCXX_END_NAMESPACE_CONTAINER } #else # define _GLIBCXX_STD_C std -# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER _GLIBCXX_BEGIN_NAMESPACE_VERSION -# define _GLIBCXX_END_NAMESPACE_CONTAINER _GLIBCXX_END_NAMESPACE_VERSION +# define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER +# define _GLIBCXX_END_NAMESPACE_CONTAINER #endif #ifdef _GLIBCXX_PARALLEL # define _GLIBCXX_STD_A __cxx1998 # define _GLIBCXX_BEGIN_NAMESPACE_ALGO \ - namespace _GLIBCXX_STD_A { _GLIBCXX_BEGIN_NAMESPACE_VERSION -# define _GLIBCXX_END_NAMESPACE_ALGO \ - _GLIBCXX_END_NAMESPACE_VERSION } + namespace _GLIBCXX_STD_A { +# define _GLIBCXX_END_NAMESPACE_ALGO } #else # define _GLIBCXX_STD_A std -# define _GLIBCXX_BEGIN_NAMESPACE_ALGO _GLIBCXX_BEGIN_NAMESPACE_VERSION -# define _GLIBCXX_END_NAMESPACE_ALGO _GLIBCXX_END_NAMESPACE_VERSION +# define _GLIBCXX_BEGIN_NAMESPACE_ALGO +# define _GLIBCXX_END_NAMESPACE_ALGO #endif // GLIBCXX_ABI Deprecated diff --git a/libstdc++-v3/include/bits/deque.tcc b/libstdc++-v3/include/bits/deque.tcc index 38a6e82aaef..d25ad690178 100644 --- a/libstdc++-v3/include/bits/deque.tcc +++ b/libstdc++-v3/include/bits/deque.tcc @@ -58,6 +58,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #if __cplusplus >= 201103L @@ -1107,6 +1108,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #endif _GLIBCXX_END_NAMESPACE_CONTAINER +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif diff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h index f319b7f0607..9d86fcc1568 100644 --- a/libstdc++-v3/include/bits/forward_list.h +++ b/libstdc++-v3/include/bits/forward_list.h @@ -43,6 +43,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /** @@ -1440,6 +1441,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER { __lx.swap(__ly); } _GLIBCXX_END_NAMESPACE_CONTAINER +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // _FORWARD_LIST_H diff --git a/libstdc++-v3/include/bits/forward_list.tcc b/libstdc++-v3/include/bits/forward_list.tcc index b823b09e1af..64bd9c4bf13 100644 --- a/libstdc++-v3/include/bits/forward_list.tcc +++ b/libstdc++-v3/include/bits/forward_list.tcc @@ -32,6 +32,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER template @@ -493,6 +494,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER } _GLIBCXX_END_NAMESPACE_CONTAINER +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _FORWARD_LIST_TCC */ diff --git a/libstdc++-v3/include/bits/hashtable_policy.h b/libstdc++-v3/include/bits/hashtable_policy.h index 8af8c498de2..a3a31d1fb11 100644 --- a/libstdc++-v3/include/bits/hashtable_policy.h +++ b/libstdc++-v3/include/bits/hashtable_policy.h @@ -43,12 +43,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typename _RehashPolicy, typename _Traits> class _Hashtable; -_GLIBCXX_END_NAMESPACE_VERSION - namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @defgroup hashtable-detail Base and Implementation Classes * @ingroup unordered_associative_containers @@ -2122,8 +2118,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } //@} hashtable-detail -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // _HASHTABLE_POLICY_H diff --git a/libstdc++-v3/include/bits/list.tcc b/libstdc++-v3/include/bits/list.tcc index fcb8353e09f..e21dab54263 100644 --- a/libstdc++-v3/include/bits/list.tcc +++ b/libstdc++-v3/include/bits/list.tcc @@ -58,6 +58,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER template @@ -594,6 +595,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER } _GLIBCXX_END_NAMESPACE_CONTAINER +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _LIST_TCC */ diff --git a/libstdc++-v3/include/bits/move.h b/libstdc++-v3/include/bits/move.h index 5f47b0e7bae..373f9556524 100644 --- a/libstdc++-v3/include/bits/move.h +++ b/libstdc++-v3/include/bits/move.h @@ -47,10 +47,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT { return __builtin_addressof(__r); } +#if __cplusplus >= 201103L + _GLIBCXX_END_NAMESPACE_VERSION } // namespace -#if __cplusplus >= 201103L #include // Brings in std::declval too. namespace std _GLIBCXX_VISIBILITY(default) @@ -153,8 +154,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } /// @} group utilities -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace #define _GLIBCXX_MOVE(__val) std::move(__val) #define _GLIBCXX_FORWARD(_Tp, __val) std::forward<_Tp>(__val) @@ -163,10 +162,6 @@ _GLIBCXX_END_NAMESPACE_VERSION #define _GLIBCXX_FORWARD(_Tp, __val) (__val) #endif -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @addtogroup utilities * @{ diff --git a/libstdc++-v3/include/bits/quoted_string.h b/libstdc++-v3/include/bits/quoted_string.h index 10cfec21181..0e51c223433 100644 --- a/libstdc++-v3/include/bits/quoted_string.h +++ b/libstdc++-v3/include/bits/quoted_string.h @@ -39,9 +39,9 @@ namespace std _GLIBCXX_VISIBILITY(default) { - namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace __detail { /** * @brief Struct for delimited strings. */ @@ -155,9 +155,9 @@ namespace std _GLIBCXX_VISIBILITY(default) return __is; } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/bits/random.h b/libstdc++-v3/include/bits/random.h index be2b4a6a517..2b022b2f469 100644 --- a/libstdc++-v3/include/bits/random.h +++ b/libstdc++-v3/include/bits/random.h @@ -58,15 +58,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _RealType generate_canonical(_UniformRandomNumberGenerator& __g); -_GLIBCXX_END_NAMESPACE_VERSION - /* * Implementation-space details. */ namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - template (std::numeric_limits<_UIntType>::digits)> @@ -189,11 +185,8 @@ _GLIBCXX_END_NAMESPACE_VERSION _Engine& _M_g; }; - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @addtogroup random_generators Random Number Generators * @ingroup random diff --git a/libstdc++-v3/include/bits/random.tcc b/libstdc++-v3/include/bits/random.tcc index 63d1c020285..95bcf0a163e 100644 --- a/libstdc++-v3/include/bits/random.tcc +++ b/libstdc++-v3/include/bits/random.tcc @@ -34,13 +34,13 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + /* * (Further) implementation-space details. */ namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - // General case for x = (ax + c) mod m -- use Schrage's algorithm // to avoid integer overflow. // @@ -89,11 +89,8 @@ namespace std _GLIBCXX_VISIBILITY(default) return __result; } - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template constexpr _UIntType linear_congruential_engine<_UIntType, __a, __c, __m>::multiplier; diff --git a/libstdc++-v3/include/bits/regex.h b/libstdc++-v3/include/bits/regex.h index 0bb88cb6afb..32e7159eec9 100644 --- a/libstdc++-v3/include/bits/regex.h +++ b/libstdc++-v3/include/bits/regex.h @@ -39,12 +39,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 class match_results; _GLIBCXX_END_NAMESPACE_CXX11 -_GLIBCXX_END_NAMESPACE_VERSION namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - enum class _RegexExecutorPolicy : int { _S_auto, _S_alternate }; @@ -53,19 +50,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _RegexExecutorPolicy __policy, bool __match_mode> bool - __regex_algo_impl(_BiIter __s, - _BiIter __e, + __regex_algo_impl(_BiIter __s, + _BiIter __e, match_results<_BiIter, _Alloc>& __m, const basic_regex<_CharT, _TraitsT>& __re, regex_constants::match_flag_type __flags); template class _Executor; - -_GLIBCXX_END_NAMESPACE_VERSION } -_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CXX11 /** @@ -87,9 +81,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 struct regex_traits { public: - typedef _Ch_type char_type; - typedef std::basic_string string_type; - typedef std::locale locale_type; + typedef _Ch_type char_type; + typedef std::basic_string string_type; + typedef std::locale locale_type; private: struct _RegexMask { @@ -397,8 +391,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 "regex traits class must have the same char_type"); // types: - typedef _Ch_type value_type; - typedef _Rx_traits traits_type; + typedef _Ch_type value_type; + typedef _Rx_traits traits_type; typedef typename traits_type::string_type string_type; typedef regex_constants::syntax_option_type flag_type; typedef typename traits_type::locale_type locale_type; @@ -771,20 +765,17 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 template - friend bool __detail:: -#if _GLIBCXX_INLINE_VERSION - __8:: // Required due to PR c++/59256 -#endif - __regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&, - const basic_regex<_Cp, _Rp>&, - regex_constants::match_flag_type); + friend bool + __detail::__regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&, + const basic_regex<_Cp, _Rp>&, + regex_constants::match_flag_type); template friend class __detail::_Executor; - flag_type _M_flags; - locale_type _M_loc; - _AutomatonPtr _M_automaton; + flag_type _M_flags; + locale_type _M_loc; + _AutomatonPtr _M_automaton; }; #if __cpp_deduction_guides >= 201606 @@ -837,8 +828,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 public: typedef typename __iter_traits::value_type value_type; typedef typename __iter_traits::difference_type difference_type; - typedef _BiIter iterator; - typedef std::basic_string string_type; + typedef _BiIter iterator; + typedef std::basic_string string_type; bool matched; @@ -923,14 +914,14 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 /** @brief Standard regex submatch over a C-style null-terminated string. */ - typedef sub_match csub_match; + typedef sub_match csub_match; /** @brief Standard regex submatch over a standard string. */ typedef sub_match ssub_match; #ifdef _GLIBCXX_USE_WCHAR_T /** @brief Regex submatch over a C-style null-terminated wide string. */ - typedef sub_match wcsub_match; + typedef sub_match wcsub_match; /** @brief Regex submatch over a standard wide string. */ typedef sub_match wssub_match; @@ -1548,16 +1539,16 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 * @name 10.? Public Types */ //@{ - typedef sub_match<_Bi_iter> value_type; - typedef const value_type& const_reference; - typedef const_reference reference; - typedef typename _Base_type::const_iterator const_iterator; - typedef const_iterator iterator; + typedef sub_match<_Bi_iter> value_type; + typedef const value_type& const_reference; + typedef const_reference reference; + typedef typename _Base_type::const_iterator const_iterator; + typedef const_iterator iterator; typedef typename __iter_traits::difference_type difference_type; typedef typename allocator_traits<_Alloc>::size_type size_type; - typedef _Alloc allocator_type; + typedef _Alloc allocator_type; typedef typename __iter_traits::value_type char_type; - typedef std::basic_string string_type; + typedef std::basic_string string_type; //@} public: @@ -1872,13 +1863,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 template - friend bool __detail:: -#if _GLIBCXX_INLINE_VERSION - __8:: // Required due to PR c++/59256 -#endif - __regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&, - const basic_regex<_Cp, _Rp>&, - regex_constants::match_flag_type); + friend bool + __detail::__regex_algo_impl(_Bp, _Bp, match_results<_Bp, _Ap>&, + const basic_regex<_Cp, _Rp>&, + regex_constants::match_flag_type); void _M_resize(unsigned int __size) @@ -1911,10 +1899,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 _Bi_iter _M_begin; }; - typedef match_results cmatch; - typedef match_results smatch; + typedef match_results cmatch; + typedef match_results smatch; #ifdef _GLIBCXX_USE_WCHAR_T - typedef match_results wcmatch; + typedef match_results wcmatch; typedef match_results wsmatch; #endif @@ -1994,11 +1982,11 @@ _GLIBCXX_END_NAMESPACE_CXX11 template inline bool - regex_match(_Bi_iter __s, - _Bi_iter __e, - match_results<_Bi_iter, _Alloc>& __m, + regex_match(_Bi_iter __s, + _Bi_iter __e, + match_results<_Bi_iter, _Alloc>& __m, const basic_regex<_Ch_type, _Rx_traits>& __re, - regex_constants::match_flag_type __flags + regex_constants::match_flag_type __flags = regex_constants::match_default) { return __detail::__regex_algo_impl<_Bi_iter, _Alloc, _Ch_type, _Rx_traits, @@ -2452,11 +2440,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 { public: typedef basic_regex<_Ch_type, _Rx_traits> regex_type; - typedef match_results<_Bi_iter> value_type; - typedef std::ptrdiff_t difference_type; - typedef const value_type* pointer; - typedef const value_type& reference; - typedef std::forward_iterator_tag iterator_category; + typedef match_results<_Bi_iter> value_type; + typedef std::ptrdiff_t difference_type; + typedef const value_type* pointer; + typedef const value_type& reference; + typedef std::forward_iterator_tag iterator_category; /** * @brief Provides a singular iterator, useful for indicating @@ -2543,18 +2531,18 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 } private: - _Bi_iter _M_begin; - _Bi_iter _M_end; - const regex_type* _M_pregex; - regex_constants::match_flag_type _M_flags; - match_results<_Bi_iter> _M_match; + _Bi_iter _M_begin; + _Bi_iter _M_end; + const regex_type* _M_pregex; + regex_constants::match_flag_type _M_flags; + match_results<_Bi_iter> _M_match; }; - typedef regex_iterator cregex_iterator; - typedef regex_iterator sregex_iterator; + typedef regex_iterator cregex_iterator; + typedef regex_iterator sregex_iterator; #ifdef _GLIBCXX_USE_WCHAR_T - typedef regex_iterator wcregex_iterator; - typedef regex_iterator wsregex_iterator; + typedef regex_iterator wcregex_iterator; + typedef regex_iterator wsregex_iterator; #endif // [7.12.2] Class template regex_token_iterator @@ -2571,12 +2559,12 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 class regex_token_iterator { public: - typedef basic_regex<_Ch_type, _Rx_traits> regex_type; - typedef sub_match<_Bi_iter> value_type; - typedef std::ptrdiff_t difference_type; - typedef const value_type* pointer; - typedef const value_type& reference; - typedef std::forward_iterator_tag iterator_category; + typedef basic_regex<_Ch_type, _Rx_traits> regex_type; + typedef sub_match<_Bi_iter> value_type; + typedef std::ptrdiff_t difference_type; + typedef const value_type* pointer; + typedef const value_type& reference; + typedef std::forward_iterator_tag iterator_category; public: /** @@ -2778,25 +2766,25 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 _M_result = nullptr; } - _Position _M_position; - std::vector _M_subs; - value_type _M_suffix; - std::size_t _M_n; - const value_type* _M_result; + _Position _M_position; + std::vector _M_subs; + value_type _M_suffix; + std::size_t _M_n; + const value_type* _M_result; // Show whether _M_subs contains -1 - bool _M_has_m1; + bool _M_has_m1; }; /** @brief Token iterator for C-style NULL-terminated strings. */ - typedef regex_token_iterator cregex_token_iterator; + typedef regex_token_iterator cregex_token_iterator; /** @brief Token iterator for standard strings. */ - typedef regex_token_iterator sregex_token_iterator; + typedef regex_token_iterator sregex_token_iterator; #ifdef _GLIBCXX_USE_WCHAR_T /** @brief Token iterator for C-style NULL-terminated wide strings. */ - typedef regex_token_iterator wcregex_token_iterator; + typedef regex_token_iterator wcregex_token_iterator; /** @brief Token iterator for standard wide-character strings. */ typedef regex_token_iterator wsregex_token_iterator; diff --git a/libstdc++-v3/include/bits/regex.tcc b/libstdc++-v3/include/bits/regex.tcc index dc32a49dcd9..fc2d5846c46 100644 --- a/libstdc++-v3/include/bits/regex.tcc +++ b/libstdc++-v3/include/bits/regex.tcc @@ -30,10 +30,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace __detail -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace __detail +{ // Result of merging regex_match and regex_search. // // __policy now can be _S_auto (auto dispatch) and _S_alternate (use @@ -118,12 +118,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } return __ret; } - -_GLIBCXX_END_NAMESPACE_VERSION } -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template template typename regex_traits<_Ch_type>::string_type @@ -663,4 +659,3 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace - diff --git a/libstdc++-v3/include/bits/regex_automaton.h b/libstdc++-v3/include/bits/regex_automaton.h index a5fab6356cc..00d1bd295cd 100644 --- a/libstdc++-v3/include/bits/regex_automaton.h +++ b/libstdc++-v3/include/bits/regex_automaton.h @@ -35,10 +35,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace __detail -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace __detail +{ /** * @defgroup regex-detail Base and Implementation Classes * @ingroup regex @@ -393,8 +393,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; //@} regex-detail -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #include diff --git a/libstdc++-v3/include/bits/regex_automaton.tcc b/libstdc++-v3/include/bits/regex_automaton.tcc index 727bde1f6c6..573b059a251 100644 --- a/libstdc++-v3/include/bits/regex_automaton.tcc +++ b/libstdc++-v3/include/bits/regex_automaton.tcc @@ -30,10 +30,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace __detail -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace __detail +{ #ifdef _GLIBCXX_DEBUG inline std::ostream& _State_base::_M_print(std::ostream& ostr) const @@ -233,7 +233,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } return _StateSeq(_M_nfa, __m[_M_start], __m[_M_end]); } +} // namespace __detail _GLIBCXX_END_NAMESPACE_VERSION -} // namespace __detail } // namespace diff --git a/libstdc++-v3/include/bits/regex_compiler.h b/libstdc++-v3/include/bits/regex_compiler.h index 2c00939f6f9..5d46cd43bd3 100644 --- a/libstdc++-v3/include/bits/regex_compiler.h +++ b/libstdc++-v3/include/bits/regex_compiler.h @@ -37,12 +37,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 class regex_traits; _GLIBCXX_END_NAMESPACE_CXX11 -_GLIBCXX_END_NAMESPACE_VERSION namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @addtogroup regex-detail * @{ @@ -575,8 +572,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; //@} regex-detail -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #include diff --git a/libstdc++-v3/include/bits/regex_compiler.tcc b/libstdc++-v3/include/bits/regex_compiler.tcc index a6d8016d87f..1f7dd91b643 100644 --- a/libstdc++-v3/include/bits/regex_compiler.tcc +++ b/libstdc++-v3/include/bits/regex_compiler.tcc @@ -55,10 +55,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace __detail -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace __detail +{ template _Compiler<_TraitsT>:: _Compiler(_IterT __b, _IterT __e, @@ -633,7 +633,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return false; }() ^ _M_is_non_matching; } +} // namespace __detail _GLIBCXX_END_NAMESPACE_VERSION -} // namespace __detail } // namespace diff --git a/libstdc++-v3/include/bits/regex_constants.h b/libstdc++-v3/include/bits/regex_constants.h index dad2d637aa8..12c9eea4985 100644 --- a/libstdc++-v3/include/bits/regex_constants.h +++ b/libstdc++-v3/include/bits/regex_constants.h @@ -32,6 +32,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + /** * @defgroup regex Regular Expressions * @@ -45,8 +47,6 @@ namespace std _GLIBCXX_VISIBILITY(default) */ namespace regex_constants { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @name 5.1 Regular Expression Syntax Options */ @@ -408,10 +408,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __a = __a ^ __b; } //@} - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace regex_constants - /* @} */ // group regex + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std diff --git a/libstdc++-v3/include/bits/regex_error.h b/libstdc++-v3/include/bits/regex_error.h index 55f6db9cf7a..f2a3389e984 100644 --- a/libstdc++-v3/include/bits/regex_error.h +++ b/libstdc++-v3/include/bits/regex_error.h @@ -32,6 +32,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + /** * @addtogroup regex * @{ @@ -39,8 +41,6 @@ namespace std _GLIBCXX_VISIBILITY(default) namespace regex_constants { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @name 5.3 Error Types */ @@ -120,11 +120,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr error_type error_stack(_S_error_stack); //@} -_GLIBCXX_END_NAMESPACE_VERSION } // namespace regex_constants -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // [7.8] Class regex_error /** * @brief A regular expression exception class. diff --git a/libstdc++-v3/include/bits/regex_executor.h b/libstdc++-v3/include/bits/regex_executor.h index 61054742870..3d1f2516f50 100644 --- a/libstdc++-v3/include/bits/regex_executor.h +++ b/libstdc++-v3/include/bits/regex_executor.h @@ -32,10 +32,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace __detail -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace __detail +{ /** * @addtogroup regex-detail * @{ @@ -251,8 +251,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; //@} regex-detail -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #include diff --git a/libstdc++-v3/include/bits/regex_executor.tcc b/libstdc++-v3/include/bits/regex_executor.tcc index 9d4ece74416..226e05856e1 100644 --- a/libstdc++-v3/include/bits/regex_executor.tcc +++ b/libstdc++-v3/include/bits/regex_executor.tcc @@ -30,10 +30,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace __detail -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace __detail +{ template bool _Executor<_BiIter, _Alloc, _TraitsT, __dfs_mode>:: @@ -513,7 +513,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __left_is_word != __right_is_word; } +} // namespace __detail _GLIBCXX_END_NAMESPACE_VERSION -} // namespace __detail } // namespace diff --git a/libstdc++-v3/include/bits/regex_scanner.h b/libstdc++-v3/include/bits/regex_scanner.h index 37ad862a669..670efeda69f 100644 --- a/libstdc++-v3/include/bits/regex_scanner.h +++ b/libstdc++-v3/include/bits/regex_scanner.h @@ -30,10 +30,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace __detail -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace __detail +{ /** * @addtogroup regex-detail * @{ @@ -265,8 +265,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; //@} regex-detail -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #include diff --git a/libstdc++-v3/include/bits/regex_scanner.tcc b/libstdc++-v3/include/bits/regex_scanner.tcc index ad0b0477f3c..c65bfe2f68d 100644 --- a/libstdc++-v3/include/bits/regex_scanner.tcc +++ b/libstdc++-v3/include/bits/regex_scanner.tcc @@ -48,10 +48,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace __detail -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace __detail +{ template _Scanner<_CharT>:: _Scanner(typename _Scanner::_IterT __begin, @@ -584,6 +584,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } #endif -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail +_GLIBCXX_END_NAMESPACE_VERSION } // namespace diff --git a/libstdc++-v3/include/bits/specfun.h b/libstdc++-v3/include/bits/specfun.h index 82bd02e227a..0aaebeab7ac 100644 --- a/libstdc++-v3/include/bits/specfun.h +++ b/libstdc++-v3/include/bits/specfun.h @@ -1203,6 +1203,7 @@ _GLIBCXX_END_NAMESPACE_VERSION namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION // Confluent hypergeometric functions @@ -1302,6 +1303,7 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) return std::__detail::__hyperg<__type>(__a, __b, __c, __x); } +_GLIBCXX_END_NAMESPACE_VERSION } // namespace __gnu_cxx #pragma GCC visibility pop diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index fbebfdbf032..ea413b1b155 100644 --- a/libstdc++-v3/include/bits/stl_algo.h +++ b/libstdc++-v3/include/bits/stl_algo.h @@ -3857,8 +3857,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif // C++11 -_GLIBCXX_END_NAMESPACE_VERSION - _GLIBCXX_BEGIN_NAMESPACE_ALGO /** @@ -5839,6 +5837,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO #endif // C++14 _GLIBCXX_END_NAMESPACE_ALGO +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _STL_ALGO_H */ diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h index 0a49e6ff66c..f68ecb22b82 100644 --- a/libstdc++-v3/include/bits/stl_algobase.h +++ b/libstdc++-v3/include/bits/stl_algobase.h @@ -1020,8 +1020,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __lg(unsigned long long __n) { return sizeof(long long) * __CHAR_BIT__ - 1 - __builtin_clzll(__n); } -_GLIBCXX_END_NAMESPACE_VERSION - _GLIBCXX_BEGIN_NAMESPACE_ALGO /** @@ -1411,6 +1409,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO #endif _GLIBCXX_END_NAMESPACE_ALGO +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std // NB: This file is included within many other C++ includes, as a way diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h index bf4b23eb2d3..d24e760d01b 100644 --- a/libstdc++-v3/include/bits/stl_bvector.h +++ b/libstdc++-v3/include/bits/stl_bvector.h @@ -62,6 +62,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER typedef unsigned long _Bit_type; @@ -552,6 +553,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER }; _GLIBCXX_END_NAMESPACE_CONTAINER +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std // Declare a partial specialization of vector. @@ -559,6 +561,7 @@ _GLIBCXX_END_NAMESPACE_CONTAINER namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /** @@ -1305,6 +1308,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER }; _GLIBCXX_END_NAMESPACE_CONTAINER +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #if __cplusplus >= 201103L diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h index e03e7f5808f..48b2bc7f5eb 100644 --- a/libstdc++-v3/include/bits/stl_deque.h +++ b/libstdc++-v3/include/bits/stl_deque.h @@ -67,6 +67,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /** @@ -2325,6 +2326,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #undef _GLIBCXX_DEQUE_BUF_SIZE _GLIBCXX_END_NAMESPACE_CONTAINER +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _STL_DEQUE_H */ diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h index 18c6e3f625e..88667a568c3 100644 --- a/libstdc++-v3/include/bits/stl_iterator.h +++ b/libstdc++-v3/include/bits/stl_iterator.h @@ -984,15 +984,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) { return __it.base(); } -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace - #if __cplusplus >= 201103L -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @addtogroup iterators * @{ @@ -1243,9 +1236,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION -> decltype(__miter_base(__it.base())) { return __miter_base(__it.base()); } -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace - #define _GLIBCXX_MAKE_MOVE_ITERATOR(_Iter) std::make_move_iterator(_Iter) #define _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(_Iter) \ std::__make_move_if_noexcept_iterator(_Iter) @@ -1254,6 +1244,9 @@ _GLIBCXX_END_NAMESPACE_VERSION #define _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(_Iter) (_Iter) #endif // C++11 +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace + #ifdef _GLIBCXX_DEBUG # include #endif diff --git a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h index e14a22ce255..86a93d34fa1 100644 --- a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h +++ b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h @@ -66,14 +66,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + _GLIBCXX_BEGIN_NAMESPACE_CONTAINER // Forward declaration for the overloads of __distance. template struct _List_iterator; template struct _List_const_iterator; _GLIBCXX_END_NAMESPACE_CONTAINER -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline _GLIBCXX14_CONSTEXPR typename iterator_traits<_InputIterator>::difference_type diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h index 5da19b32eea..cef94f728ef 100644 --- a/libstdc++-v3/include/bits/stl_list.h +++ b/libstdc++-v3/include/bits/stl_list.h @@ -66,10 +66,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - // Supporting structures are split into common and templated // types; the latter publicly inherits from the former in an // effort to reduce code duplication. This results in some @@ -157,8 +157,6 @@ namespace std _GLIBCXX_VISIBILITY(default) private: _List_node_base* _M_base() { return this; } }; - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace detail _GLIBCXX_BEGIN_NAMESPACE_CONTAINER @@ -1992,7 +1990,6 @@ _GLIBCXX_END_NAMESPACE_CXX11 _GLIBCXX_END_NAMESPACE_CONTAINER #if _GLIBCXX_USE_CXX11_ABI -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Detect when distance is used to compute the size of the whole list. template @@ -2026,9 +2023,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } return __n; } +#endif _GLIBCXX_END_NAMESPACE_VERSION -#endif } // namespace std #endif /* _STL_LIST_H */ diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h index 30339536f57..0e8a98a96c1 100644 --- a/libstdc++-v3/include/bits/stl_map.h +++ b/libstdc++-v3/include/bits/stl_map.h @@ -65,6 +65,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER template @@ -1437,7 +1438,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER _GLIBCXX_END_NAMESPACE_CONTAINER #if __cplusplus > 201402L -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Allow std::map access to internals of compatible maps. template @@ -1456,9 +1456,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _S_get_tree(_GLIBCXX_STD_C::multimap<_Key, _Val, _Cmp2, _Alloc>& __map) { return __map._M_t; } }; -_GLIBCXX_END_NAMESPACE_VERSION #endif // C++17 +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _STL_MAP_H */ diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h index 7dc22a96a59..7e3cea48a47 100644 --- a/libstdc++-v3/include/bits/stl_multimap.h +++ b/libstdc++-v3/include/bits/stl_multimap.h @@ -63,6 +63,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER template @@ -1102,7 +1103,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER _GLIBCXX_END_NAMESPACE_CONTAINER #if __cplusplus > 201402L -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Allow std::multimap access to internals of compatible maps. template @@ -1121,9 +1121,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _S_get_tree(_GLIBCXX_STD_C::multimap<_Key, _Val, _Cmp2, _Alloc>& __map) { return __map._M_t; } }; -_GLIBCXX_END_NAMESPACE_VERSION #endif // C++17 +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _STL_MULTIMAP_H */ diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h index 60a3db844cb..517e77e9372 100644 --- a/libstdc++-v3/include/bits/stl_multiset.h +++ b/libstdc++-v3/include/bits/stl_multiset.h @@ -63,6 +63,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER template @@ -953,7 +954,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER _GLIBCXX_END_NAMESPACE_CONTAINER #if __cplusplus > 201402L -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Allow std::multiset access to internals of compatible sets. template struct @@ -971,9 +971,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _S_get_tree(_GLIBCXX_STD_C::multiset<_Val, _Cmp2, _Alloc>& __set) { return __set._M_t; } }; -_GLIBCXX_END_NAMESPACE_VERSION #endif // C++17 +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _STL_MULTISET_H */ diff --git a/libstdc++-v3/include/bits/stl_relops.h b/libstdc++-v3/include/bits/stl_relops.h index a2614bd3040..e2a0e25ca31 100644 --- a/libstdc++-v3/include/bits/stl_relops.h +++ b/libstdc++-v3/include/bits/stl_relops.h @@ -66,10 +66,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace rel_ops { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** @namespace std::rel_ops * @brief The generated relational operators are sequestered here. */ @@ -125,10 +125,9 @@ namespace std _GLIBCXX_VISIBILITY(default) inline bool operator>=(const _Tp& __x, const _Tp& __y) { return !(__x < __y); } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace rel_ops +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _STL_RELOPS_H */ diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h index 817bc2d870f..e804a7cae70 100644 --- a/libstdc++-v3/include/bits/stl_set.h +++ b/libstdc++-v3/include/bits/stl_set.h @@ -63,6 +63,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER template @@ -969,7 +970,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER _GLIBCXX_END_NAMESPACE_CONTAINER #if __cplusplus > 201402L -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Allow std::set access to internals of compatible sets. template struct @@ -986,8 +986,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _S_get_tree(_GLIBCXX_STD_C::multiset<_Val, _Cmp2, _Alloc>& __set) { return __set._M_t; } }; -_GLIBCXX_END_NAMESPACE_VERSION #endif // C++17 +_GLIBCXX_END_NAMESPACE_VERSION } //namespace std #endif /* _STL_SET_H */ diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h index c7787f72ff5..69cb8030208 100644 --- a/libstdc++-v3/include/bits/stl_vector.h +++ b/libstdc++-v3/include/bits/stl_vector.h @@ -73,6 +73,7 @@ __sanitizer_annotate_contiguous_container(const void*, const void*, namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /// See bits/stl_deque.h's _Deque_base for an explanation. @@ -313,7 +314,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER } }; - /** * @brief A standard container which offers fixed time access to * individual elements in any order. @@ -1789,6 +1789,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER { __x.swap(__y); } _GLIBCXX_END_NAMESPACE_CONTAINER +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _STL_VECTOR_H */ diff --git a/libstdc++-v3/include/bits/uniform_int_dist.h b/libstdc++-v3/include/bits/uniform_int_dist.h index af7ac14bccf..16509c4ef8a 100644 --- a/libstdc++-v3/include/bits/uniform_int_dist.h +++ b/libstdc++-v3/include/bits/uniform_int_dist.h @@ -36,10 +36,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION /* Determine whether number is a power of 2. */ template inline bool @@ -47,11 +47,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return ((__x - 1) & __x) == 0; }; -_GLIBCXX_END_NAMESPACE_VERSION } -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief Uniform discrete distribution for random numbers. * A discrete random distribution on the range @f$[min, max]@f$ with equal diff --git a/libstdc++-v3/include/bits/unordered_map.h b/libstdc++-v3/include/bits/unordered_map.h index 4ef30ccccd6..df1302c80c0 100644 --- a/libstdc++-v3/include/bits/unordered_map.h +++ b/libstdc++-v3/include/bits/unordered_map.h @@ -32,6 +32,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /// Base types for unordered_map. @@ -1911,7 +1912,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER _GLIBCXX_END_NAMESPACE_CONTAINER #if __cplusplus > 201402L -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Allow std::unordered_map access to internals of compatible maps. template @@ -1959,9 +1959,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _S_get_table(unordered_multimap<_Key, _Val, _Hash2, _Eq2, _Alloc>& __map) { return __map._M_h; } }; -_GLIBCXX_END_NAMESPACE_VERSION #endif // C++17 +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _UNORDERED_MAP_H */ diff --git a/libstdc++-v3/include/bits/unordered_set.h b/libstdc++-v3/include/bits/unordered_set.h index 85c2562f89e..df57915f31a 100644 --- a/libstdc++-v3/include/bits/unordered_set.h +++ b/libstdc++-v3/include/bits/unordered_set.h @@ -32,6 +32,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER /// Base types for unordered_set. @@ -1557,7 +1558,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER _GLIBCXX_END_NAMESPACE_CONTAINER #if __cplusplus > 201402L -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Allow std::unordered_set access to internals of compatible sets. template @@ -1604,9 +1604,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _S_get_table(unordered_multiset<_Val, _Hash2, _Eq2, _Alloc>& __set) { return __set._M_h; } }; -_GLIBCXX_END_NAMESPACE_VERSION #endif // C++17 +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _UNORDERED_SET_H */ diff --git a/libstdc++-v3/include/bits/vector.tcc b/libstdc++-v3/include/bits/vector.tcc index b9dff0e80df..f14caaa713f 100644 --- a/libstdc++-v3/include/bits/vector.tcc +++ b/libstdc++-v3/include/bits/vector.tcc @@ -58,6 +58,7 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CONTAINER template @@ -897,6 +898,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #endif _GLIBCXX_END_NAMESPACE_CONTAINER +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #if __cplusplus >= 201103L diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath index 6e7508f6939..71f70ce6b73 100644 --- a/libstdc++-v3/include/c_global/cmath +++ b/libstdc++-v3/include/c_global/cmath @@ -513,9 +513,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION tanh(_Tp __x) { return __builtin_tanh(__x); } -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace - #if _GLIBCXX_USE_C99_MATH #if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC @@ -533,10 +530,6 @@ _GLIBCXX_END_NAMESPACE_VERSION #undef islessgreater #undef isunordered -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #if __cplusplus >= 201103L #ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO_FP @@ -952,13 +945,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __builtin_isunordered(__type(__f1), __type(__f2)); } -#endif - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace - +#endif // C++11 #endif /* _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC */ -#endif +#endif /* _GLIBCXX_USE_C99_MATH */ #if __cplusplus >= 201103L @@ -1072,10 +1061,6 @@ _GLIBCXX_END_NAMESPACE_VERSION #undef truncf #undef truncl -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // types using ::double_t; using ::float_t; @@ -1856,17 +1841,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return __builtin_trunc(__x); } #endif -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace - #endif // _GLIBCXX_USE_C99_MATH_TR1 - #endif // C++11 #if __cplusplus > 201402L -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION // [c.math.hypot3], three-dimensional hypotenuse #define __cpp_lib_hypot 201603 @@ -1905,10 +1883,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using __type = typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type; return std::__hypot3<__type>(__x, __y, __z); } -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace #endif // C++17 +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace #if _GLIBCXX_USE_STD_SPEC_FUNCS # include diff --git a/libstdc++-v3/include/c_std/cmath b/libstdc++-v3/include/c_std/cmath index c5b5a470f87..8fc5736601d 100644 --- a/libstdc++-v3/include/c_std/cmath +++ b/libstdc++-v3/include/c_std/cmath @@ -449,9 +449,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION tanh(_Tp __x) { return __builtin_tanh(__x); } -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace - #if _GLIBCXX_USE_C99_MATH #if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC @@ -469,10 +466,6 @@ _GLIBCXX_END_NAMESPACE_VERSION #undef islessgreater #undef isunordered -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type @@ -582,10 +575,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __builtin_isunordered(__type(__f1), __type(__f2)); } +#endif /* _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC */ +#endif /* _GLIBCXX_USE_C99_MATH */ + _GLIBCXX_END_NAMESPACE_VERSION } // namespace std -#endif /* _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC */ -#endif - #endif diff --git a/libstdc++-v3/include/decimal/decimal b/libstdc++-v3/include/decimal/decimal index b167a7ac7f2..adc4619d944 100644 --- a/libstdc++-v3/include/decimal/decimal +++ b/libstdc++-v3/include/decimal/decimal @@ -42,6 +42,8 @@ that is currently not available. namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + /** * @defgroup decimal Decimal Floating-Point Arithmetic * @ingroup numerics @@ -55,8 +57,6 @@ namespace std _GLIBCXX_VISIBILITY(default) */ namespace decimal { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - class decimal32; class decimal64; class decimal128; @@ -483,10 +483,10 @@ namespace decimal }; #define _GLIBCXX_USE_DECIMAL_ 1 - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace decimal // @} group decimal + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #include diff --git a/libstdc++-v3/include/decimal/decimal.h b/libstdc++-v3/include/decimal/decimal.h index ede6e57c998..d4118962614 100644 --- a/libstdc++-v3/include/decimal/decimal.h +++ b/libstdc++-v3/include/decimal/decimal.h @@ -37,10 +37,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace decimal { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - // ISO/IEC TR 24733 3.2.[234].1 Construct/copy/destroy. inline decimal32::decimal32(decimal64 __r) : __val(__r.__getval()) {} @@ -461,8 +461,9 @@ namespace decimal #undef _DEFINE_DECIMAL_COMPARISON_LHS #undef _DEFINE_DECIMAL_COMPARISON_RHS #undef _DEFINE_DECIMAL_COMPARISONS - _GLIBCXX_END_NAMESPACE_VERSION } // namespace decimal + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif /* _GLIBCXX_DECIMAL_IMPL */ diff --git a/libstdc++-v3/include/experimental/algorithm b/libstdc++-v3/include/experimental/algorithm index a7ab0e84c12..15391b1e9f2 100644 --- a/libstdc++-v3/include/experimental/algorithm +++ b/libstdc++-v3/include/experimental/algorithm @@ -40,12 +40,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline _ForwardIterator search(_ForwardIterator __first, _ForwardIterator __last, @@ -81,10 +81,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __d, std::forward<_UniformRandomNumberGenerator>(__g)); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/any b/libstdc++-v3/include/experimental/any index 36c0680c25a..984306dfce8 100644 --- a/libstdc++-v3/include/experimental/any +++ b/libstdc++-v3/include/experimental/any @@ -43,12 +43,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @defgroup any Type-safe container of any type * @ingroup experimental @@ -520,9 +520,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } // @} group any -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/array b/libstdc++-v3/include/experimental/array index 11cb924e087..9d758f7d149 100644 --- a/libstdc++-v3/include/experimental/array +++ b/libstdc++-v3/include/experimental/array @@ -40,12 +40,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_make_array 201505 /** * @defgroup make_array Array creation functions @@ -104,10 +104,10 @@ template } // @} group make_array - _GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/bits/erase_if.h b/libstdc++-v3/include/experimental/bits/erase_if.h index 7dc47dbb3eb..cc89ffad900 100644 --- a/libstdc++-v3/include/experimental/bits/erase_if.h +++ b/libstdc++-v3/include/experimental/bits/erase_if.h @@ -39,13 +39,14 @@ namespace std { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION template void __erase_nodes_if(_Container& __cont, _Predicate __pred) @@ -59,10 +60,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ++__iter; } } -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail } // inline namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/bits/fs_dir.h b/libstdc++-v3/include/experimental/bits/fs_dir.h index 0efaf944f60..1ff0d9b6def 100644 --- a/libstdc++-v3/include/experimental/bits/fs_dir.h +++ b/libstdc++-v3/include/experimental/bits/fs_dir.h @@ -40,14 +40,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { namespace filesystem { inline namespace v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @ingroup filesystem * @{ @@ -352,10 +352,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 // @} group filesystem -_GLIBCXX_END_NAMESPACE_VERSION } // namespace v1 } // namespace filesystem } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/experimental/bits/fs_fwd.h b/libstdc++-v3/include/experimental/bits/fs_fwd.h index c5aeefe41a7..7b851a3d4a8 100644 --- a/libstdc++-v3/include/experimental/bits/fs_fwd.h +++ b/libstdc++-v3/include/experimental/bits/fs_fwd.h @@ -40,17 +40,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { namespace filesystem { inline namespace v1 { -#if _GLIBCXX_INLINE_VERSION -inline namespace __8 { } -#endif -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #if _GLIBCXX_USE_CXX11_ABI inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } #endif @@ -282,10 +279,11 @@ _GLIBCXX_END_NAMESPACE_CXX11 bool is_symlink(file_status) noexcept; // @} group filesystem -_GLIBCXX_END_NAMESPACE_VERSION } // namespace v1 } // namespace filesystem } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/experimental/bits/fs_ops.h b/libstdc++-v3/include/experimental/bits/fs_ops.h index 1b455f541ba..387537260e0 100644 --- a/libstdc++-v3/include/experimental/bits/fs_ops.h +++ b/libstdc++-v3/include/experimental/bits/fs_ops.h @@ -38,14 +38,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { namespace filesystem { inline namespace v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @ingroup filesystem * @{ @@ -286,10 +286,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION path temp_directory_path(error_code& __ec); // @} group filesystem -_GLIBCXX_END_NAMESPACE_VERSION } // namespace v1 } // namespace filesystem } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/experimental/bits/fs_path.h b/libstdc++-v3/include/experimental/bits/fs_path.h index 3d639447254..cde3897b8e5 100644 --- a/libstdc++-v3/include/experimental/bits/fs_path.h +++ b/libstdc++-v3/include/experimental/bits/fs_path.h @@ -55,13 +55,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { namespace filesystem { inline namespace v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CXX11 #if __cplusplus == 201402L @@ -1080,10 +1081,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 // @} group filesystem _GLIBCXX_END_NAMESPACE_CXX11 -_GLIBCXX_END_NAMESPACE_VERSION } // namespace v1 } // namespace filesystem } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/experimental/bits/lfts_config.h b/libstdc++-v3/include/experimental/bits/lfts_config.h index ecc40c4327f..3b832706da0 100644 --- a/libstdc++-v3/include/experimental/bits/lfts_config.h +++ b/libstdc++-v3/include/experimental/bits/lfts_config.h @@ -35,30 +35,25 @@ #if _GLIBCXX_INLINE_VERSION namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace chrono { namespace experimental { -inline namespace fundamentals_v1 { inline namespace __8 { } } -inline namespace fundamentals_v2 { inline namespace __8 { } } +inline namespace fundamentals_v1 { } +inline namespace fundamentals_v2 { } } // namespace experimental } // namespace chrono namespace experimental { -inline namespace fundamentals_v1 { - inline namespace __8 { } - namespace __detail { inline namespace __8 { } } -} -inline namespace fundamentals_v2 { - inline namespace __8 { } - namespace pmr { inline namespace __8 { } } - namespace __detail { inline namespace __8 { } } -} // namespace fundamentals_v2 -inline namespace literals { inline namespace string_view_literals { - inline namespace __8 { } -} } // namespace literals::string_view_literals +inline namespace fundamentals_v1 { } +inline namespace fundamentals_v2 { } +inline namespace literals { inline namespace string_view_literals { } } } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif #endif diff --git a/libstdc++-v3/include/experimental/bits/shared_ptr.h b/libstdc++-v3/include/experimental/bits/shared_ptr.h index 27f22d23618..ef391eb641f 100644 --- a/libstdc++-v3/include/experimental/bits/shared_ptr.h +++ b/libstdc++-v3/include/experimental/bits/shared_ptr.h @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // 8.2.1 template class shared_ptr; @@ -659,13 +659,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION mutable weak_ptr<_Tp> _M_weak_this; }; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /// std::hash specialization for shared_ptr. template struct hash> diff --git a/libstdc++-v3/include/experimental/bits/string_view.tcc b/libstdc++-v3/include/experimental/bits/string_view.tcc index 03863d0a9df..e66932d1ac0 100644 --- a/libstdc++-v3/include/experimental/bits/string_view.tcc +++ b/libstdc++-v3/include/experimental/bits/string_view.tcc @@ -42,12 +42,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template typename basic_string_view<_CharT, _Traits>::size_type basic_string_view<_CharT, _Traits>:: @@ -222,10 +222,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } return npos; } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/chrono b/libstdc++-v3/include/experimental/chrono index 4247c9df746..71e36d2d86d 100644 --- a/libstdc++-v3/include/experimental/chrono +++ b/libstdc++-v3/include/experimental/chrono @@ -44,20 +44,21 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace chrono { namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION // See C++14 §20.12.4, customization traits template constexpr bool treat_as_floating_point_v = treat_as_floating_point<_Rep>::value; -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental } // namespace chrono +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/deque b/libstdc++-v3/include/experimental/deque index c92476f915d..0180a750883 100644 --- a/libstdc++-v3/include/experimental/deque +++ b/libstdc++-v3/include/experimental/deque @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template void erase_if(deque<_Tp, _Alloc>& __cont, _Predicate __pred) @@ -63,19 +63,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __cont.end()); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template - using deque = std::deque<_Tp, polymorphic_allocator<_Tp>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + namespace pmr { + template + using deque = std::deque<_Tp, polymorphic_allocator<_Tp>>; + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/filesystem b/libstdc++-v3/include/experimental/filesystem index 2f353693dbe..7953c802cd3 100644 --- a/libstdc++-v3/include/experimental/filesystem +++ b/libstdc++-v3/include/experimental/filesystem @@ -44,14 +44,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { namespace filesystem { inline namespace v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @ingroup filesystem */ @@ -65,11 +65,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __what += " [" + _M_path2.string() + ']'; return __what; } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace v1 } // namespace filesystem } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/experimental/forward_list b/libstdc++-v3/include/experimental/forward_list index 1c835aca07e..5109cb57ade 100644 --- a/libstdc++-v3/include/experimental/forward_list +++ b/libstdc++-v3/include/experimental/forward_list @@ -40,12 +40,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline void erase_if(forward_list<_Tp, _Alloc>& __cont, _Predicate __pred) @@ -59,19 +59,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erase_if(__cont, [&](__elem_type& __elem) { return __elem == __value; }); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template - using forward_list = std::forward_list<_Tp, polymorphic_allocator<_Tp>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + namespace pmr { + template + using forward_list = std::forward_list<_Tp, polymorphic_allocator<_Tp>>; + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/functional b/libstdc++-v3/include/experimental/functional index 4639e6f6cb3..3327399b4d4 100644 --- a/libstdc++-v3/include/experimental/functional +++ b/libstdc++-v3/include/experimental/functional @@ -49,12 +49,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // See C++14 §20.9.9, Function object binders /// Variable template for std::is_bind_expression @@ -368,14 +368,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } return __last; } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_not_fn 201406 /// [func.not_fn] Function template not_fn @@ -386,10 +382,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return std::_Not_fn>{std::forward<_Fn>(__fn), 0}; } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/iterator b/libstdc++-v3/include/experimental/iterator index 8a8395da759..553009c92b0 100644 --- a/libstdc++-v3/include/experimental/iterator +++ b/libstdc++-v3/include/experimental/iterator @@ -45,12 +45,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_ostream_joiner 201411 /// Output iterator that inserts a delimiter between elements. @@ -105,10 +105,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION make_ostream_joiner(basic_ostream<_CharT, _Traits>& __os, _DelimT&& __delimiter) { return { __os, std::forward<_DelimT>(__delimiter) }; } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/list b/libstdc++-v3/include/experimental/list index 9409431c4d8..94663ad030a 100644 --- a/libstdc++-v3/include/experimental/list +++ b/libstdc++-v3/include/experimental/list @@ -40,12 +40,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline void erase_if(list<_Tp, _Alloc>& __cont, _Predicate __pred) @@ -59,19 +59,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erase_if(__cont, [&](__elem_type& __elem) { return __elem == __value; }); } -_GLIBCXX_END_NAMESPACE_VERSION - namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template using list = std::list<_Tp, polymorphic_allocator<_Tp>>; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/map b/libstdc++-v3/include/experimental/map index 2bbc1bd5a11..85055967fa5 100644 --- a/libstdc++-v3/include/experimental/map +++ b/libstdc++-v3/include/experimental/map @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline void @@ -59,26 +59,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erase_if(multimap<_Key, _Tp, _Compare, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template> - using map + namespace pmr { + template> + using map = std::map<_Key, _Tp, _Compare, polymorphic_allocator>>; - template> - using multimap + template> + using multimap = std::multimap<_Key, _Tp, _Compare, polymorphic_allocator>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr - + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/memory b/libstdc++-v3/include/experimental/memory index 7467674db81..33a154bf50c 100644 --- a/libstdc++-v3/include/experimental/memory +++ b/libstdc++-v3/include/experimental/memory @@ -47,12 +47,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_observer_ptr 201411 template @@ -231,8 +231,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return !(__p1 < __p2); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental @@ -250,6 +248,8 @@ template } }; + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/memory_resource b/libstdc++-v3/include/experimental/memory_resource index 99ace7a7f81..f4ecc5ab1d3 100644 --- a/libstdc++-v3/include/experimental/memory_resource +++ b/libstdc++-v3/include/experimental/memory_resource @@ -37,11 +37,11 @@ #include namespace std { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_memory_resources 201402L class memory_resource; @@ -379,11 +379,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __r = new_delete_resource(); return __get_default_resource().exchange(__r); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif diff --git a/libstdc++-v3/include/experimental/numeric b/libstdc++-v3/include/experimental/numeric index b7b8207069f..33e7b55ef90 100644 --- a/libstdc++-v3/include/experimental/numeric +++ b/libstdc++-v3/include/experimental/numeric @@ -44,12 +44,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_gcd_lcm 201411 /// Greatest common divisor @@ -75,10 +75,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static_assert(!is_same<_Nn, bool>::value, "lcm arguments are not bools"); return std::__detail::__lcm(__m, __n); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/optional b/libstdc++-v3/include/experimental/optional index 4a1e71d4234..d4c58a600bf 100644 --- a/libstdc++-v3/include/experimental/optional +++ b/libstdc++-v3/include/experimental/optional @@ -57,12 +57,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @defgroup optional Optional values * @ingroup experimental @@ -980,9 +980,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return optional> { std::forward<_Tp>(__t) }; } // @} group optional -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 -} +} // namespace experimental // [X.Y.12] template @@ -1001,7 +1000,9 @@ _GLIBCXX_END_NAMESPACE_VERSION return __t ? hash<_Tp> {}(*__t) : __magic_disengaged_hash; } }; -} + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/propagate_const b/libstdc++-v3/include/experimental/propagate_const index 719e17aa3d0..639f21a979e 100644 --- a/libstdc++-v3/include/experimental/propagate_const +++ b/libstdc++-v3/include/experimental/propagate_const @@ -43,12 +43,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @defgroup propagate_const Const-propagating wrapper * @ingroup experimental @@ -424,7 +424,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } // @} group propagate_const - _GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental @@ -533,6 +532,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef experimental::propagate_const<_Tp> second_argument_type; typedef bool result_type; }; + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/random b/libstdc++-v3/include/experimental/random index e28df5df721..2d22544e9ca 100644 --- a/libstdc++-v3/include/experimental/random +++ b/libstdc++-v3/include/experimental/random @@ -33,10 +33,10 @@ #include namespace std { -namespace experimental { -inline namespace fundamentals_v2 { _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace experimental { +inline namespace fundamentals_v2 { #define __cpp_lib_experimental_randint 201511 inline std::default_random_engine& @@ -71,10 +71,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { _S_randint_engine().seed(__value); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif diff --git a/libstdc++-v3/include/experimental/ratio b/libstdc++-v3/include/experimental/ratio index ffbae76ca79..bc2d0f267b2 100644 --- a/libstdc++-v3/include/experimental/ratio +++ b/libstdc++-v3/include/experimental/ratio @@ -44,12 +44,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // See C++14 §20.11.5, ratio comparison template constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value; @@ -63,10 +63,10 @@ template constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value; template constexpr bool ratio_greater_equal_v = ratio_greater_equal<_R1, _R2>::value; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/regex b/libstdc++-v3/include/experimental/regex index 9b5679fc78e..bfcaf6b85c3 100644 --- a/libstdc++-v3/include/experimental/regex +++ b/libstdc++-v3/include/experimental/regex @@ -40,13 +40,14 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_CXX11 template @@ -60,11 +61,11 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 typedef match_results wsmatch; _GLIBCXX_END_NAMESPACE_CXX11 -_GLIBCXX_END_NAMESPACE_VERSION } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/set b/libstdc++-v3/include/experimental/set index a10617bb2a9..fba136c90c5 100644 --- a/libstdc++-v3/include/experimental/set +++ b/libstdc++-v3/include/experimental/set @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline void @@ -59,23 +59,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION erase_if(multiset<_Key, _Compare, _Alloc>& __cont, _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template> - using set = std::set<_Key, _Compare, polymorphic_allocator<_Key>>; - - template> - using multiset = std::multiset<_Key, _Compare, - polymorphic_allocator<_Key>>; + namespace pmr { + template> + using set = std::set<_Key, _Compare, polymorphic_allocator<_Key>>; -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + template> + using multiset = std::multiset<_Key, _Compare, + polymorphic_allocator<_Key>>; + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/source_location b/libstdc++-v3/include/experimental/source_location index b06d8b651ae..a7fa95549b3 100644 --- a/libstdc++-v3/include/experimental/source_location +++ b/libstdc++-v3/include/experimental/source_location @@ -32,10 +32,10 @@ #include namespace std { -namespace experimental { -inline namespace fundamentals_v2 { _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace experimental { +inline namespace fundamentals_v2 { #define __cpp_lib_experimental_source_location 201505 struct source_location @@ -77,10 +77,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION uint_least32_t _M_line; uint_least32_t _M_col; }; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif diff --git a/libstdc++-v3/include/experimental/string b/libstdc++-v3/include/experimental/string index 5347991959e..893013b1869 100644 --- a/libstdc++-v3/include/experimental/string +++ b/libstdc++-v3/include/experimental/string @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline void @@ -64,30 +64,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __cont.end()); } -_GLIBCXX_END_NAMESPACE_VERSION + namespace pmr { + _GLIBCXX_BEGIN_NAMESPACE_CXX11 -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION -_GLIBCXX_BEGIN_NAMESPACE_CXX11 + // basic_string using polymorphic allocator in namespace pmr + template> + using basic_string = + std::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>; - // basic_string using polymorphic allocator in namespace pmr - template> - using basic_string = - std::basic_string<_CharT, _Traits, polymorphic_allocator<_CharT>>; - - // basic_string typedef names using polymorphic allocator in namespace - // std::experimental::pmr - typedef basic_string string; - typedef basic_string u16string; - typedef basic_string u32string; - typedef basic_string wstring; - -_GLIBCXX_END_NAMESPACE_CXX11 -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + // basic_string typedef names using polymorphic allocator in namespace + // std::experimental::pmr + typedef basic_string string; + typedef basic_string u16string; + typedef basic_string u32string; + typedef basic_string wstring; + _GLIBCXX_END_NAMESPACE_CXX11 + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/string_view b/libstdc++-v3/include/experimental/string_view index bd212ac3719..5cec5597744 100644 --- a/libstdc++-v3/include/experimental/string_view +++ b/libstdc++-v3/include/experimental/string_view @@ -45,12 +45,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_string_view 201411 /** @@ -434,23 +434,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const _CharT* _M_str; }; -_GLIBCXX_END_NAMESPACE_VERSION - // [string.view.comparison], non-member basic_string_view comparison functions namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Identity transform to create a non-deduced context, so that only one // argument participates in template argument deduction and the other // argument gets implicitly converted to the deduced type. See n3766.html. template using __idt = common_type_t<_Tp>; -_GLIBCXX_END_NAMESPACE_VERSION } -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline bool operator==(basic_string_view<_CharT, _Traits> __x, @@ -577,15 +571,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using u16string_view = basic_string_view; using u32string_view = basic_string_view; #endif - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental // [string.view.hash], hash support: - -_GLIBCXX_BEGIN_NAMESPACE_VERSION template struct hash; @@ -647,7 +637,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct __is_fast_hash> : std::false_type { }; #endif -_GLIBCXX_END_NAMESPACE_VERSION namespace experimental { @@ -656,8 +645,6 @@ namespace experimental { inline namespace string_view_literals { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - inline constexpr basic_string_view operator""sv(const char* __str, size_t __len) { return basic_string_view{__str, __len}; } @@ -677,11 +664,11 @@ namespace experimental operator""sv(const char32_t* __str, size_t __len) { return basic_string_view{__str, __len}; } #endif - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace string_literals } // namespace literals } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #include diff --git a/libstdc++-v3/include/experimental/system_error b/libstdc++-v3/include/experimental/system_error index 2b4855dba72..2bad7503b2f 100644 --- a/libstdc++-v3/include/experimental/system_error +++ b/libstdc++-v3/include/experimental/system_error @@ -44,22 +44,22 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // See C++14 §19.5, System error support template constexpr bool is_error_code_enum_v = is_error_code_enum<_Tp>::value; template constexpr bool is_error_condition_enum_v = is_error_condition_enum<_Tp>::value; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/tuple b/libstdc++-v3/include/experimental/tuple index 879636eecd8..a12fa0a3327 100644 --- a/libstdc++-v3/include/experimental/tuple +++ b/libstdc++-v3/include/experimental/tuple @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // See C++14 §20.4.2.5, tuple helper classes template constexpr size_t tuple_size_v = tuple_size<_Tp>::value; @@ -71,10 +71,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION std::forward<_Tuple>(__t), _Indices{}); } - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/type_traits b/libstdc++-v3/include/experimental/type_traits index 7ec06308ba9..3885c168e31 100644 --- a/libstdc++-v3/include/experimental/type_traits +++ b/libstdc++-v3/include/experimental/type_traits @@ -44,12 +44,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_type_trait_variable_templates 201402 // See C++14 §20.10.4.1, primary type categories @@ -218,13 +218,10 @@ template // raw_invocation_type (still unimplemented) // invocation_type_t (still unimplemented) // raw_invocation_type_t (still unimplemented) -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v1 inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_detect 201505 // [meta.detect] @@ -299,10 +296,10 @@ template template constexpr bool negation_v = negation<_Pp>::value; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cplusplus <= 201103L diff --git a/libstdc++-v3/include/experimental/unordered_map b/libstdc++-v3/include/experimental/unordered_map index fbc44b267b5..cddd5b3d78c 100644 --- a/libstdc++-v3/include/experimental/unordered_map +++ b/libstdc++-v3/include/experimental/unordered_map @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline void @@ -61,28 +61,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template, - typename _Pred = equal_to<_Key>> - using unordered_map + namespace pmr { + template, + typename _Pred = equal_to<_Key>> + using unordered_map = std::unordered_map<_Key, _Tp, _Hash, _Pred, polymorphic_allocator>>; - template, - typename _Pred = equal_to<_Key>> - using unordered_multimap + template, + typename _Pred = equal_to<_Key>> + using unordered_multimap = std::unordered_multimap<_Key, _Tp, _Hash, _Pred, polymorphic_allocator>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/unordered_set b/libstdc++-v3/include/experimental/unordered_set index 3c8fe255275..816327f9ba7 100644 --- a/libstdc++-v3/include/experimental/unordered_set +++ b/libstdc++-v3/include/experimental/unordered_set @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline void @@ -61,27 +61,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Predicate __pred) { __detail::__erase_nodes_if(__cont, __pred); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template, - typename _Pred = equal_to<_Key>> - using unordered_set + namespace pmr { + template, + typename _Pred = equal_to<_Key>> + using unordered_set = std::unordered_set<_Key, _Hash, _Pred, polymorphic_allocator<_Key>>; - template, - typename _Pred = equal_to<_Key>> - using unordered_multiset + template, + typename _Pred = equal_to<_Key>> + using unordered_multiset = std::unordered_multiset<_Key, _Hash, _Pred, polymorphic_allocator<_Key>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/experimental/utility b/libstdc++-v3/include/experimental/utility index db85c5cc62c..5d21d67e387 100644 --- a/libstdc++-v3/include/experimental/utility +++ b/libstdc++-v3/include/experimental/utility @@ -34,16 +34,16 @@ #include namespace std { -namespace experimental { -inline namespace fundamentals_v2 { _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace experimental { +inline namespace fundamentals_v2 { // 3.1.2, erased-type placeholder using erased_type = std::__erased_type; - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif diff --git a/libstdc++-v3/include/experimental/vector b/libstdc++-v3/include/experimental/vector index b75a3bc7ce4..e77dd2e4771 100644 --- a/libstdc++-v3/include/experimental/vector +++ b/libstdc++-v3/include/experimental/vector @@ -41,12 +41,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace experimental { inline namespace fundamentals_v2 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_experimental_erase_if 201411 template @@ -65,19 +65,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __cont.end()); } -_GLIBCXX_END_NAMESPACE_VERSION - -namespace pmr { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - - template - using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>; - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace pmr + namespace pmr { + template + using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>; + } // namespace pmr } // namespace fundamentals_v2 } // namespace experimental + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h index 3e3126985b7..65541a499eb 100644 --- a/libstdc++-v3/include/ext/bitmap_allocator.h +++ b/libstdc++-v3/include/ext/bitmap_allocator.h @@ -44,12 +44,13 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + using std::size_t; using std::ptrdiff_t; namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION /** @class __mini_vector bitmap_allocator.h bitmap_allocator.h * * @brief __mini_vector<> is a stripped down version of the @@ -501,12 +502,8 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) size_t __mask = 1 << __pos; *__pbmap |= __mask; } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** @brief Generic Version of the bsf instruction. */ inline size_t @@ -1134,4 +1131,3 @@ _GLIBCXX_END_NAMESPACE_VERSION } // namespace __gnu_cxx #endif - diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h index 1f0452f4f80..fdc5c5b98bf 100644 --- a/libstdc++-v3/include/ext/codecvt_specializations.h +++ b/libstdc++-v3/include/ext/codecvt_specializations.h @@ -41,8 +41,8 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { -_GLIBCXX_BEGIN_NAMESPACE_CXX11 _GLIBCXX_BEGIN_NAMESPACE_VERSION +_GLIBCXX_BEGIN_NAMESPACE_CXX11 /// Extension to use iconv for dealing with character encodings. // This includes conversions and comparisons between various character @@ -215,8 +215,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef typename std::fpos pos_type; }; -_GLIBCXX_END_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_CXX11 +_GLIBCXX_END_NAMESPACE_VERSION } // namespace diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope index d97b57ff415..9f707a75960 100644 --- a/libstdc++-v3/include/ext/rope +++ b/libstdc++-v3/include/ext/rope @@ -65,6 +65,8 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace __detail { enum { _S_max_rope_depth = 45 }; @@ -76,8 +78,6 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) using std::allocator; using std::_Destroy; -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // See libstdc++/36832. template void @@ -2937,10 +2937,10 @@ _GLIBCXX_END_NAMESPACE_VERSION namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ template<> struct hash<__gnu_cxx::crope> { @@ -2967,9 +2967,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return 13 * __str[0] + 5 * __str[__size - 1] + __size; } }; +} // namespace tr1 _GLIBCXX_END_NAMESPACE_VERSION -} // namespace tr1 } // namespace std # include diff --git a/libstdc++-v3/include/ext/typelist.h b/libstdc++-v3/include/ext/typelist.h index 46e653b40c5..3999c153501 100644 --- a/libstdc++-v3/include/ext/typelist.h +++ b/libstdc++-v3/include/ext/typelist.h @@ -127,18 +127,7 @@ namespace typelist template struct create6; -} // namespace typelist - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace - -namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - -namespace typelist -{ namespace detail { template @@ -366,10 +355,6 @@ namespace detail typedef typename append_type::type::root type; }; } // namespace detail -} // namespace typelist - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace #define _GLIBCXX_TYPELIST_CHAIN1(X0) __gnu_cxx::typelist::chain #define _GLIBCXX_TYPELIST_CHAIN2(X0, X1) __gnu_cxx::typelist::chain @@ -392,12 +377,6 @@ _GLIBCXX_END_NAMESPACE_VERSION #define _GLIBCXX_TYPELIST_CHAIN19(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18) __gnu_cxx::typelist::chain #define _GLIBCXX_TYPELIST_CHAIN20(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19) __gnu_cxx::typelist::chain -namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - -namespace typelist -{ template void apply(Fn& fn, Typelist) diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono index c3a6ba8f873..1bcbf524a7b 100644 --- a/libstdc++-v3/include/std/chrono +++ b/libstdc++-v3/include/std/chrono @@ -45,6 +45,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + /** * @defgroup chrono Time * @ingroup utilities @@ -58,19 +60,13 @@ namespace std _GLIBCXX_VISIBILITY(default) */ namespace chrono { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - template> struct duration; template struct time_point; - - _GLIBCXX_END_NAMESPACE_VERSION } -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // 20.11.4.3 specialization of common_type (for duration, sfinae-friendly) template @@ -117,12 +113,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION common_type<_Duration1, _Duration2>>::type, _Clock>::type { }; -_GLIBCXX_END_NAMESPACE_VERSION - namespace chrono { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - // Primary template for duration_cast impl. template @@ -871,8 +863,6 @@ _GLIBCXX_END_NAMESPACE_VERSION using high_resolution_clock = system_clock; } // end inline namespace _V2 - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace chrono #if __cplusplus > 201103L @@ -883,8 +873,6 @@ _GLIBCXX_END_NAMESPACE_VERSION { inline namespace chrono_literals { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - template struct _Checked_integral_constant : integral_constant<_Rep, static_cast<_Rep>(_Val)> @@ -959,22 +947,19 @@ _GLIBCXX_END_NAMESPACE_VERSION operator""ns() { return __check_overflow(); } - _GLIBCXX_END_NAMESPACE_VERSION } // inline namespace chrono_literals } // inline namespace literals namespace chrono { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - - using namespace literals::chrono_literals; - - _GLIBCXX_END_NAMESPACE_VERSION + using namespace literals::chrono_literals; } // namespace chrono #endif // __cplusplus > 201103L // @} group chrono + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif //_GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex index 6342c98e88a..bd8b09d84f0 100644 --- a/libstdc++-v3/include/std/complex +++ b/libstdc++-v3/include/std/complex @@ -1937,14 +1937,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return std::complex<__type>(__x, -__type()); } -_GLIBCXX_END_NAMESPACE_VERSION - #if __cplusplus > 201103L inline namespace literals { inline namespace complex_literals { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - #define __cpp_lib_complex_udls 201309 constexpr std::complex @@ -1971,12 +1967,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION operator""il(unsigned long long __num) { return std::complex{0.0L, static_cast(__num)}; } -_GLIBCXX_END_NAMESPACE_VERSION } // inline namespace complex_literals } // inline namespace literals #endif // C++14 +_GLIBCXX_END_NAMESPACE_VERSION } // namespace #endif // C++11 diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional index 465b3ec7792..a6d121bb150 100644 --- a/libstdc++-v3/include/std/functional +++ b/libstdc++-v3/include/std/functional @@ -259,15 +259,12 @@ _GLIBCXX_MEM_FN_TRAITS(&& noexcept, false_type, true_type) */ template struct _Placeholder { }; - _GLIBCXX_END_NAMESPACE_VERSION - /** @namespace std::placeholders * @brief ISO C++11 entities sub-namespace for functional. * @ingroup binders */ namespace placeholders { - _GLIBCXX_BEGIN_NAMESPACE_VERSION /* Define a large number of placeholders. There is no way to * simplify this with variadic templates, because we're introducing * unique names for each. @@ -301,11 +298,8 @@ _GLIBCXX_MEM_FN_TRAITS(&& noexcept, false_type, true_type) extern const _Placeholder<27> _27; extern const _Placeholder<28> _28; extern const _Placeholder<29> _29; - _GLIBCXX_END_NAMESPACE_VERSION } - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * Partial specialization of is_placeholder that provides the placeholder * number for the placeholder objects defined by libstdc++. diff --git a/libstdc++-v3/include/std/numeric b/libstdc++-v3/include/std/numeric index c7abbc1b681..17d629db81d 100644 --- a/libstdc++-v3/include/std/numeric +++ b/libstdc++-v3/include/std/numeric @@ -79,10 +79,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace __detail -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace __detail +{ // std::abs is not constexpr and doesn't support unsigned integers. template constexpr @@ -117,11 +117,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * __detail::__abs_integral(__n) : 0; } - -_GLIBCXX_END_NAMESPACE_VERSION -} - -_GLIBCXX_BEGIN_NAMESPACE_VERSION +} // namespace __detail #if __cplusplus > 201402L diff --git a/libstdc++-v3/include/std/string_view b/libstdc++-v3/include/std/string_view index 311d6d725b3..88a7686618c 100644 --- a/libstdc++-v3/include/std/string_view +++ b/libstdc++-v3/include/std/string_view @@ -427,23 +427,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION size_t _M_len; const _CharT* _M_str; }; -_GLIBCXX_END_NAMESPACE_VERSION // [string.view.comparison], non-member basic_string_view comparison function namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Identity transform to create a non-deduced context, so that only one // argument participates in template argument deduction and the other // argument gets implicitly converted to the deduced type. See n3766.html. template using __idt = common_type_t<_Tp>; -_GLIBCXX_END_NAMESPACE_VERSION } -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline bool operator==(basic_string_view<_CharT, _Traits> __x, @@ -634,14 +629,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct __is_fast_hash> : std::false_type { }; #endif -_GLIBCXX_END_NAMESPACE_VERSION inline namespace literals { inline namespace string_view_literals { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - inline constexpr basic_string_view operator""sv(const char* __str, size_t __len) { return basic_string_view{__str, __len}; } @@ -661,11 +653,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION operator""sv(const char32_t* __str, size_t __len) { return basic_string_view{__str, __len}; } #endif - -_GLIBCXX_END_NAMESPACE_VERSION } // namespace string_literals } // namespace literals +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #include diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread index 8e2cb68e295..17db5ce87ae 100644 --- a/libstdc++-v3/include/std/thread +++ b/libstdc++-v3/include/std/thread @@ -321,16 +321,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __out << __id._M_thread; } -_GLIBCXX_END_NAMESPACE_VERSION - /** @namespace std::this_thread * @brief ISO C++ 2011 entities sub-namespace for thread. * 30.3.2 Namespace this_thread. */ namespace this_thread { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /// get_id inline thread::id get_id() noexcept @@ -398,12 +394,11 @@ _GLIBCXX_END_NAMESPACE_VERSION __now = _Clock::now(); } } - - _GLIBCXX_END_NAMESPACE_VERSION } // @} group threads +_GLIBCXX_END_NAMESPACE_VERSION } // namespace #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant index 23db6d27529..d0c22e35d0f 100644 --- a/libstdc++-v3/include/std/variant +++ b/libstdc++-v3/include/std/variant @@ -50,12 +50,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace __detail { namespace __variant { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template struct _Nth_type; @@ -67,12 +67,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct _Nth_type<0, _First, _Rest...> { using type = _First; }; -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __variant } // namespace __detail -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template class tuple; template class variant; template struct hash; @@ -141,13 +138,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr variant_alternative_t<_Np, variant<_Types...>> const&& get(const variant<_Types...>&&); -_GLIBCXX_END_NAMESPACE_VERSION - namespace __detail { namespace __variant { -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Returns the first apparence of _Tp in _Types. // Returns sizeof...(_Types) if _Tp is not in _Types. template @@ -299,40 +293,40 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION struct _Traits { static constexpr bool _S_default_ctor = - is_default_constructible_v::type>; + is_default_constructible_v::type>; static constexpr bool _S_copy_ctor = - (is_copy_constructible_v<_Types> && ...); + (is_copy_constructible_v<_Types> && ...); static constexpr bool _S_move_ctor = - (is_move_constructible_v<_Types> && ...); + (is_move_constructible_v<_Types> && ...); static constexpr bool _S_copy_assign = - _S_copy_ctor && _S_move_ctor - && (is_copy_assignable_v<_Types> && ...); + _S_copy_ctor && _S_move_ctor + && (is_copy_assignable_v<_Types> && ...); static constexpr bool _S_move_assign = - _S_move_ctor - && (is_move_assignable_v<_Types> && ...); + _S_move_ctor + && (is_move_assignable_v<_Types> && ...); static constexpr bool _S_trivial_dtor = - (is_trivially_destructible_v<_Types> && ...); + (is_trivially_destructible_v<_Types> && ...); static constexpr bool _S_trivial_copy_ctor = - (is_trivially_copy_constructible_v<_Types> && ...); + (is_trivially_copy_constructible_v<_Types> && ...); static constexpr bool _S_trivial_move_ctor = - (is_trivially_move_constructible_v<_Types> && ...); + (is_trivially_move_constructible_v<_Types> && ...); static constexpr bool _S_trivial_copy_assign = - _S_trivial_dtor && (is_trivially_copy_assignable_v<_Types> && ...); + _S_trivial_dtor && (is_trivially_copy_assignable_v<_Types> && ...); static constexpr bool _S_trivial_move_assign = - _S_trivial_dtor && (is_trivially_move_assignable_v<_Types> && ...); + _S_trivial_dtor && (is_trivially_move_assignable_v<_Types> && ...); // The following nothrow traits are for non-trivial SMFs. Trivial SMFs // are always nothrow. static constexpr bool _S_nothrow_default_ctor = - is_nothrow_default_constructible_v< - typename _Nth_type<0, _Types...>::type>; + is_nothrow_default_constructible_v< + typename _Nth_type<0, _Types...>::type>; static constexpr bool _S_nothrow_copy_ctor = false; static constexpr bool _S_nothrow_move_ctor = - (is_nothrow_move_constructible_v<_Types> && ...); + (is_nothrow_move_constructible_v<_Types> && ...); static constexpr bool _S_nothrow_copy_assign = false; static constexpr bool _S_nothrow_move_assign = - _S_nothrow_move_ctor && (is_nothrow_move_assignable_v<_Types> && ...); + _S_nothrow_move_ctor && (is_nothrow_move_assignable_v<_Types> && ...); }; // Defines members and ctors. @@ -452,7 +446,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template using _Variant_storage_alias = - _Variant_storage<_Traits<_Types...>::_S_trivial_dtor, _Types...>; + _Variant_storage<_Traits<_Types...>::_S_trivial_dtor, _Types...>; // The following are (Copy|Move) (ctor|assign) layers for forwarding // triviality and handling non-trivial SMF behaviors. @@ -464,7 +458,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using _Base::_Base; _Copy_ctor_base(const _Copy_ctor_base& __rhs) - noexcept(_Traits<_Types...>::_S_nothrow_copy_ctor) + noexcept(_Traits<_Types...>::_S_nothrow_copy_ctor) { if (__rhs._M_valid()) { @@ -489,7 +483,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template using _Copy_ctor_alias = - _Copy_ctor_base<_Traits<_Types...>::_S_trivial_copy_ctor, _Types...>; + _Copy_ctor_base<_Traits<_Types...>::_S_trivial_copy_ctor, _Types...>; template struct _Move_ctor_base : _Copy_ctor_alias<_Types...> @@ -498,7 +492,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using _Base::_Base; _Move_ctor_base(_Move_ctor_base&& __rhs) - noexcept(_Traits<_Types...>::_S_nothrow_move_ctor) + noexcept(_Traits<_Types...>::_S_nothrow_move_ctor) { if (__rhs._M_valid()) { @@ -523,7 +517,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template using _Move_ctor_alias = - _Move_ctor_base<_Traits<_Types...>::_S_trivial_move_ctor, _Types...>; + _Move_ctor_base<_Traits<_Types...>::_S_trivial_move_ctor, _Types...>; template struct _Copy_assign_base : _Move_ctor_alias<_Types...> @@ -533,7 +527,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Copy_assign_base& operator=(const _Copy_assign_base& __rhs) - noexcept(_Traits<_Types...>::_S_nothrow_copy_assign) + noexcept(_Traits<_Types...>::_S_nothrow_copy_assign) { if (this->_M_index == __rhs._M_index) { @@ -576,8 +570,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template using _Copy_assign_alias = - _Copy_assign_base<_Traits<_Types...>::_S_trivial_copy_assign, - _Types...>; + _Copy_assign_base<_Traits<_Types...>::_S_trivial_copy_assign, + _Types...>; template struct _Move_assign_base : _Copy_assign_alias<_Types...> @@ -601,7 +595,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Move_assign_base& operator=(_Move_assign_base&& __rhs) - noexcept(_Traits<_Types...>::_S_nothrow_move_assign) + noexcept(_Traits<_Types...>::_S_nothrow_move_assign) { if (this->_M_index == __rhs._M_index) { @@ -644,8 +638,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template using _Move_assign_alias = - _Move_assign_base<_Traits<_Types...>::_S_trivial_move_assign, - _Types...>; + _Move_assign_base<_Traits<_Types...>::_S_trivial_move_assign, + _Types...>; template struct _Variant_base : _Move_assign_alias<_Types...> @@ -654,7 +648,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION constexpr _Variant_base() - noexcept(_Traits<_Types...>::_S_nothrow_default_ctor) + noexcept(_Traits<_Types...>::_S_nothrow_default_ctor) : _Variant_base(in_place_index<0>) { } template @@ -879,12 +873,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION std::index_sequence<__indices...>> : _Base_dedup<__indices, __poison_hash>>... { }; -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __variant } // namespace __detail -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template inline constexpr bool holds_alternative(const variant<_Types...>& __v) noexcept @@ -1041,13 +1032,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION class variant : private __detail::__variant::_Variant_base<_Types...>, private _Enable_default_constructor< - __detail::__variant::_Traits<_Types...>::_S_default_ctor, + __detail::__variant::_Traits<_Types...>::_S_default_ctor, variant<_Types...>>, private _Enable_copy_move< - __detail::__variant::_Traits<_Types...>::_S_copy_ctor, - __detail::__variant::_Traits<_Types...>::_S_copy_assign, - __detail::__variant::_Traits<_Types...>::_S_move_ctor, - __detail::__variant::_Traits<_Types...>::_S_move_assign, + __detail::__variant::_Traits<_Types...>::_S_copy_ctor, + __detail::__variant::_Traits<_Types...>::_S_copy_assign, + __detail::__variant::_Traits<_Types...>::_S_move_ctor, + __detail::__variant::_Traits<_Types...>::_S_move_assign, variant<_Types...>> { private: @@ -1060,9 +1051,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using _Base = __detail::__variant::_Variant_base<_Types...>; using _Default_ctor_enabler = - _Enable_default_constructor< - __detail::__variant::_Traits<_Types...>::_S_default_ctor, - variant<_Types...>>; + _Enable_default_constructor< + __detail::__variant::_Traits<_Types...>::_S_default_ctor, + variant<_Types...>>; template static constexpr bool @@ -1108,7 +1099,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION variant(_Tp&& __t) noexcept(is_nothrow_constructible_v<__accepted_type<_Tp&&>, _Tp&&>) : variant(in_place_index<__accepted_index<_Tp&&>>, - std::forward<_Tp>(__t)) + std::forward<_Tp>(__t)) { __glibcxx_assert(holds_alternative<__accepted_type<_Tp&&>>(*this)); } template, _Args&&... __args) : variant(in_place_index<__index_of<_Tp>>, - std::forward<_Args>(__args)...) + std::forward<_Args>(__args)...) { __glibcxx_assert(holds_alternative<_Tp>(*this)); } template... }; \ + const variant&, __indices>... }; \ template \ constexpr inline bool \ _M_##__NAME(const variant& __rhs, \ @@ -1312,18 +1303,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #undef _VARIANT_RELATION_FUNCTION_TEMPLATE template - friend constexpr decltype(auto) __detail::__variant:: -#if _GLIBCXX_INLINE_VERSION - __8:: // Required due to PR c++/59256 -#endif - __get(_Vp&& __v); + friend constexpr decltype(auto) __detail::__variant::__get(_Vp&& __v); template - friend void* __detail::__variant:: -#if _GLIBCXX_INLINE_VERSION - __8:: // Required due to PR c++/59256 -#endif - __get_storage(_Vp&& __v); + friend void* __detail::__variant::__get_storage(_Vp&& __v); #define _VARIANT_RELATION_FUNCTION_TEMPLATE(__OP) \ template \ @@ -1434,7 +1417,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template struct hash> : private __detail::__variant::_Variant_hash_base< - variant<_Types...>, std::index_sequence_for<_Types...>>, + variant<_Types...>, std::index_sequence_for<_Types...>>, public __variant_hash_call_base<_Types...> { using result_type = size_t; diff --git a/libstdc++-v3/include/tr1/array b/libstdc++-v3/include/tr1/array index 606d019ade3..04c43411941 100644 --- a/libstdc++-v3/include/tr1/array +++ b/libstdc++-v3/include/tr1/array @@ -35,10 +35,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ /** * @brief A standard container for storing a fixed size sequence of elements. * @@ -243,9 +243,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline const _Tp& get(const array<_Tp, _Nm>& __arr) { return __arr[_Int]; } +} _GLIBCXX_END_NAMESPACE_VERSION } -} #endif // _GLIBCXX_TR1_ARRAY diff --git a/libstdc++-v3/include/tr1/bessel_function.tcc b/libstdc++-v3/include/tr1/bessel_function.tcc index 7ba4c8a7f0d..7ac733d73b8 100644 --- a/libstdc++-v3/include/tr1/bessel_function.tcc +++ b/libstdc++-v3/include/tr1/bessel_function.tcc @@ -50,6 +50,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS # define _GLIBCXX_MATH_NS ::std #elif defined(_GLIBCXX_TR1_CMATH) @@ -64,8 +66,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief Compute the gamma functions required by the Temme series * expansions of @f$ N_\nu(x) @f$ and @f$ K_\nu(x) @f$. @@ -626,13 +626,13 @@ namespace tr1 return __n_n; } } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #undef _GLIBCXX_MATH_NS #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_BESSEL_FUNCTION_TCC diff --git a/libstdc++-v3/include/tr1/beta_function.tcc b/libstdc++-v3/include/tr1/beta_function.tcc index 2770eef3cd3..7463356906f 100644 --- a/libstdc++-v3/include/tr1/beta_function.tcc +++ b/libstdc++-v3/include/tr1/beta_function.tcc @@ -48,6 +48,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS # define _GLIBCXX_MATH_NS ::std #elif defined(_GLIBCXX_TR1_CMATH) @@ -62,8 +64,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief Return the beta function: \f$B(x,y)\f$. * @@ -195,13 +195,13 @@ namespace tr1 else return __beta_lgamma(__x, __y); } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #undef _GLIBCXX_MATH_NS #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_BETA_FUNCTION_TCC diff --git a/libstdc++-v3/include/tr1/cmath b/libstdc++-v3/include/tr1/cmath index b24e8c2a7d3..720452e4f5a 100644 --- a/libstdc++-v3/include/tr1/cmath +++ b/libstdc++-v3/include/tr1/cmath @@ -145,10 +145,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ #if _GLIBCXX_USE_C99_MATH_TR1 // Using declarations to bring names from libc's into std::tr1. @@ -1059,16 +1059,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // @} -#endif -_GLIBCXX_END_NAMESPACE_VERSION -} -} - -namespace std _GLIBCXX_VISIBILITY(default) -{ -namespace tr1 -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION +#endif /* _GLIBCXX_USE_C99_MATH_TR1 */ // DR 550. What should the return type of pow(float,int) be? // NB: C++11 and TR1 != C++03. @@ -1135,20 +1126,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif // C++11 - - -_GLIBCXX_END_NAMESPACE_VERSION -} -} - #if _GLIBCXX_USE_STD_SPEC_FUNCS -namespace std _GLIBCXX_VISIBILITY(default) -{ -namespace tr1 -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @defgroup tr1_math_spec_func Mathematical Special Functions * @ingroup numerics @@ -1250,12 +1229,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using std::sph_neumann; /* @} */ // tr1_math_spec_func -_GLIBCXX_END_NAMESPACE_VERSION -} -} #else // ! _GLIBCXX_USE_STD_SPEC_FUNCS +} // namespace tr1 + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace std + #include #include #include @@ -1274,10 +1255,10 @@ _GLIBCXX_END_NAMESPACE_VERSION namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ /** * @defgroup tr1_math_spec_func Mathematical Special Functions * @ingroup numerics @@ -1680,9 +1661,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } /* @} */ // tr1_math_spec_func -_GLIBCXX_END_NAMESPACE_VERSION -} -} #endif // _GLIBCXX_USE_STD_SPEC_FUNCS +} // namespace tr1 + +_GLIBCXX_END_NAMESPACE_VERSION +} // namespace std + #endif // _GLIBCXX_TR1_CMATH diff --git a/libstdc++-v3/include/tr1/complex b/libstdc++-v3/include/tr1/complex index 10dce9d1bb4..2e7d05cf227 100644 --- a/libstdc++-v3/include/tr1/complex +++ b/libstdc++-v3/include/tr1/complex @@ -35,10 +35,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ /** * @addtogroup complex_numbers * @{ @@ -412,9 +412,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return std::pow(__x, __y); } // @} group complex_numbers +} _GLIBCXX_END_NAMESPACE_VERSION } -} #endif // _GLIBCXX_TR1_COMPLEX diff --git a/libstdc++-v3/include/tr1/ell_integral.tcc b/libstdc++-v3/include/tr1/ell_integral.tcc index 01f9313a256..4bd22e5eebc 100644 --- a/libstdc++-v3/include/tr1/ell_integral.tcc +++ b/libstdc++-v3/include/tr1/ell_integral.tcc @@ -44,6 +44,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS #elif defined(_GLIBCXX_TR1_CMATH) namespace tr1 @@ -56,8 +58,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief Return the Carlson elliptic function @f$ R_F(x,y,z) @f$ * of the first kind. @@ -745,12 +745,12 @@ namespace tr1 return __Pi + _Tp(2) * __n * __comp_ellint_3(__k, __nu); } } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_ELL_INTEGRAL_TCC diff --git a/libstdc++-v3/include/tr1/exp_integral.tcc b/libstdc++-v3/include/tr1/exp_integral.tcc index 8e6f55178e7..663b2ce2f73 100644 --- a/libstdc++-v3/include/tr1/exp_integral.tcc +++ b/libstdc++-v3/include/tr1/exp_integral.tcc @@ -49,6 +49,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS #elif defined(_GLIBCXX_TR1_CMATH) namespace tr1 @@ -61,8 +63,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - template _Tp __expint_E1(_Tp); /** @@ -522,12 +522,12 @@ namespace tr1 else return __expint_Ei(__x); } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_EXP_INTEGRAL_TCC diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional index 256f94d8a5f..cb40e90e255 100644 --- a/libstdc++-v3/include/tr1/functional +++ b/libstdc++-v3/include/tr1/functional @@ -48,18 +48,15 @@ namespace std _GLIBCXX_VISIBILITY(default) { -#if __cplusplus >= 201103L _GLIBCXX_BEGIN_NAMESPACE_VERSION +#if __cplusplus >= 201103L template struct _Placeholder; template class _Bind; template class _Bind_result; -_GLIBCXX_END_NAMESPACE_VERSION #endif namespace tr1 { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template class _Mem_fn; template @@ -855,14 +852,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /// The type of placeholder objects defined by libstdc++. template struct _Placeholder { }; -_GLIBCXX_END_NAMESPACE_VERSION - /** @namespace std::tr1::placeholders * @brief Sub-namespace for tr1/functional. */ namespace placeholders { - _GLIBCXX_BEGIN_NAMESPACE_VERSION /* Define a large number of placeholders. There is no way to * simplify this with variadic templates, because we're introducing * unique names for each. @@ -899,10 +893,8 @@ _GLIBCXX_END_NAMESPACE_VERSION _Placeholder<28> _28; _Placeholder<29> _29; } - _GLIBCXX_END_NAMESPACE_VERSION } -_GLIBCXX_BEGIN_NAMESPACE_VERSION /** * Partial specialization of is_placeholder that provides the placeholder * number for the placeholder objects defined by libstdc++. @@ -2247,12 +2239,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline void swap(function<_Signature>& __x, function<_Signature>& __y) { __x.swap(__y); } - -_GLIBCXX_END_NAMESPACE_VERSION } #if __cplusplus >= 201103L -_GLIBCXX_BEGIN_NAMESPACE_VERSION template struct is_placeholder; @@ -2301,8 +2290,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _Signature>> : true_type { }; +#endif // C++11 _GLIBCXX_END_NAMESPACE_VERSION -#endif } #endif // _GLIBCXX_TR1_FUNCTIONAL diff --git a/libstdc++-v3/include/tr1/functional_hash.h b/libstdc++-v3/include/tr1/functional_hash.h index acc766ddd53..f8cff25257f 100644 --- a/libstdc++-v3/include/tr1/functional_hash.h +++ b/libstdc++-v3/include/tr1/functional_hash.h @@ -34,10 +34,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ /// Class template hash. // Declaration of default hash functor std::tr1::hash. The types for // which std::tr1::hash is well-defined is in clause 6.3.3. of the PDTR. @@ -192,9 +192,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_PURE size_t hash::operator()(const wstring&) const; #endif +} _GLIBCXX_END_NAMESPACE_VERSION } -} #endif // _GLIBCXX_TR1_FUNCTIONAL_HASH_H diff --git a/libstdc++-v3/include/tr1/gamma.tcc b/libstdc++-v3/include/tr1/gamma.tcc index dbbca1e9e80..7c4a664e5c9 100644 --- a/libstdc++-v3/include/tr1/gamma.tcc +++ b/libstdc++-v3/include/tr1/gamma.tcc @@ -50,6 +50,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS # define _GLIBCXX_MATH_NS ::std #elif defined(_GLIBCXX_TR1_CMATH) @@ -62,8 +64,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief This returns Bernoulli numbers from a table or by summation * for larger values. @@ -466,13 +466,13 @@ namespace tr1 return __result; } } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #undef _GLIBCXX_MATH_NS #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // _GLIBCXX_TR1_GAMMA_TCC diff --git a/libstdc++-v3/include/tr1/hashtable.h b/libstdc++-v3/include/tr1/hashtable.h index 8dc7a41ad5e..6e798cfd1dd 100644 --- a/libstdc++-v3/include/tr1/hashtable.h +++ b/libstdc++-v3/include/tr1/hashtable.h @@ -37,10 +37,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ // Class template _Hashtable, class definition. // Meaning of class template _Hashtable's template parameters @@ -1173,9 +1173,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __throw_exception_again; } } +} // namespace tr1 _GLIBCXX_END_NAMESPACE_VERSION -} // namespace tr1 } // namespace std #endif // _GLIBCXX_TR1_HASHTABLE_H diff --git a/libstdc++-v3/include/tr1/hashtable_policy.h b/libstdc++-v3/include/tr1/hashtable_policy.h index f44d0cf9a73..9a75443ccb6 100644 --- a/libstdc++-v3/include/tr1/hashtable_policy.h +++ b/libstdc++-v3/include/tr1/hashtable_policy.h @@ -30,12 +30,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace tr1 { namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // Helper function: return distance(first, last) for forward // iterators, or 0 for input iterators. template @@ -772,7 +772,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _H1 _M_h1; _H2 _M_h2; }; -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail } + +_GLIBCXX_END_NAMESPACE_VERSION } diff --git a/libstdc++-v3/include/tr1/hypergeometric.tcc b/libstdc++-v3/include/tr1/hypergeometric.tcc index 49af5f98d96..dc9f176e27a 100644 --- a/libstdc++-v3/include/tr1/hypergeometric.tcc +++ b/libstdc++-v3/include/tr1/hypergeometric.tcc @@ -43,6 +43,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS # define _GLIBCXX_MATH_NS ::std #elif defined(_GLIBCXX_TR1_CMATH) @@ -57,8 +59,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief This routine returns the confluent hypergeometric function * by series expansion. @@ -773,13 +773,13 @@ namespace tr1 else return __hyperg_luke(__a, __b, __c, __x); } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #undef _GLIBCXX_MATH_NS #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_HYPERGEOMETRIC_TCC diff --git a/libstdc++-v3/include/tr1/legendre_function.tcc b/libstdc++-v3/include/tr1/legendre_function.tcc index ea2a511d977..16fee54e9c4 100644 --- a/libstdc++-v3/include/tr1/legendre_function.tcc +++ b/libstdc++-v3/include/tr1/legendre_function.tcc @@ -48,6 +48,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS # define _GLIBCXX_MATH_NS ::std #elif defined(_GLIBCXX_TR1_CMATH) @@ -62,8 +64,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief Return the Legendre polynomial by recursion on order * @f$ l @f$. @@ -301,13 +301,13 @@ namespace tr1 } } } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #undef _GLIBCXX_MATH_NS #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_LEGENDRE_FUNCTION_TCC diff --git a/libstdc++-v3/include/tr1/modified_bessel_func.tcc b/libstdc++-v3/include/tr1/modified_bessel_func.tcc index d21e3c7de66..79d7d7578fa 100644 --- a/libstdc++-v3/include/tr1/modified_bessel_func.tcc +++ b/libstdc++-v3/include/tr1/modified_bessel_func.tcc @@ -50,6 +50,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS #elif defined(_GLIBCXX_TR1_CMATH) namespace tr1 @@ -62,8 +64,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief Compute the modified Bessel functions @f$ I_\nu(x) @f$ and * @f$ K_\nu(x) @f$ and their first derivatives @@ -430,12 +430,12 @@ namespace tr1 return; } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_MODIFIED_BESSEL_FUNC_TCC diff --git a/libstdc++-v3/include/tr1/poly_hermite.tcc b/libstdc++-v3/include/tr1/poly_hermite.tcc index 80ea2187e4f..8136284310c 100644 --- a/libstdc++-v3/include/tr1/poly_hermite.tcc +++ b/libstdc++-v3/include/tr1/poly_hermite.tcc @@ -41,6 +41,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS #elif defined(_GLIBCXX_TR1_CMATH) namespace tr1 @@ -53,8 +55,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief This routine returns the Hermite polynomial * of order n: \f$ H_n(x) \f$ by recursion on n. @@ -120,12 +120,12 @@ namespace tr1 else return __poly_hermite_recursion(__n, __x); } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_POLY_HERMITE_TCC diff --git a/libstdc++-v3/include/tr1/poly_laguerre.tcc b/libstdc++-v3/include/tr1/poly_laguerre.tcc index 0c33c032040..420b1f34db4 100644 --- a/libstdc++-v3/include/tr1/poly_laguerre.tcc +++ b/libstdc++-v3/include/tr1/poly_laguerre.tcc @@ -43,6 +43,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS # define _GLIBCXX_MATH_NS ::std #elif defined(_GLIBCXX_TR1_CMATH) @@ -57,8 +59,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief This routine returns the associated Laguerre polynomial * of order @f$ n @f$, degree @f$ \alpha @f$ for large n. @@ -317,13 +317,13 @@ namespace tr1 inline _Tp __laguerre(unsigned int __n, _Tp __x) { return __poly_laguerre(__n, 0, __x); } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #undef _GLIBCXX_MATH_NS #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_POLY_LAGUERRE_TCC diff --git a/libstdc++-v3/include/tr1/random.h b/libstdc++-v3/include/tr1/random.h index 9fe7fae900f..79a5b8f8cd4 100644 --- a/libstdc++-v3/include/tr1/random.h +++ b/libstdc++-v3/include/tr1/random.h @@ -35,6 +35,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace tr1 { // [5.1] Random number generation @@ -50,8 +52,6 @@ namespace tr1 */ namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - template::digits> struct _Shift @@ -212,12 +212,8 @@ namespace tr1 private: _Engine* _M_g; }; - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * Produces random numbers on a given distribution function using a * non-uniform random number generation engine. @@ -2410,8 +2406,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /* @} */ // group tr1_random_distributions_continuous /* @} */ // group tr1_random_distributions /* @} */ // group tr1_random -_GLIBCXX_END_NAMESPACE_VERSION } + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_RANDOM_H diff --git a/libstdc++-v3/include/tr1/random.tcc b/libstdc++-v3/include/tr1/random.tcc index 265bd0bc2db..25f444a1644 100644 --- a/libstdc++-v3/include/tr1/random.tcc +++ b/libstdc++-v3/include/tr1/random.tcc @@ -33,6 +33,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace tr1 { /* @@ -40,8 +42,6 @@ namespace tr1 */ namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - // General case for x = (ax + c) mod m -- use Schrage's algorithm to avoid // integer overflow. // @@ -92,11 +92,8 @@ namespace tr1 __calc(_Tp __x) { return __a * __x + __c; } }; - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail -_GLIBCXX_BEGIN_NAMESPACE_VERSION - template const _UIntType linear_congruential<_UIntType, __a, __c, __m>::multiplier; @@ -1713,9 +1710,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __os.precision(__precision); return __os; } +} _GLIBCXX_END_NAMESPACE_VERSION } -} #endif diff --git a/libstdc++-v3/include/tr1/regex b/libstdc++-v3/include/tr1/regex index bfb5ef770d4..6cb8c154e86 100644 --- a/libstdc++-v3/include/tr1/regex +++ b/libstdc++-v3/include/tr1/regex @@ -45,6 +45,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace tr1 { /** @@ -58,8 +60,6 @@ namespace tr1 */ namespace regex_constants { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @name 5.1 Regular Expression Syntax Options */ @@ -397,11 +397,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static const error_type error_stack(_S_error_stack); //@} -_GLIBCXX_END_NAMESPACE_VERSION } -_GLIBCXX_BEGIN_NAMESPACE_VERSION - // [7.8] Class regex_error /** * @brief A regular expression exception class. @@ -2722,9 +2719,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif //@} +} _GLIBCXX_END_NAMESPACE_VERSION } -} #endif // _GLIBCXX_TR1_REGEX diff --git a/libstdc++-v3/include/tr1/riemann_zeta.tcc b/libstdc++-v3/include/tr1/riemann_zeta.tcc index b4992f265ae..130cef63c45 100644 --- a/libstdc++-v3/include/tr1/riemann_zeta.tcc +++ b/libstdc++-v3/include/tr1/riemann_zeta.tcc @@ -46,6 +46,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS # define _GLIBCXX_MATH_NS ::std #elif defined(_GLIBCXX_TR1_CMATH) @@ -60,8 +62,6 @@ namespace tr1 // Implementation-space details. namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /** * @brief Compute the Riemann zeta function @f$ \zeta(s) @f$ * by summation for s > 1. @@ -431,13 +431,13 @@ namespace tr1 inline _Tp __hurwitz_zeta(_Tp __a, _Tp __s) { return __hurwitz_zeta_glob(__a, __s); } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #undef _GLIBCXX_MATH_NS #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_RIEMANN_ZETA_TCC diff --git a/libstdc++-v3/include/tr1/shared_ptr.h b/libstdc++-v3/include/tr1/shared_ptr.h index f702cd68972..95ac9775b9b 100644 --- a/libstdc++-v3/include/tr1/shared_ptr.h +++ b/libstdc++-v3/include/tr1/shared_ptr.h @@ -51,10 +51,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ /** * @brief Exception possibly thrown by @c shared_ptr. * @ingroup exceptions @@ -1162,9 +1162,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION mutable weak_ptr<_Tp> _M_weak_this; }; +} _GLIBCXX_END_NAMESPACE_VERSION } -} #endif // _TR1_SHARED_PTR_H diff --git a/libstdc++-v3/include/tr1/special_function_util.h b/libstdc++-v3/include/tr1/special_function_util.h index 9d40a16ca6c..c4e9c476150 100644 --- a/libstdc++-v3/include/tr1/special_function_util.h +++ b/libstdc++-v3/include/tr1/special_function_util.h @@ -38,6 +38,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #if _GLIBCXX_USE_STD_SPEC_FUNCS #elif defined(_GLIBCXX_TR1_CMATH) namespace tr1 @@ -47,8 +49,6 @@ namespace tr1 #endif namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - /// A class to encapsulate type dependent floating point /// constants. Not everything will be able to be expressed as /// type logic. @@ -130,12 +130,12 @@ namespace tr1 { return __builtin_isnanl(__x); } #endif - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail #if ! _GLIBCXX_USE_STD_SPEC_FUNCS && defined(_GLIBCXX_TR1_CMATH) } // namespace tr1 #endif + +_GLIBCXX_END_NAMESPACE_VERSION } #endif // _GLIBCXX_TR1_SPECIAL_FUNCTION_UTIL_H diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple index fe53a8b99b0..997542d241b 100644 --- a/libstdc++-v3/include/tr1/tuple +++ b/libstdc++-v3/include/tr1/tuple @@ -38,10 +38,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ // Adds a const reference to a non-reference type. template struct __add_c_ref @@ -418,9 +418,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { _Swallow_assign ignore; }; // anonymous namespace +} _GLIBCXX_END_NAMESPACE_VERSION } -} #endif // _GLIBCXX_TR1_TUPLE diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits index abdb83b48ec..83dd7b7dcf2 100644 --- a/libstdc++-v3/include/tr1/type_traits +++ b/libstdc++-v3/include/tr1/type_traits @@ -35,10 +35,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ /** * @addtogroup metaprogramming * @{ @@ -679,9 +679,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #undef _DEFINE_SPEC /// @} group metaprogramming +} _GLIBCXX_END_NAMESPACE_VERSION } -} #endif // _GLIBCXX_TR1_TYPE_TRAITS diff --git a/libstdc++-v3/include/tr1/unordered_map.h b/libstdc++-v3/include/tr1/unordered_map.h index 34776aeea58..a27654a45d2 100644 --- a/libstdc++-v3/include/tr1/unordered_map.h +++ b/libstdc++-v3/include/tr1/unordered_map.h @@ -29,10 +29,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ // NB: When we get typedef templates these class definitions // will be unnecessary. template& __x, unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) { __x.swap(__y); } +} _GLIBCXX_END_NAMESPACE_VERSION } -} diff --git a/libstdc++-v3/include/tr1/unordered_set.h b/libstdc++-v3/include/tr1/unordered_set.h index f9d04901cc5..df24ca6b299 100644 --- a/libstdc++-v3/include/tr1/unordered_set.h +++ b/libstdc++-v3/include/tr1/unordered_set.h @@ -29,10 +29,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ // NB: When we get typedef templates these class definitions // will be unnecessary. template& __x, unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y) { __x.swap(__y); } +} _GLIBCXX_END_NAMESPACE_VERSION } -} diff --git a/libstdc++-v3/include/tr1/utility b/libstdc++-v3/include/tr1/utility index 91076d9882c..f114160005f 100644 --- a/libstdc++-v3/include/tr1/utility +++ b/libstdc++-v3/include/tr1/utility @@ -37,10 +37,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr1 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr1 +{ template class tuple_size; @@ -100,9 +100,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline const typename tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type& get(const std::pair<_Tp1, _Tp2>& __in) { return __pair_get<_Int>::__const_get(__in); } +} _GLIBCXX_END_NAMESPACE_VERSION } -} #endif // _GLIBCXX_TR1_UTILITY diff --git a/libstdc++-v3/include/tr2/bool_set b/libstdc++-v3/include/tr2/bool_set index 9d55b3c0ebd..f89a8658932 100644 --- a/libstdc++-v3/include/tr2/bool_set +++ b/libstdc++-v3/include/tr2/bool_set @@ -36,10 +36,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr2 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr2 +{ /** * bool_set * @@ -310,10 +310,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline bool_set operator!=(bool_set __s, bool_set __t) { return ! (__s == __t); } +} _GLIBCXX_END_NAMESPACE_VERSION } -} #include diff --git a/libstdc++-v3/include/tr2/bool_set.tcc b/libstdc++-v3/include/tr2/bool_set.tcc index a5fd898a822..1ffcccac901 100644 --- a/libstdc++-v3/include/tr2/bool_set.tcc +++ b/libstdc++-v3/include/tr2/bool_set.tcc @@ -33,10 +33,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr2 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr2 +{ bool_set::_Bool_set_val bool_set::_S_not[4] = { _S_true_, _S_false, _S_indet, _S_empty }; @@ -68,10 +68,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { _S_false, _S_true_, _S_indet, _S_empty }, { _S_indet, _S_indet, _S_indet, _S_empty }, { _S_empty, _S_empty, _S_empty, _S_empty } }; +} _GLIBCXX_END_NAMESPACE_VERSION } -} // I object to these things. // The stuff in locale facets are for basic types. diff --git a/libstdc++-v3/include/tr2/dynamic_bitset b/libstdc++-v3/include/tr2/dynamic_bitset index ff4e5887eb9..4d16f8178b6 100644 --- a/libstdc++-v3/include/tr2/dynamic_bitset +++ b/libstdc++-v3/include/tr2/dynamic_bitset @@ -42,10 +42,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr2 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr2 +{ /** * @defgroup dynamic_bitset Dynamic Bitset. * @ingroup extensions @@ -1220,9 +1220,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /** * @} */ +} // tr2 _GLIBCXX_END_NAMESPACE_VERSION -} // tr2 } // std #include diff --git a/libstdc++-v3/include/tr2/dynamic_bitset.tcc b/libstdc++-v3/include/tr2/dynamic_bitset.tcc index 7b64580ccfc..c2875e54257 100644 --- a/libstdc++-v3/include/tr2/dynamic_bitset.tcc +++ b/libstdc++-v3/include/tr2/dynamic_bitset.tcc @@ -34,10 +34,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr2 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr2 +{ // Definitions of non-inline functions from __dynamic_bitset_base. template void @@ -272,9 +272,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __is.setstate(__state); return __is; } +} // tr2 _GLIBCXX_END_NAMESPACE_VERSION -} // tr2 } // std #endif /* _GLIBCXX_TR2_DYNAMIC_BITSET_TCC */ diff --git a/libstdc++-v3/include/tr2/ratio b/libstdc++-v3/include/tr2/ratio index c0a2d4d3065..a9b71c8f121 100644 --- a/libstdc++-v3/include/tr2/ratio +++ b/libstdc++-v3/include/tr2/ratio @@ -30,10 +30,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr2 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr2 +{ template (std::numeric_limits::digits)> @@ -53,7 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef ratio<__safe_lshift<1, 60>::__value, 1> exbi; //typedef ratio<__safe_lshift<1, 70>::__value, 1> zebi; //typedef ratio<__safe_lshift<1, 80>::__value, 1> yobi; +} _GLIBCXX_END_NAMESPACE_VERSION } -} diff --git a/libstdc++-v3/include/tr2/type_traits b/libstdc++-v3/include/tr2/type_traits index 35f621500d6..b442ba5dc64 100644 --- a/libstdc++-v3/include/tr2/type_traits +++ b/libstdc++-v3/include/tr2/type_traits @@ -35,10 +35,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { -namespace tr2 -{ _GLIBCXX_BEGIN_NAMESPACE_VERSION +namespace tr2 +{ /** * @addtogroup metaprogramming * @{ @@ -98,9 +98,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; /// @} group metaprogramming +} _GLIBCXX_END_NAMESPACE_VERSION } -} #endif // _GLIBCXX_TR2_TYPE_TRAITS diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py index 8122cf81834..04f413adf04 100644 --- a/libstdc++-v3/python/libstdcxx/v6/printers.py +++ b/libstdc++-v3/python/libstdcxx/v6/printers.py @@ -1555,15 +1555,15 @@ def build_libstdcxx_dictionary (): libstdcxx_printer.add_container('std::', 'forward_list', StdForwardListPrinter) - libstdcxx_printer.add_version('std::tr1::', 'shared_ptr', SharedPointerPrinter) - libstdcxx_printer.add_version('std::tr1::', 'weak_ptr', SharedPointerPrinter) - libstdcxx_printer.add_version('std::tr1::', 'unordered_map', + libstdcxx_printer.add_version('std::', 'tr1::shared_ptr', SharedPointerPrinter) + libstdcxx_printer.add_version('std::', 'tr1::weak_ptr', SharedPointerPrinter) + libstdcxx_printer.add_version('std::', 'tr1::unordered_map', Tr1UnorderedMapPrinter) - libstdcxx_printer.add_version('std::tr1::', 'unordered_set', + libstdcxx_printer.add_version('std::', 'tr1::unordered_set', Tr1UnorderedSetPrinter) - libstdcxx_printer.add_version('std::tr1::', 'unordered_multimap', + libstdcxx_printer.add_version('std::', 'tr1::unordered_multimap', Tr1UnorderedMapPrinter) - libstdcxx_printer.add_version('std::tr1::', 'unordered_multiset', + libstdcxx_printer.add_version('std::', 'tr1::unordered_multiset', Tr1UnorderedSetPrinter) # These are the C++11 printer registrations for -D_GLIBCXX_DEBUG cases. diff --git a/libstdc++-v3/src/c++11/chrono.cc b/libstdc++-v3/src/c++11/chrono.cc index 39a52aea619..337860c23d8 100644 --- a/libstdc++-v3/src/c++11/chrono.cc +++ b/libstdc++-v3/src/c++11/chrono.cc @@ -41,10 +41,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace chrono { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - // XXX GLIBCXX_ABI Deprecated inline namespace _V2 { @@ -97,9 +97,9 @@ namespace std _GLIBCXX_VISIBILITY(default) } } // end inline namespace _V2 - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace chrono + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // _GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/src/c++11/compatibility-c++0x.cc b/libstdc++-v3/src/c++11/compatibility-c++0x.cc index 358263baff4..811ccb5f120 100644 --- a/libstdc++-v3/src/c++11/compatibility-c++0x.cc +++ b/libstdc++-v3/src/c++11/compatibility-c++0x.cc @@ -44,6 +44,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + // gcc-4.4.0 // exported std::lock_error #if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) @@ -130,7 +132,6 @@ namespace std _GLIBCXX_VISIBILITY(default) constexpr bool system_clock::is_monotonic; } // namespace chrono -_GLIBCXX_BEGIN_NAMESPACE_VERSION // gcc-5 replaces this with _V2::error_category class error_category { @@ -169,7 +170,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION operator!=(const error_category& __other) const noexcept { return this != &__other; } }; -_GLIBCXX_END_NAMESPACE_VERSION // gcc-4.9.0 // LWG 2145 changes this constructor to constexpr i.e. inline @@ -215,7 +215,6 @@ _GLIBCXX_END_NAMESPACE_VERSION const system_error_category system_category_instance{}; } -_GLIBCXX_BEGIN_NAMESPACE_VERSION const error_category& system_category() noexcept { return system_category_instance; } @@ -227,7 +226,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_CONST const error_categoryxx& system_category() noexcept; _GLIBCXX_CONST const error_categoryxx& generic_category() noexcept; } -_GLIBCXX_END_NAMESPACE_VERSION error_condition error_category::default_error_condition(int __i) const noexcept @@ -254,5 +252,6 @@ _GLIBCXX_END_NAMESPACE_VERSION return false; } +_GLIBCXX_END_NAMESPACE_VERSION } #endif diff --git a/libstdc++-v3/src/c++11/compatibility-chrono.cc b/libstdc++-v3/src/c++11/compatibility-chrono.cc index e401375928d..941eaf83556 100644 --- a/libstdc++-v3/src/c++11/compatibility-chrono.cc +++ b/libstdc++-v3/src/c++11/compatibility-chrono.cc @@ -38,10 +38,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace chrono { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - // NB: Default configuration was no realtime. struct system_clock { @@ -84,9 +84,9 @@ namespace std _GLIBCXX_VISIBILITY(default) (__from(chrono::seconds(__sec))); #endif } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace chrono + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // _GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/src/c++11/cxx11-shim_facets.cc b/libstdc++-v3/src/c++11/cxx11-shim_facets.cc index b69959f4f13..fbff59eb5f0 100644 --- a/libstdc++-v3/src/c++11/cxx11-shim_facets.cc +++ b/libstdc++-v3/src/c++11/cxx11-shim_facets.cc @@ -45,6 +45,8 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + // Base class of facet shims, holds a reference to the underlying facet // that the shim forwards to. class locale::facet::__shim @@ -67,8 +69,6 @@ namespace std _GLIBCXX_VISIBILITY(default) namespace __facet_shims { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - namespace // unnamed { template @@ -777,10 +777,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION bool, ios_base&, wchar_t, long double, const __any_string*); #endif -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __facet_shims -_GLIBCXX_BEGIN_NAMESPACE_VERSION // Create a new shim facet of type WHICH that forwards calls to F. // F is the replacement facet provided by the user, WHICH is the ID of // F's "other ABI twin" which we are replacing with a shim. diff --git a/libstdc++-v3/src/c++11/hashtable_c++0x.cc b/libstdc++-v3/src/c++11/hashtable_c++0x.cc index 1b099928942..3ddc10c72f7 100644 --- a/libstdc++-v3/src/c++11/hashtable_c++0x.cc +++ b/libstdc++-v3/src/c++11/hashtable_c++0x.cc @@ -34,12 +34,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + #include "../shared/hashtable-aux.cc" namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - // Return a prime no smaller than n. std::size_t _Prime_rehash_policy::_M_next_bkt(std::size_t __n) const @@ -111,7 +111,7 @@ namespace __detail else return std::make_pair(false, 0); } +} // namespace __detail _GLIBCXX_END_NAMESPACE_VERSION -} // namespace __detail } // namespace std diff --git a/libstdc++-v3/src/c++11/placeholders.cc b/libstdc++-v3/src/c++11/placeholders.cc index fad78f2e98d..48a05fab365 100644 --- a/libstdc++-v3/src/c++11/placeholders.cc +++ b/libstdc++-v3/src/c++11/placeholders.cc @@ -30,9 +30,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace placeholders { - _GLIBCXX_BEGIN_NAMESPACE_VERSION extern const _Placeholder<1> _1{}; extern const _Placeholder<2> _2{}; extern const _Placeholder<3> _3{}; @@ -62,6 +63,7 @@ namespace std _GLIBCXX_VISIBILITY(default) extern const _Placeholder<27> _27{}; extern const _Placeholder<28> _28{}; extern const _Placeholder<29> _29{}; - _GLIBCXX_END_NAMESPACE_VERSION } + +_GLIBCXX_END_NAMESPACE_VERSION } diff --git a/libstdc++-v3/src/c++11/thread.cc b/libstdc++-v3/src/c++11/thread.cc index 4a94bdd2f8c..cd6d9fe6635 100644 --- a/libstdc++-v3/src/c++11/thread.cc +++ b/libstdc++-v3/src/c++11/thread.cc @@ -180,12 +180,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __n; } -_GLIBCXX_END_NAMESPACE_VERSION - namespace this_thread { -_GLIBCXX_BEGIN_NAMESPACE_VERSION - void __sleep_for(chrono::seconds __s, chrono::nanoseconds __ns) { @@ -217,10 +213,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ::Sleep(chrono::milliseconds(__s).count() + ms); #endif } - -_GLIBCXX_END_NAMESPACE_VERSION } +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1 diff --git a/libstdc++-v3/src/c++98/bitmap_allocator.cc b/libstdc++-v3/src/c++98/bitmap_allocator.cc index 5a9696d97e0..b16c29143f1 100644 --- a/libstdc++-v3/src/c++98/bitmap_allocator.cc +++ b/libstdc++-v3/src/c++98/bitmap_allocator.cc @@ -26,9 +26,10 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION template class __mini_vector< std::pair::_Alloc_block*, bitmap_allocator::_Alloc_block*> >; @@ -41,11 +42,8 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) template size_t** __lower_bound(size_t**, size_t**, size_t const&, free_list::_LT_pointer_compare); - _GLIBCXX_END_NAMESPACE_VERSION } -_GLIBCXX_BEGIN_NAMESPACE_VERSION - size_t* free_list:: _M_get(size_t __sz) throw(std::bad_alloc) diff --git a/libstdc++-v3/src/c++98/hashtable_tr1.cc b/libstdc++-v3/src/c++98/hashtable_tr1.cc index 199b8fd5a5a..ac320696ad2 100644 --- a/libstdc++-v3/src/c++98/hashtable_tr1.cc +++ b/libstdc++-v3/src/c++98/hashtable_tr1.cc @@ -26,8 +26,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace tr1 { #include "../shared/hashtable-aux.cc" } + +_GLIBCXX_END_NAMESPACE_VERSION } diff --git a/libstdc++-v3/src/c++98/list.cc b/libstdc++-v3/src/c++98/list.cc index 3de7d2d0e02..25e72717eca 100644 --- a/libstdc++-v3/src/c++98/list.cc +++ b/libstdc++-v3/src/c++98/list.cc @@ -52,10 +52,10 @@ namespace std _GLIBCXX_VISIBILITY(default) { +_GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace __detail { - _GLIBCXX_BEGIN_NAMESPACE_VERSION - void _List_node_base::swap(_List_node_base& __x, _List_node_base& __y) _GLIBCXX_USE_NOEXCEPT @@ -141,7 +141,7 @@ namespace std _GLIBCXX_VISIBILITY(default) __prev_node->_M_next = __next_node; __next_node->_M_prev = __prev_node; } - - _GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail + +_GLIBCXX_END_NAMESPACE_VERSION } // namespace std diff --git a/libstdc++-v3/src/shared/hashtable-aux.cc b/libstdc++-v3/src/shared/hashtable-aux.cc index 01c01fa3155..f1d19974bd7 100644 --- a/libstdc++-v3/src/shared/hashtable-aux.cc +++ b/libstdc++-v3/src/shared/hashtable-aux.cc @@ -24,7 +24,6 @@ namespace __detail { -_GLIBCXX_BEGIN_NAMESPACE_VERSION // The sentinel value is kept only for abi backward compatibility. extern const unsigned long __prime_list[] = // 256 + 1 or 256 + 48 + 1 { @@ -90,5 +89,4 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION 18446744073709551557ul, 18446744073709551557ul #endif }; -_GLIBCXX_END_NAMESPACE_VERSION } // namespace __detail diff --git a/libstdc++-v3/testsuite/20_util/duration/literals/range.cc b/libstdc++-v3/testsuite/20_util/duration/literals/range.cc index c0d1a6e5885..b5105dff38b 100644 --- a/libstdc++-v3/testsuite/20_util/duration/literals/range.cc +++ b/libstdc++-v3/testsuite/20_util/duration/literals/range.cc @@ -26,6 +26,6 @@ test01() // std::numeric_limits::max() == 9223372036854775807; auto h = 9223372036854775808h; - // { dg-error "cannot be represented" "" { target *-*-* } 892 } + // { dg-error "cannot be represented" "" { target *-*-* } 880 } } // { dg-prune-output "in constexpr expansion" } // needed for -O0 diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc index 189e97bf984..17f74187098 100644 --- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc +++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc @@ -30,4 +30,4 @@ void test01() test_type d; // { dg-error "required from here" } } -// { dg-error "rep cannot be a duration" "" { target *-*-* } 308 } +// { dg-error "rep cannot be a duration" "" { target *-*-* } 300 } diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc index 501de5ee752..282a9dbdc85 100644 --- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc +++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc @@ -31,5 +31,5 @@ void test01() test_type d; // { dg-error "required from here" } } -// { dg-error "must be a specialization of ratio" "" { target *-*-* } 309 } +// { dg-error "must be a specialization of ratio" "" { target *-*-* } 301 } // { dg-prune-output "not a member" } diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc index a56bb96f5d0..c57f9d947a5 100644 --- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc +++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc @@ -32,4 +32,4 @@ void test01() test_type d; // { dg-error "required from here" } } -// { dg-error "period must be positive" "" { target *-*-* } 311 } +// { dg-error "period must be positive" "" { target *-*-* } 303 } diff --git a/libstdc++-v3/testsuite/20_util/forward/c_neg.cc b/libstdc++-v3/testsuite/20_util/forward/c_neg.cc index c7830d7b2d4..d098164c0f7 100644 --- a/libstdc++-v3/testsuite/20_util/forward/c_neg.cc +++ b/libstdc++-v3/testsuite/20_util/forward/c_neg.cc @@ -17,7 +17,7 @@ // with this library; see the file COPYING3. If not see // . -// { dg-error "static assertion failed" "" { target *-*-* } 86 } +// { dg-error "static assertion failed" "" { target *-*-* } 87 } #include diff --git a/libstdc++-v3/testsuite/20_util/forward/f_neg.cc b/libstdc++-v3/testsuite/20_util/forward/f_neg.cc index 7d073fe822b..0ca36d4b5a6 100644 --- a/libstdc++-v3/testsuite/20_util/forward/f_neg.cc +++ b/libstdc++-v3/testsuite/20_util/forward/f_neg.cc @@ -17,7 +17,7 @@ // with this library; see the file COPYING3. If not see // . -// { dg-error "static assertion failed" "" { target *-*-* } 86 } +// { dg-error "static assertion failed" "" { target *-*-* } 87 } #include diff --git a/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc b/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc index d88f145d754..8c3494d7041 100644 --- a/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc @@ -31,9 +31,9 @@ test01() std::gcd(0.1, 0.1); // { dg-error "from here" } } -// { dg-error "integers" "" { target *-*-* } 134 } -// { dg-error "integers" "" { target *-*-* } 135 } -// { dg-error "not bools" "" { target *-*-* } 136 } -// { dg-error "not bools" "" { target *-*-* } 137 } +// { dg-error "integers" "" { target *-*-* } 130 } +// { dg-error "integers" "" { target *-*-* } 131 } +// { dg-error "not bools" "" { target *-*-* } 132 } +// { dg-error "not bools" "" { target *-*-* } 133 } // { dg-prune-output "deleted function" } // { dg-prune-output "invalid operands" } diff --git a/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc b/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc index f2d82894531..abcac4f18c1 100644 --- a/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc @@ -31,9 +31,9 @@ test01() std::lcm(0.1, 0.1); // { dg-error "from here" } } -// { dg-error "integers" "" { target *-*-* } 147 } -// { dg-error "integers" "" { target *-*-* } 148 } -// { dg-error "not bools" "" { target *-*-* } 149 } -// { dg-error "not bools" "" { target *-*-* } 150 } +// { dg-error "integers" "" { target *-*-* } 143 } +// { dg-error "integers" "" { target *-*-* } 144 } +// { dg-error "not bools" "" { target *-*-* } 145 } +// { dg-error "not bools" "" { target *-*-* } 146 } // { dg-prune-output "deleted function" } // { dg-prune-output "invalid operands" } diff --git a/libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc b/libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc index ad2cbc6e71b..22485222f28 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc @@ -9,6 +9,6 @@ std::__detail::_Adaptor aurng(urng); auto x = std::generate_canonical::digits>(urng); -// { dg-error "static assertion failed: template argument must be a floating point type" "" { target *-*-* } 160 } +// { dg-error "static assertion failed: template argument must be a floating point type" "" { target *-*-* } 156 } -// { dg-error "static assertion failed: template argument must be a floating point type" "" { target *-*-* } 3314 } +// { dg-error "static assertion failed: template argument must be a floating point type" "" { target *-*-* } 3311 }