diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2017-01-26 18:32:55 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2017-01-26 18:32:55 +0000 |
commit | af1514145cd496e283a6d470d56b98ca62e9461b (patch) | |
tree | 0c141a8fa2968edea9210e0b3a1e9619c441c5b9 /libstdc++-v3/include/bits/c++config | |
parent | dbc8914e5befeb41c6f224274194c1fb3f5e7bf4 (diff) |
Fix namespace versioning and remove __detail::__identity helpers
PR libstdc++/79243
* include/bits/c++config (literals::string_view_literals::__7): Add.
Only declare versioned namespaces for the relevant C++ dialects.
* include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
Add versioning macros.
* include/experimental/bits/lfts_config.h:
(fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
* include/experimental/string_view (fundamentals_v2::__detail):
Add versioning macros.
(fundamentals_v2::__detail::__identity): Remove.
(fundamentals_v2::__detail::__idt): Use common_type instead of
__detail::__identity.
* include/std/string_view (__detail::__identity, __detail::__idt):
Likewise.
(literals::string_view_literals): Fix nesting of versioning macros.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@244945 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/bits/c++config')
-rw-r--r-- | libstdc++-v3/include/bits/c++config | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index bc1ab5fc17e..3b694e07c51 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -179,7 +179,9 @@ namespace __profile { } namespace __cxx1998 { } - namespace __detail { } + namespace __detail { + namespace __variant { } // C++17 + } namespace rel_ops { } @@ -194,14 +196,15 @@ namespace decimal { } - namespace chrono { } - namespace placeholders { } - namespace regex_constants { } - namespace this_thread { } - inline namespace literals { - inline namespace chrono_literals { } - inline namespace complex_literals { } - inline namespace string_literals { } + namespace chrono { } // C++11 + namespace placeholders { } // C++11 + namespace regex_constants { } // C++11 + namespace this_thread { } // C++11 + inline namespace literals { // C++14 + inline namespace chrono_literals { } // C++14 + inline namespace complex_literals { } // C++14 + inline namespace string_literals { } // C++14 + inline namespace string_view_literals { } // C++17 } } @@ -282,20 +285,29 @@ namespace std namespace decimal { inline namespace __7 { } } +#if __cplusplus >= 201103L namespace chrono { inline namespace __7 { } } namespace placeholders { inline namespace __7 { } } namespace regex_constants { inline namespace __7 { } } namespace this_thread { inline namespace __7 { } } +#if __cplusplus >= 201402L inline namespace literals { inline namespace chrono_literals { inline namespace __7 { } } inline namespace complex_literals { inline namespace __7 { } } inline namespace string_literals { inline namespace __7 { } } +#if __cplusplus > 201402L + inline namespace string_view_literals { inline namespace __7 { } } +#endif // C++17 } +#endif // C++14 +#endif // C++11 namespace __detail { inline namespace __7 { } +#if __cplusplus > 201402L namespace __variant { inline namespace __7 { } } +#endif } } |