Skip to content

Commit c907866

Browse files
linusgalexrp
authored andcommitted
libc: update macOS headers to SDK 15.5
1 parent 1a08c83 commit c907866

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+1986
-959
lines changed

lib/libc/darwin/SDKSettings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"MinimalDisplayName":"15.2"}
1+
{"MinimalDisplayName":"15.5"}

lib/libc/darwin/libSystem.tbd

Lines changed: 274 additions & 260 deletions
Large diffs are not rendered by default.

lib/libc/include/any-macos-any/AssertMacros.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,9 @@
133133
*
134134
* If you do not define DEBUG_ASSERT_PRODUCTION_CODE, the default value 1 will be used
135135
* (production code = no assertion code and no messages).
136+
*
137+
* If you are building with modules modules this must be defined via a commandline
138+
* flag (i.e. -DDEBUG_ASSERT_PRODUCTION_CODE=1) in order to work correctly.
136139
*/
137140
#ifndef DEBUG_ASSERT_PRODUCTION_CODE
138141
#define DEBUG_ASSERT_PRODUCTION_CODE !DEBUG

lib/libc/include/any-macos-any/Availability.h

Lines changed: 85 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
/*
2727
These macros are for use in OS header files. They enable function prototypes
2828
and Objective-C methods to be tagged with the OS version in which they
29-
were first available; and, if applicable, the OS version in which they
30-
became deprecated.
29+
were first available; and, if applicable, the OS versions in which they
30+
became deprecated and obsoleted.
3131
3232
The desktop Mac OS X and iOS each have different version numbers.
3333
The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop
@@ -135,25 +135,38 @@
135135
#ifndef __API_TO_BE_DEPRECATED_MACOS
136136
#define __API_TO_BE_DEPRECATED_MACOS 100000
137137
#endif
138+
#ifndef __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION
139+
#define __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION 100000
140+
#endif
138141

139142
#ifndef __API_TO_BE_DEPRECATED_IOS
140143
#define __API_TO_BE_DEPRECATED_IOS 100000
141144
#endif
145+
#ifndef __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION
146+
#define __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION 100000
147+
#endif
142148
#ifndef __API_TO_BE_DEPRECATED_MACCATALYST
143149
#define __API_TO_BE_DEPRECATED_MACCATALYST 100000
144150
#endif
151+
#ifndef __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION
152+
#define __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION 100000
153+
#endif
145154

146155
#ifndef __API_TO_BE_DEPRECATED_WATCHOS
147156
#define __API_TO_BE_DEPRECATED_WATCHOS 100000
148157
#endif
158+
#ifndef __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION
159+
#define __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION 100000
160+
#endif
149161

150162
#ifndef __API_TO_BE_DEPRECATED_TVOS
151163
#define __API_TO_BE_DEPRECATED_TVOS 100000
152164
#endif
165+
#ifndef __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION
166+
#define __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION 100000
167+
#endif
153168

154-
#ifndef __API_TO_BE_DEPRECATED_BRIDGEOS
155169

156-
#endif
157170

158171
#ifndef __API_TO_BE_DEPRECATED_DRIVERKIT
159172
#define __API_TO_BE_DEPRECATED_DRIVERKIT 100000
@@ -162,11 +175,18 @@
162175
#ifndef __API_TO_BE_DEPRECATED_VISIONOS
163176
#define __API_TO_BE_DEPRECATED_VISIONOS 100000
164177
#endif
178+
#ifndef __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION
179+
#define __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION 100000
180+
#endif
165181

166182
#ifndef __API_TO_BE_DEPRECATED_EXCLAVEKIT
167183

168184
#endif
169185

186+
#ifndef __API_TO_BE_DEPRECATED_KERNELKIT
187+
#define __API_TO_BE_DEPRECATED_KERNELKIT 100000
188+
#endif
189+
170190

171191

172192
#ifndef __OPEN_SOURCE__
@@ -424,44 +444,58 @@
424444
* Use to specify the release that a particular API became available.
425445
*
426446
* Platform names:
427-
* macos, ios, tvos, watchos
447+
* macos, macOSApplicationExtension, macCatalyst, macCatalystApplicationExtension,
448+
* ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
449+
* watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
428450
*
429451
* Examples:
430452
* __API_AVAILABLE(macos(10.10))
431453
* __API_AVAILABLE(macos(10.9), ios(10.0))
432454
* __API_AVAILABLE(macos(10.4), ios(8.0), watchos(2.0), tvos(10.0))
433455
* __API_AVAILABLE(driverkit(19.0))
434456
*/
435-
#define __API_AVAILABLE(...) __API_AVAILABLE_GET_MACRO(__VA_ARGS__,__API_AVAILABLE8,__API_AVAILABLE7,__API_AVAILABLE6,__API_AVAILABLE5,__API_AVAILABLE4,__API_AVAILABLE3,__API_AVAILABLE2,__API_AVAILABLE1,__API_AVAILABLE0,0)(__VA_ARGS__)
457+
#define __API_AVAILABLE(...) __API_AVAILABLE_GET_MACRO_93585900(__VA_ARGS__,__API_AVAILABLE15,__API_AVAILABLE14,__API_AVAILABLE13,__API_AVAILABLE12,__API_AVAILABLE11,__API_AVAILABLE10,__API_AVAILABLE9,__API_AVAILABLE8,__API_AVAILABLE7,__API_AVAILABLE6,__API_AVAILABLE5,__API_AVAILABLE4,__API_AVAILABLE3,__API_AVAILABLE2,__API_AVAILABLE1,__API_AVAILABLE0,0)(__VA_ARGS__)
436458

