diff --git a/libcxx/include/__config b/libcxx/include/__config --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -362,8 +362,6 @@ # define __has_declspec_attribute(__x) 0 # endif -# define __has_keyword(__x) !(__is_identifier(__x)) - # ifndef __has_include # define __has_include(...) 0 # endif @@ -1156,7 +1154,7 @@ # define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE # endif -# if __has_feature(cxx_atomic) || __has_extension(c_atomic) || __has_keyword(_Atomic) +# if __has_feature(cxx_atomic) || __has_extension(c_atomic) # define _LIBCPP_HAS_C_ATOMIC_IMP # elif defined(_LIBCPP_COMPILER_GCC) # define _LIBCPP_HAS_GCC_ATOMIC_IMP diff --git a/libcxx/include/tuple b/libcxx/include/tuple --- a/libcxx/include/tuple +++ b/libcxx/include/tuple @@ -308,7 +308,7 @@ template static _LIBCPP_HIDE_FROM_ABI constexpr bool __can_bind_reference() { -#if __has_keyword(__reference_binds_to_temporary) +#if __has_builtin(__reference_binds_to_temporary) return !__reference_binds_to_temporary(_Hp, _Tp); #else return true;