[libcxx-commits] [libcxx] [libc++] Use remove_pointer builtin only for clang in traits impl (PR #91838)

Mark de Wever via libcxx-commits libcxx-commits at lists.llvm.org
Sun May 12 23:02:30 PDT 2024


================
@@ -17,7 +17,8 @@
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
-#if !defined(_LIBCPP_WORKAROUND_OBJCXX_COMPILER_INTRINSICS) && __has_builtin(__remove_pointer)
+#if !defined(_LIBCPP_WORKAROUND_OBJCXX_COMPILER_INTRINSICS) && __has_builtin(__remove_pointer) &&                      \
+    defined(_LIBCPP_COMPILER_CLANG_BASED)
----------------
mordante wrote:

`_LIBCPP_COMPILER_CLANG_BASED` seems to be quite heavy restriction. It's better to just restrict GCC 14.1 and add a comment why GCC 14 is disabled. Once GCC 15.1 is released next year we can reevaluate its status.

FYI GCC 14 is not yet available in [Ubuntu PPA](https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages?field.name_filter=gcc&field.status_filter=published&field.series_filter=). Once it's available we can start testing GCC 14.1 is our CI.

https://github.com/llvm/llvm-project/pull/91838


More information about the libcxx-commits mailing list