437-
#define __API_AVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_AVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__API_AVAILABLE_BEGIN8,__API_AVAILABLE_BEGIN7,__API_AVAILABLE_BEGIN6,__API_AVAILABLE_BEGIN5,__API_AVAILABLE_BEGIN4,__API_AVAILABLE_BEGIN3,__API_AVAILABLE_BEGIN2,__API_AVAILABLE_BEGIN1,__API_AVAILABLE_BEGIN0,0)(__VA_ARGS__)
459+
#define __API_AVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_AVAILABLE_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_AVAILABLE_BEGIN15,__API_AVAILABLE_BEGIN14,__API_AVAILABLE_BEGIN13,__API_AVAILABLE_BEGIN12,__API_AVAILABLE_BEGIN11,__API_AVAILABLE_BEGIN10,__API_AVAILABLE_BEGIN9,__API_AVAILABLE_BEGIN8,__API_AVAILABLE_BEGIN7,__API_AVAILABLE_BEGIN6,__API_AVAILABLE_BEGIN5,__API_AVAILABLE_BEGIN4,__API_AVAILABLE_BEGIN3,__API_AVAILABLE_BEGIN2,__API_AVAILABLE_BEGIN1,__API_AVAILABLE_BEGIN0,0)(__VA_ARGS__)
438460
#define __API_AVAILABLE_END _Pragma("clang attribute pop")
439461

