diff options
author | Arthur O'Dwyer <arthur.j.odwyer@gmail.com> | 2020-12-08 15:41:48 -0500 |
---|---|---|
committer | Arthur O'Dwyer <arthur.j.odwyer@gmail.com> | 2020-12-08 17:05:38 -0500 |
commit | 35c3b539438be2d587cbe8f2b9604a68bbe7792b (patch) | |
tree | 1332d4384d545c32cf932ffd94f4091c278691f5 | |
parent | 483fb333605fc3a392ba140d33e8d9187cf02b70 (diff) | |
download | llvm-35c3b539438be2d587cbe8f2b9604a68bbe7792b.zip llvm-35c3b539438be2d587cbe8f2b9604a68bbe7792b.tar.gz llvm-35c3b539438be2d587cbe8f2b9604a68bbe7792b.tar.bz2 |
[libc++] ADL-proof __libcpp_is_nothrow_constructible.
The GCC C++20 buildbot hit this ADL call; Clang doesn't,
presumably because it uses a compiler builtin instead of
this codepath in <type_traits>.
https://buildkite.com/llvm-project/libcxx-ci/builds/674
-rw-r--r-- | libcxx/include/type_traits | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libcxx/include/type_traits b/libcxx/include/type_traits index cd6a163..2842c905 100644 --- a/libcxx/include/type_traits +++ b/libcxx/include/type_traits @@ -1821,7 +1821,7 @@ template <typename _Tp> static void __test_noexcept(_Tp) noexcept; template<typename _Fm, typename _To> -static bool_constant<noexcept(__test_noexcept<_To>(declval<_Fm>()))> +static bool_constant<noexcept(_VSTD::__test_noexcept<_To>(declval<_Fm>()))> __is_nothrow_convertible_test(); template <typename _Fm, typename _To> @@ -3293,7 +3293,7 @@ void __implicit_conversion_to(_Tp) noexcept { } template <class _Tp, class _Arg> struct __libcpp_is_nothrow_constructible</*is constructible*/true, /*is reference*/true, _Tp, _Arg> - : public integral_constant<bool, noexcept(__implicit_conversion_to<_Tp>(declval<_Arg>()))> + : public integral_constant<bool, noexcept(_VSTD::__implicit_conversion_to<_Tp>(declval<_Arg>()))> { }; |