Skip to content

Commit 355f46c

Browse files
committed
[libc++] Add availability markup for LLVM 19
An LLVM 19-aligned libc++ was released with macOS 15.4 (and corresponding OSes). This patch adds availability markup to reflect that.
1 parent 3667f29 commit 355f46c

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

libcxx/include/__configuration/availability.h

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,21 @@
134134
# define _LIBCPP_INTRODUCED_IN_LLVM_20_ATTRIBUTE __attribute__((unavailable))
135135

136136
// LLVM 19
137-
// TODO: Fill this in
138-
# define _LIBCPP_INTRODUCED_IN_LLVM_19 0
139-
# define _LIBCPP_INTRODUCED_IN_LLVM_19_ATTRIBUTE __attribute__((unavailable))
137+
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 150400) || \
138+
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 180400) || \
139+
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 180400) || \
140+
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 110400) || \
141+
(defined(__ENVIRONMENT_BRIDGE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_BRIDGE_OS_VERSION_MIN_REQUIRED__ < 90400)
142+
# define _LIBCPP_INTRODUCED_IN_LLVM_19 0
143+
# else
144+
# define _LIBCPP_INTRODUCED_IN_LLVM_19 1
145+
# endif
146+
# define _LIBCPP_INTRODUCED_IN_LLVM_19_ATTRIBUTE \
147+
__attribute__((availability(macos, strict, introduced = 15.4))) \
148+
__attribute__((availability(ios, strict, introduced = 18.4))) \
149+
__attribute__((availability(tvos, strict, introduced = 18.4))) \
150+
__attribute__((availability(watchos, strict, introduced = 11.4))) \
151+
__attribute__((availability(bridgeos, strict, introduced = 9.4)))
140152

141153
// LLVM 18
142154
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 150000) || \

0 commit comments

Comments
 (0)