Skip to content

[libc++] Use __add_pointer and __remove_pointer builtins when they are fixed #134147

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 8, 2025

Conversation

philnik777
Copy link
Contributor

No description provided.

@philnik777 philnik777 force-pushed the enable_add_remove_pointer branch from f63d694 to 36e4be1 Compare April 5, 2025 09:21
@philnik777 philnik777 force-pushed the enable_add_remove_pointer branch from 36e4be1 to 07abe59 Compare April 5, 2025 09:21
@philnik777 philnik777 marked this pull request as ready for review April 8, 2025 11:05
@philnik777 philnik777 requested a review from a team as a code owner April 8, 2025 11:05
@philnik777 philnik777 merged commit 483edfe into llvm:main Apr 8, 2025
80 checks passed
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Apr 8, 2025
@llvmbot
Copy link
Member

llvmbot commented Apr 8, 2025

@llvm/pr-subscribers-libcxx

Author: Nikolas Klauser (philnik777)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/134147.diff

1 Files Affected:

  • (modified) libcxx/include/__config (+2-3)
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 35e62d0a19e85..f74433a588a7c 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -1074,9 +1074,8 @@ typedef __char32_t char32_t;
 #    define _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(_ClassName) static_assert(true, "")
 #  endif
 
-// TODO(varconst): currently, there are bugs in Clang's intrinsics when handling Objective-C++ `id`, so don't use
-// compiler intrinsics in the Objective-C++ mode.
-#  ifdef __OBJC__
+// TODO(LLVM 22): Remove the workaround
+#  if defined(__OBJC__) && (!defined(_LIBCPP_CLANG_VER) || _LIBCPP_CLANG_VER < 2001)
 #    define _LIBCPP_WORKAROUND_OBJCXX_COMPILER_INTRINSICS
 #  endif
 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants