aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/bits/c++config
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2017-01-26 18:32:55 +0000
committerJonathan Wakely <jwakely@redhat.com>2017-01-26 18:32:55 +0000
commitaf1514145cd496e283a6d470d56b98ca62e9461b (patch)
tree0c141a8fa2968edea9210e0b3a1e9619c441c5b9 /libstdc++-v3/include/bits/c++config
parentdbc8914e5befeb41c6f224274194c1fb3f5e7bf4 (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++config30
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
}
}