[libcxx-commits] [libcxx] 6a65e84 - [libc++] Add availability for LLVM 22 on Apple platforms (#218518)

via libcxx-commits libcxx-commits at lists.llvm.org
Tue Aug 25 08:55:03 PDT 2026


Author: Louis Dionne
Date: 2026-08-25T11:54:57-04:00
New Revision: 6a65e8441fb84aab31a7e54ae1abb75d76a43d59

URL: https://github.com/llvm/llvm-project/commit/6a65e8441fb84aab31a7e54ae1abb75d76a43d59
DIFF: https://github.com/llvm/llvm-project/commit/6a65e8441fb84aab31a7e54ae1abb75d76a43d59.diff

LOG: [libc++] Add availability for LLVM 22 on Apple platforms (#218518)

Added: 
    

Modified: 
    libcxx/include/__configuration/availability.h
    libcxx/utils/libcxx/test/features/availability.py

Removed: 
    


################################################################################
diff  --git a/libcxx/include/__configuration/availability.h b/libcxx/include/__configuration/availability.h
index 0709deff47ea6..db6c38ddedb95 100644
--- a/libcxx/include/__configuration/availability.h
+++ b/libcxx/include/__configuration/availability.h
@@ -79,9 +79,23 @@
 #  define _LIBCPP_INTRODUCED_IN_LLVM_23_ATTRIBUTE __attribute__((unavailable))
 
 // LLVM 22
-// TODO: Fill this in
-#  define _LIBCPP_INTRODUCED_IN_LLVM_22 0
-#  define _LIBCPP_INTRODUCED_IN_LLVM_22_ATTRIBUTE __attribute__((unavailable))
+//
+// Note that DriverKit versions were bumped forward and aligned with the other Apple OSes in that release.
+#  if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 270000) ||       \
+      (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 270000) ||     \
+      (defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 270000) ||             \
+      (defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 270000) ||       \
+      (defined(__ENVIRONMENT_DRIVERKIT_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_DRIVERKIT_VERSION_MIN_REQUIRED__ < 270000)
+#    define _LIBCPP_INTRODUCED_IN_LLVM_22 0
+#  else
+#    define _LIBCPP_INTRODUCED_IN_LLVM_22 1
+#  endif
+#  define _LIBCPP_INTRODUCED_IN_LLVM_22_ATTRIBUTE                                                                 \
+    __attribute__((availability(macos, strict, introduced = 27.0)))                                               \
+    __attribute__((availability(ios, strict, introduced = 27.0)))                                                 \
+    __attribute__((availability(tvos, strict, introduced = 27.0)))                                                \
+    __attribute__((availability(watchos, strict, introduced = 27.0)))                                             \
+    __attribute__((availability(driverkit, strict, introduced = 27.0)))
 
 // LLVM 21
 #  if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 260400) ||       \

diff  --git a/libcxx/utils/libcxx/test/features/availability.py b/libcxx/utils/libcxx/test/features/availability.py
index c74383b237521..65cf19f0a7617 100644
--- a/libcxx/utils/libcxx/test/features/availability.py
+++ b/libcxx/utils/libcxx/test/features/availability.py
@@ -22,7 +22,7 @@
     Feature(
         name="_target-has-llvm-22",
         when=lambda cfg: BooleanExpression.evaluate(
-            "_target-has-llvm-23",
+            r"_target-has-llvm-23 || target={{.+}}-apple-macosx{{27.[0-9](.\d+)?}}",
             cfg.available_features,
         ),
     ),


        


More information about the libcxx-commits mailing list