summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremsr <emsr@138bc75d-0d04-0410-961f-82ee72b054a4>2013-06-11 11:00:38 +0000
committeremsr <emsr@138bc75d-0d04-0410-961f-82ee72b054a4>2013-06-11 11:00:38 +0000
commit706144c4ae398f4b3d35eb0cfde9650816c94e6c (patch)
tree82c124587be8c4f808a3f89e32e71a9dc7547b7d
parent5aa09f64d2f4ce64cf8ae3212ea60fc77dbfbd61 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--libstdc++-v3/include/bits/basic_string.h6
-rw-r--r--libstdc++-v3/include/std/chrono35
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/literals/ns_detail.cc7
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>