[libcxx-commits] [libcxx] [libc++] Use __add_pointer and __remove_pointer builtins when they are fixed (PR #134147)
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Sat Apr 5 02:21:12 PDT 2025
https://github.com/philnik777 updated https://github.com/llvm/llvm-project/pull/134147
>From 36e4be16080519fdddf238da1ba9b075199913a5 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser at berlin.de>
Date: Tue, 25 Mar 2025 18:24:49 +0100
Subject: [PATCH] [libc++] Use __add_pointer and __remove_pointer builtins when
they are fixed
---
libcxx/include/__config | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 35e62d0a19e85..eef2f400b1ca6 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 < 2010)
# define _LIBCPP_WORKAROUND_OBJCXX_COMPILER_INTRINSICS
# endif
More information about the libcxx-commits
mailing list