440462
/*
441463
* API Deprecations
442464
*
443-
* Use to specify the release that a particular API became unavailable.
465+
* Use to specify the release that a particular API became deprecated.
444466
*
445467
* Platform names:
446-
* macos, ios, tvos, watchos
468+
* macos, macOSApplicationExtension, macCatalyst, macCatalystApplicationExtension,
469+
* ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos,
470+
* watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension
447471
*
448472
* Examples:
449473
*
450-
* __API_DEPRECATED("No longer supported", macos(10.4, 10.8))
451-
* __API_DEPRECATED("No longer supported", macos(10.4, 10.8), ios(2.0, 3.0), watchos(2.0, 3.0), tvos(9.0, 10.0))
474+
* __API_DEPRECATED("Deprecated", macos(10.4, 10.8))
475+
* __API_DEPRECATED("Deprecated", macos(10.4, 10.8), ios(2.0, 3.0), watchos(2.0, 3.0), tvos(9.0, 10.0))
452476
*
453477
* __API_DEPRECATED_WITH_REPLACEMENT("-setName:", tvos(10.0, 10.4), ios(9.0, 10.0))
454478
* __API_DEPRECATED_WITH_REPLACEMENT("SomeClassName", macos(10.4, 10.6), watchos(2.0, 3.0))
455479
*/
456-
#define __API_DEPRECATED(...) __API_DEPRECATED_MSG_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_MSG8,__API_DEPRECATED_MSG7,__API_DEPRECATED_MSG6,__API_DEPRECATED_MSG5,__API_DEPRECATED_MSG4,__API_DEPRECATED_MSG3,__API_DEPRECATED_MSG2,__API_DEPRECATED_MSG1,__API_DEPRECATED_MSG0,0,0)(__VA_ARGS__)
457-
#define __API_DEPRECATED_WITH_REPLACEMENT(...) __API_DEPRECATED_REP_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_REP8,__API_DEPRECATED_REP7,__API_DEPRECATED_REP6,__API_DEPRECATED_REP5,__API_DEPRECATED_REP4,__API_DEPRECATED_REP3,__API_DEPRECATED_REP2,__API_DEPRECATED_REP1,__API_DEPRECATED_REP0,0,0)(__VA_ARGS__)
480+
#define __API_DEPRECATED(...) __API_DEPRECATED_MSG_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_MSG15,__API_DEPRECATED_MSG14,__API_DEPRECATED_MSG13,__API_DEPRECATED_MSG12,__API_DEPRECATED_MSG11,__API_DEPRECATED_MSG10,__API_DEPRECATED_MSG9,__API_DEPRECATED_MSG8,__API_DEPRECATED_MSG7,__API_DEPRECATED_MSG6,__API_DEPRECATED_MSG5,__API_DEPRECATED_MSG4,__API_DEPRECATED_MSG3,__API_DEPRECATED_MSG2,__API_DEPRECATED_MSG1,__API_DEPRECATED_MSG0,0,0)(__VA_ARGS__)
481+
#define __API_DEPRECATED_WITH_REPLACEMENT(...) __API_DEPRECATED_REP_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_REP15,__API_DEPRECATED_REP14,__API_DEPRECATED_REP13,__API_DEPRECATED_REP12,__API_DEPRECATED_REP11,__API_DEPRECATED_REP10,__API_DEPRECATED_REP9,__API_DEPRECATED_REP8,__API_DEPRECATED_REP7,__API_DEPRECATED_REP6,__API_DEPRECATED_REP5,__API_DEPRECATED_REP4,__API_DEPRECATED_REP3,__API_DEPRECATED_REP2,__API_DEPRECATED_REP1,__API_DEPRECATED_REP0,0,0)(__VA_ARGS__)
458482

459-
#define __API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_BEGIN8,__API_DEPRECATED_BEGIN7,__API_DEPRECATED_BEGIN6,__API_DEPRECATED_BEGIN5,__API_DEPRECATED_BEGIN4,__API_DEPRECATED_BEGIN3,__API_DEPRECATED_BEGIN2,__API_DEPRECATED_BEGIN1,__API_DEPRECATED_BEGIN0,0,0)(__VA_ARGS__)
483+
#define __API_DEPRECATED_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_BEGIN15,__API_DEPRECATED_BEGIN14,__API_DEPRECATED_BEGIN13,__API_DEPRECATED_BEGIN12,__API_DEPRECATED_BEGIN11,__API_DEPRECATED_BEGIN10,__API_DEPRECATED_BEGIN9,__API_DEPRECATED_BEGIN8,__API_DEPRECATED_BEGIN7,__API_DEPRECATED_BEGIN6,__API_DEPRECATED_BEGIN5,__API_DEPRECATED_BEGIN4,__API_DEPRECATED_BEGIN3,__API_DEPRECATED_BEGIN2,__API_DEPRECATED_BEGIN1,__API_DEPRECATED_BEGIN0,0,0)(__VA_ARGS__)
460484
#define __API_DEPRECATED_END _Pragma("clang attribute pop")
461485

462-
#define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_WITH_REPLACEMENT_BEGIN_GET_MACRO(__VA_ARGS__,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN8,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN7,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN6,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN5,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN4,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN3,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN2,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN1,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN0,0,0)(__VA_ARGS__)
486+
#define __API_DEPRECATED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_DEPRECATED_WITH_REPLACEMENT_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN15,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN14,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN13,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN12,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN11,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN10,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN9,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN8,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN7,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN6,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN5,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN4,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN3,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN2,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN1,__API_DEPRECATED_WITH_REPLACEMENT_BEGIN0,0,0)(__VA_ARGS__)
463487
#define __API_DEPRECATED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")
464488

