Skip to content

Commit 4578bc5

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 a98295d commit 4578bc5

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
@@ -123,9 +123,21 @@
123123
# define _LIBCPP_INTRODUCED_IN_LLVM_20_ATTRIBUTE __attribute__((unavailable))
124124

125125
// LLVM 19
126-
// TODO: Fill this in
127-
# define _LIBCPP_INTRODUCED_IN_LLVM_19 0
128-
# define _LIBCPP_INTRODUCED_IN_LLVM_19_ATTRIBUTE __attribute__((unavailable))
126+
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 150400) || \
127+
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 180400) || \
128+
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 180400) || \
129+
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 110400) || \
130+
(defined(__ENVIRONMENT_BRIDGE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_BRIDGE_OS_VERSION_MIN_REQUIRED__ < 90400)
131+
# define _LIBCPP_INTRODUCED_IN_LLVM_19 0
132+
# else
133+
# define _LIBCPP_INTRODUCED_IN_LLVM_19 1
134+
# endif
135+
# define _LIBCPP_INTRODUCED_IN_LLVM_19_ATTRIBUTE \
136+
__attribute__((availability(macos, strict, introduced = 15.4))) \
137+
__attribute__((availability(ios, strict, introduced = 18.4))) \
138+
__attribute__((availability(tvos, strict, introduced = 18.4))) \
139+
__attribute__((availability(watchos, strict, introduced = 11.4))) \
140+
__attribute__((availability(bridgeos, strict, introduced = 9.4)))
129141

130142
// LLVM 18
131143
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 150000) || \

0 commit comments

Comments
 (0)