diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-01-24 19:18:17 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-01-24 19:18:17 +0000 |
commit | 90c3c6c2a0a0afd28cbb5e117b278bdcdebfd85f (patch) | |
tree | 57f29724ab5627bc582b314f59a0a405ba6c502b | |
parent | 375122a03b870ed00f2c4c452d8c939e2039ffec (diff) | |
download | src-90c3c6c2a0a0afd28cbb5e117b278bdcdebfd85f.tar.gz src-90c3c6c2a0a0afd28cbb5e117b278bdcdebfd85f.zip |
Vendor import of libc++ release_40 branch r292951:vendor/libc++/libc++-release_40-r292951
Notes
Notes:
svn path=/vendor/libc++/dist/; revision=312709
svn path=/vendor/libc++/libc++-release_40-r292951/; revision=312710; tag=vendor/libc++/libc++-release_40-r292951
-rw-r--r-- | include/__config | 11 | ||||
-rw-r--r-- | include/string | 3 |
2 files changed, 12 insertions, 2 deletions
diff --git a/include/__config b/include/__config index 973f13bc9394..ddfab31f7fac 100644 --- a/include/__config +++ b/include/__config @@ -103,6 +103,9 @@ #if defined(__clang__) #define _LIBCPP_COMPILER_CLANG +# ifndef __apple_build_version__ +# define _LIBCPP_CLANG_VER (__clang_major__ * 100 + __clang_minor__) +# endif #elif defined(__GNUC__) #define _LIBCPP_COMPILER_GCC #elif defined(_MSC_VER) @@ -111,6 +114,10 @@ #define _LIBCPP_COMPILER_IBM #endif +#ifndef _LIBCPP_CLANG_VER +# define _LIBCPP_CLANG_VER 0 +#endif + // FIXME: ABI detection should be done via compiler builtin macros. This // is just a placeholder until Clang implements such macros. For now assume // that Windows compilers pretending to be MSVC++ target the microsoft ABI. @@ -741,7 +748,7 @@ template <unsigned> struct __static_assert_check {}; #ifdef _LIBCPP_HAS_NO_DECLTYPE // GCC 4.6 provides __decltype in all standard modes. -#if !__is_identifier(__decltype) || _GNUC_VER >= 406 +#if !__is_identifier(__decltype) || _LIBCPP_CLANG_VER >= 304 || _GNUC_VER >= 406 # define decltype(__x) __decltype(__x) #else # define decltype(__x) __typeof__(__x) @@ -838,7 +845,7 @@ template <unsigned> struct __static_assert_check {}; #if defined(__APPLE__) # if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && \ defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) -# define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIROMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ +# define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ # endif # if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) # if __MAC_OS_X_VERSION_MIN_REQUIRED < 1060 diff --git a/include/string b/include/string index 7d7994eaca1b..ba311efa5a31 100644 --- a/include/string +++ b/include/string @@ -818,7 +818,10 @@ public: operator __self_view() const _NOEXCEPT { return __self_view(data(), size()); } basic_string& operator=(const basic_string& __str); + +#ifndef _LIBCPP_CXX03_LANG template <class = void> +#endif _LIBCPP_INLINE_VISIBILITY basic_string& operator=(__self_view __sv) {return assign(__sv);} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES |