diff options
author | emsr <emsr@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-06-11 11:00:38 +0000 |
---|---|---|
committer | emsr <emsr@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-06-11 11:00:38 +0000 |
commit | 706144c4ae398f4b3d35eb0cfde9650816c94e6c (patch) | |
tree | 82c124587be8c4f808a3f89e32e71a9dc7547b7d | |
parent | 5aa09f64d2f4ce64cf8ae3212ea60fc77dbfbd61 (diff) | |
download | gcc-706144c4ae398f4b3d35eb0cfde9650816c94e6c.tar.gz |
2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net>
Fix library literals error involving namespace __detail.
* include/std/chrono: Rename __detail to __select_type. Reformat.
* include/bits/basic_string.h: Reformat.
* testsuite/20_util/duration/literals/ns_detail.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199948 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | libstdc++-v3/ChangeLog | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/basic_string.h | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/std/chrono | 35 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/duration/literals/ns_detail.cc | 7 |
4 files changed, 37 insertions, 18 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 60bc7b5a5eb..bef2e0d1dd1 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net> + + Fix library literals error involving namespace __detail. + * include/std/chrono: Rename __detail to __select_type. Reformat. + * include/bits/basic_string.h: Reformat. + * testsuite/20_util/duration/literals/ns_detail.cc: New. + 2013-06-11 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/56019 diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index aec48d7430a..cbea5664e71 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -3105,8 +3105,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #if __cplusplus > 201103L - inline namespace literals { - inline namespace string_literals { + inline namespace literals + { + inline namespace string_literals + { inline basic_string<char> operator"" s(const char* __str, size_t __len) diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono index b32fb4460de..d5ef984279d 100644 --- a/libstdc++-v3/include/std/chrono +++ b/libstdc++-v3/include/std/chrono @@ -782,10 +782,13 @@ _GLIBCXX_END_NAMESPACE_VERSION #if __cplusplus > 201103L - inline namespace literals { - inline namespace chrono_literals { + inline namespace literals + { + inline namespace chrono_literals + { - namespace __detail { + namespace __select_type + { using namespace __parse_int; @@ -804,7 +807,7 @@ _GLIBCXX_END_NAMESPACE_VERSION constexpr typename _Select_type<_Val, _Dur>::type _Select_type<_Val, _Dur>::value; - } // __detail + } // __select_type constexpr chrono::duration<long double, ratio<3600,1>> operator"" h(long double __hours) @@ -812,11 +815,11 @@ _GLIBCXX_END_NAMESPACE_VERSION template <char... _Digits> constexpr typename - __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, + __select_type::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::hours>::type operator"" h() { - return __detail::_Select_type< + return __select_type::_Select_type< __select_int::_Select_int<_Digits...>::value, chrono::hours>::value; } @@ -827,11 +830,11 @@ _GLIBCXX_END_NAMESPACE_VERSION template <char... _Digits> constexpr typename - __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, + __select_type::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::minutes>::type operator"" min() { - return __detail::_Select_type< + return __select_type::_Select_type< __select_int::_Select_int<_Digits...>::value, chrono::minutes>::value; } @@ -842,11 +845,11 @@ _GLIBCXX_END_NAMESPACE_VERSION template <char... _Digits> constexpr typename - __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, + __select_type::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::seconds>::type operator"" s() { - return __detail::_Select_type< + return __select_type::_Select_type< __select_int::_Select_int<_Digits...>::value, chrono::seconds>::value; } @@ -857,11 +860,11 @@ _GLIBCXX_END_NAMESPACE_VERSION template <char... _Digits> constexpr typename - __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, + __select_type::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::milliseconds>::type operator"" ms() { - return __detail::_Select_type< + return __select_type::_Select_type< __select_int::_Select_int<_Digits...>::value, chrono::milliseconds>::value; } @@ -872,11 +875,11 @@ _GLIBCXX_END_NAMESPACE_VERSION template <char... _Digits> constexpr typename - __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, + __select_type::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::microseconds>::type operator"" us() { - return __detail::_Select_type< + return __select_type::_Select_type< __select_int::_Select_int<_Digits...>::value, chrono::microseconds>::value; } @@ -887,11 +890,11 @@ _GLIBCXX_END_NAMESPACE_VERSION template <char... _Digits> constexpr typename - __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, + __select_type::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::nanoseconds>::type operator"" ns() { - return __detail::_Select_type< + return __select_type::_Select_type< __select_int::_Select_int<_Digits...>::value, chrono::nanoseconds>::value; } diff --git a/libstdc++-v3/testsuite/20_util/duration/literals/ns_detail.cc b/libstdc++-v3/testsuite/20_util/duration/literals/ns_detail.cc new file mode 100644 index 00000000000..a5e21e9a3dd --- /dev/null +++ b/libstdc++-v3/testsuite/20_util/duration/literals/ns_detail.cc @@ -0,0 +1,7 @@ +// { dg-options "-std=gnu++1y" } +// { dg-do compile } + +// Test error: reference to '__detail' is ambiguous + +#include <chrono> +#include <random> |