[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