489+
490+
#define __API_OBSOLETED(...) __API_OBSOLETED_MSG_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_MSG15,__API_OBSOLETED_MSG14,__API_OBSOLETED_MSG13,__API_OBSOLETED_MSG12,__API_OBSOLETED_MSG11,__API_OBSOLETED_MSG10,__API_OBSOLETED_MSG9,__API_OBSOLETED_MSG8,__API_OBSOLETED_MSG7,__API_OBSOLETED_MSG6,__API_OBSOLETED_MSG5,__API_OBSOLETED_MSG4,__API_OBSOLETED_MSG3,__API_OBSOLETED_MSG2,__API_OBSOLETED_MSG1,__API_OBSOLETED_MSG0,0,0)(__VA_ARGS__)
491+
#define __API_OBSOLETED_WITH_REPLACEMENT(...) __API_OBSOLETED_REP_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_REP15,__API_OBSOLETED_REP14,__API_OBSOLETED_REP13,__API_OBSOLETED_REP12,__API_OBSOLETED_REP11,__API_OBSOLETED_REP10,__API_OBSOLETED_REP9,__API_OBSOLETED_REP8,__API_OBSOLETED_REP7,__API_OBSOLETED_REP6,__API_OBSOLETED_REP5,__API_OBSOLETED_REP4,__API_OBSOLETED_REP3,__API_OBSOLETED_REP2,__API_OBSOLETED_REP1,__API_OBSOLETED_REP0,0,0)(__VA_ARGS__)
492+
493+
#define __API_OBSOLETED_BEGIN(...) _Pragma("clang attribute push") __API_OBSOLETED_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_BEGIN15,__API_OBSOLETED_BEGIN14,__API_OBSOLETED_BEGIN13,__API_OBSOLETED_BEGIN12,__API_OBSOLETED_BEGIN11,__API_OBSOLETED_BEGIN10,__API_OBSOLETED_BEGIN9,__API_OBSOLETED_BEGIN8,__API_OBSOLETED_BEGIN7,__API_OBSOLETED_BEGIN6,__API_OBSOLETED_BEGIN5,__API_OBSOLETED_BEGIN4,__API_OBSOLETED_BEGIN3,__API_OBSOLETED_BEGIN2,__API_OBSOLETED_BEGIN1,__API_OBSOLETED_BEGIN0,0,0)(__VA_ARGS__)
494+
#define __API_OBSOLETED_END _Pragma("clang attribute pop")
495+
496+
#define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN(...) _Pragma("clang attribute push") __API_OBSOLETED_WITH_REPLACEMENT_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN15,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN14,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN13,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN12,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN11,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN10,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN9,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN8,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN7,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN6,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN5,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN4,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN3,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN2,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN1,__API_OBSOLETED_WITH_REPLACEMENT_BEGIN0,0,0)(__VA_ARGS__)
497+
#define __API_OBSOLETED_WITH_REPLACEMENT_END _Pragma("clang attribute pop")
498+
465499
/*
466500
* API Unavailability
467501
* Use to specify that an API is unavailable for a particular platform.
@@ -470,9 +504,9 @@
470504
* __API_UNAVAILABLE(macos)
471505
* __API_UNAVAILABLE(watchos, tvos)
472506
*/
473-
#define __API_UNAVAILABLE(...) __API_UNAVAILABLE_GET_MACRO(__VA_ARGS__,__API_UNAVAILABLE8,__API_UNAVAILABLE7,__API_UNAVAILABLE6,__API_UNAVAILABLE5,__API_UNAVAILABLE4,__API_UNAVAILABLE3,__API_UNAVAILABLE2,__API_UNAVAILABLE1,__API_UNAVAILABLE0,0)(__VA_ARGS__)
507+
#define __API_UNAVAILABLE(...) __API_UNAVAILABLE_GET_MACRO_93585900(__VA_ARGS__,__API_UNAVAILABLE15,__API_UNAVAILABLE14,__API_UNAVAILABLE13,__API_UNAVAILABLE12,__API_UNAVAILABLE11,__API_UNAVAILABLE10,__API_UNAVAILABLE9,__API_UNAVAILABLE8,__API_UNAVAILABLE7,__API_UNAVAILABLE6,__API_UNAVAILABLE5,__API_UNAVAILABLE4,__API_UNAVAILABLE3,__API_UNAVAILABLE2,__API_UNAVAILABLE1,__API_UNAVAILABLE0,0)(__VA_ARGS__)
474508

