|
@@ -148,22 +148,15 @@ typedef __char32_t char32_t;
|
|
#define _LIBCPP_HAS_NO_TRAILING_RETURN
|
|
#define _LIBCPP_HAS_NO_TRAILING_RETURN
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-#if __has_feature(cxx_inline_namespaces)
|
|
|
|
|
|
+// Inline namespaces are available in Clang regardless of C++ dialect.
|
|
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace _LIBCPP_NAMESPACE {
|
|
#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {inline namespace _LIBCPP_NAMESPACE {
|
|
#define _LIBCPP_END_NAMESPACE_STD } }
|
|
#define _LIBCPP_END_NAMESPACE_STD } }
|
|
#define _STD std::_LIBCPP_NAMESPACE
|
|
#define _STD std::_LIBCPP_NAMESPACE
|
|
|
|
|
|
namespace std {
|
|
namespace std {
|
|
-inline namespace _LIBCPP_NAMESPACE {
|
|
|
|
|
|
+ inline namespace _LIBCPP_NAMESPACE {
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-using namespace _LIBCPP_NAMESPACE;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-#else // __has_feature(cxx_inline_namespaces)
|
|
|
|
-#define _LIBCPP_BEGIN_NAMESPACE_STD namespace std {
|
|
|
|
-#define _LIBCPP_END_NAMESPACE_STD }
|
|
|
|
-#define _STD std
|
|
|
|
-#endif // __has_feature(cxx_inline_namespaces)
|
|
|
|
|
|
|
|
#if !(__has_feature(cxx_constexpr))
|
|
#if !(__has_feature(cxx_constexpr))
|
|
#define _LIBCPP_HAS_NO_CONSTEXPR
|
|
#define _LIBCPP_HAS_NO_CONSTEXPR
|