From 3e0e1ea1ffd4674c510c36281fcfb7189c59ed1a Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Fri, 7 Jun 2024 14:01:45 -0400 Subject: [PATCH] Uglify and try to also handle ELF --- libcxx/include/typeinfo | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libcxx/include/typeinfo b/libcxx/include/typeinfo index 76320c33c692e7..9e54973898c06b 100644 --- a/libcxx/include/typeinfo +++ b/libcxx/include/typeinfo @@ -275,13 +275,15 @@ struct __type_info_implementations { __impl; }; -# if __has_cpp_attribute(clang::ptrauth_vtable_pointer) -# if __has_feature(ptrauth_type_info_discriminated_vtable_pointer) +# if __has_cpp_attribute(_Clang::__ptrauth_vtable_pointer__) && __has_feature(__ptrauth_calls__) +# if __has_feature(__ptrauth_vtable_address_discrimination__) || \ + __has_feature(__ptrauth_vtable_type_discrimination__) # define _LIBCPP_TYPE_INFO_VTABLE_POINTER_AUTH \ - [[clang::ptrauth_vtable_pointer(process_independent, address_discrimination, type_discrimination)]] + [[_Clang::__ptrauth_vtable_pointer__(process_independent, address_discrimination, type_discrimination)]] # else # define _LIBCPP_TYPE_INFO_VTABLE_POINTER_AUTH \ - [[clang::ptrauth_vtable_pointer(process_independent, no_address_discrimination, no_extra_discrimination)]] + [[_Clang::__ptrauth_vtable_pointer__( \ + process_independent, no_address_discrimination, no_extra_discrimination)]] # endif # else # define _LIBCPP_TYPE_INFO_VTABLE_POINTER_AUTH