475-
#define __API_UNAVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_UNAVAILABLE_BEGIN_GET_MACRO(__VA_ARGS__,__API_UNAVAILABLE_BEGIN8,__API_UNAVAILABLE_BEGIN7,__API_UNAVAILABLE_BEGIN6,__API_UNAVAILABLE_BEGIN5,__API_UNAVAILABLE_BEGIN4,__API_UNAVAILABLE_BEGIN3,__API_UNAVAILABLE_BEGIN2,__API_UNAVAILABLE_BEGIN1,__API_UNAVAILABLE_BEGIN0,0)(__VA_ARGS__)
509+
#define __API_UNAVAILABLE_BEGIN(...) _Pragma("clang attribute push") __API_UNAVAILABLE_BEGIN_GET_MACRO_93585900(__VA_ARGS__,__API_UNAVAILABLE_BEGIN15,__API_UNAVAILABLE_BEGIN14,__API_UNAVAILABLE_BEGIN13,__API_UNAVAILABLE_BEGIN12,__API_UNAVAILABLE_BEGIN11,__API_UNAVAILABLE_BEGIN10,__API_UNAVAILABLE_BEGIN9,__API_UNAVAILABLE_BEGIN8,__API_UNAVAILABLE_BEGIN7,__API_UNAVAILABLE_BEGIN6,__API_UNAVAILABLE_BEGIN5,__API_UNAVAILABLE_BEGIN4,__API_UNAVAILABLE_BEGIN3,__API_UNAVAILABLE_BEGIN2,__API_UNAVAILABLE_BEGIN1,__API_UNAVAILABLE_BEGIN0,0)(__VA_ARGS__)
476510
#define __API_UNAVAILABLE_END _Pragma("clang attribute pop")
477511
#endif /* __has_attribute(availability) */
478512
#endif /* #if defined(__has_feature) && defined(__has_attribute) */
@@ -517,6 +551,30 @@
517551
#define __API_DEPRECATED_WITH_REPLACEMENT_END(...)
518552
#endif
519553

554+
#ifndef __API_OBSOLETED
555+
#define __API_OBSOLETED(...)
556+
#endif
557+
558+
#ifndef __API_OBSOLETED_BEGIN
559+
#define __API_OBSOLETED_BEGIN(...)
560+
#endif
561+
562+
#ifndef __API_OBSOLETED_END
563+
#define __API_OBSOLETED_END(...)
564+
#endif
565+
566+
#ifndef __API_OBSOLETED_WITH_REPLACEMENT
567+
#define __API_OBSOLETED_WITH_REPLACEMENT(...)
568+
#endif
569+
570+
#ifndef __API_OBSOLETED_WITH_REPLACEMENT_BEGIN
571+
#define __API_OBSOLETED_WITH_REPLACEMENT_BEGIN(...)
572+
#endif
573+
574+
#ifndef __API_OBSOLETED_WITH_REPLACEMENT_END
575+
#define __API_OBSOLETED_WITH_REPLACEMENT_END(...)
576+
#endif
577+
520578
#ifndef __API_UNAVAILABLE
521579
#define __API_UNAVAILABLE(...)
522580
#endif
@@ -555,3 +613,13 @@
555613

556614
#endif /* __AVAILABILITY__ */
557615

616+
#ifndef __OPEN_SOURCE__
617+
// This is explicitly outside the header guard
618+
#ifndef __AVAILABILITY_VERSIONS_VERSION_HASH
619+
#define __AVAILABILITY_VERSIONS_VERSION_HASH 93585900U
620+
#define __AVAILABILITY_VERSIONS_VERSION_STRING "Local"
621+
#define __AVAILABILITY_FILE "Availability.h"
622+
#elif __AVAILABILITY_VERSIONS_VERSION_HASH != 93585900U
623+
#pragma GCC error "Already found AvailabilityVersions version " __AVAILABILITY_FILE " from " __AVAILABILITY_VERSIONS_VERSION_STRING ", which is incompatible with Availability.h from Local. Mixing and matching Availability from different SDKs is not supported"
624+
#endif /* __AVAILABILITY_VERSIONS_VERSION_HASH */
625+
#endif /* __OPEN_SOURCE__ */

0 commit comments

Comments
 (0)