|
26 | 26 | /* |
27 | 27 | These macros are for use in OS header files. They enable function prototypes |
28 | 28 | 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. |
31 | 31 | |
32 | 32 | The desktop Mac OS X and iOS each have different version numbers. |
33 | 33 | The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop |
|
135 | 135 | #ifndef __API_TO_BE_DEPRECATED_MACOS |
136 | 136 | #define __API_TO_BE_DEPRECATED_MACOS 100000 |
137 | 137 | #endif |
| 138 | +#ifndef __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION |
| 139 | +#define __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION 100000 |
| 140 | +#endif |
138 | 141 |
|
139 | 142 | #ifndef __API_TO_BE_DEPRECATED_IOS |
140 | 143 | #define __API_TO_BE_DEPRECATED_IOS 100000 |
141 | 144 | #endif |
| 145 | +#ifndef __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION |
| 146 | +#define __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION 100000 |
| 147 | +#endif |
142 | 148 | #ifndef __API_TO_BE_DEPRECATED_MACCATALYST |
143 | 149 | #define __API_TO_BE_DEPRECATED_MACCATALYST 100000 |
144 | 150 | #endif |
| 151 | +#ifndef __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION |
| 152 | +#define __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION 100000 |
| 153 | +#endif |
145 | 154 |
|
146 | 155 | #ifndef __API_TO_BE_DEPRECATED_WATCHOS |
147 | 156 | #define __API_TO_BE_DEPRECATED_WATCHOS 100000 |
148 | 157 | #endif |
| 158 | +#ifndef __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION |
| 159 | +#define __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION 100000 |
| 160 | +#endif |
149 | 161 |
|
150 | 162 | #ifndef __API_TO_BE_DEPRECATED_TVOS |
151 | 163 | #define __API_TO_BE_DEPRECATED_TVOS 100000 |
152 | 164 | #endif |
| 165 | +#ifndef __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION |
| 166 | +#define __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION 100000 |
| 167 | +#endif |
153 | 168 |
|
154 | | -#ifndef __API_TO_BE_DEPRECATED_BRIDGEOS |
155 | 169 |
|
156 | | -#endif |
157 | 170 |
|
158 | 171 | #ifndef __API_TO_BE_DEPRECATED_DRIVERKIT |
159 | 172 | #define __API_TO_BE_DEPRECATED_DRIVERKIT 100000 |
|
162 | 175 | #ifndef __API_TO_BE_DEPRECATED_VISIONOS |
163 | 176 | #define __API_TO_BE_DEPRECATED_VISIONOS 100000 |
164 | 177 | #endif |
| 178 | +#ifndef __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION |
| 179 | +#define __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION 100000 |
| 180 | +#endif |
165 | 181 |
|
166 | 182 | #ifndef __API_TO_BE_DEPRECATED_EXCLAVEKIT |
167 | 183 |
|
168 | 184 | #endif |
169 | 185 |
|
| 186 | +#ifndef __API_TO_BE_DEPRECATED_KERNELKIT |
| 187 | +#define __API_TO_BE_DEPRECATED_KERNELKIT 100000 |
| 188 | +#endif |
| 189 | + |
170 | 190 |
|
171 | 191 |
|
172 | 192 | #ifndef __OPEN_SOURCE__ |
|
424 | 444 | * Use to specify the release that a particular API became available. |
425 | 445 | * |
426 | 446 | * Platform names: |
427 | | - * macos, ios, tvos, watchos |
| 447 | + * macos, macOSApplicationExtension, macCatalyst, macCatalystApplicationExtension, |
| 448 | + * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos, |
| 449 | + * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension |
428 | 450 | * |
429 | 451 | * Examples: |
430 | 452 | * __API_AVAILABLE(macos(10.10)) |
431 | 453 | * __API_AVAILABLE(macos(10.9), ios(10.0)) |
432 | 454 | * __API_AVAILABLE(macos(10.4), ios(8.0), watchos(2.0), tvos(10.0)) |
433 | 455 | * __API_AVAILABLE(driverkit(19.0)) |
434 | 456 | */ |
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__) |
436 | 458 |
|
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__) |
438 | 460 | #define __API_AVAILABLE_END _Pragma("clang attribute pop") |
439 | 461 |
|
440 | 462 | /* |
441 | 463 | * API Deprecations |
442 | 464 | * |
443 | | - * Use to specify the release that a particular API became unavailable. |
| 465 | + * Use to specify the release that a particular API became deprecated. |
444 | 466 | * |
445 | 467 | * Platform names: |
446 | | - * macos, ios, tvos, watchos |
| 468 | + * macos, macOSApplicationExtension, macCatalyst, macCatalystApplicationExtension, |
| 469 | + * ios, iOSApplicationExtension, tvos, tvOSApplicationExtension, watchos, |
| 470 | + * watchOSApplicationExtension, driverkit, visionos, visionOSApplicationExtension |
447 | 471 | * |
448 | 472 | * Examples: |
449 | 473 | * |
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)) |
452 | 476 | * |
453 | 477 | * __API_DEPRECATED_WITH_REPLACEMENT("-setName:", tvos(10.0, 10.4), ios(9.0, 10.0)) |
454 | 478 | * __API_DEPRECATED_WITH_REPLACEMENT("SomeClassName", macos(10.4, 10.6), watchos(2.0, 3.0)) |
455 | 479 | */ |
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__) |
458 | 482 |
|
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__) |
460 | 484 | #define __API_DEPRECATED_END _Pragma("clang attribute pop") |
461 | 485 |
|
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__) |
463 | 487 | #define __API_DEPRECATED_WITH_REPLACEMENT_END _Pragma("clang attribute pop") |
464 | 488 |
|
| 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 | + |
465 | 499 | /* |
466 | 500 | * API Unavailability |
467 | 501 | * Use to specify that an API is unavailable for a particular platform. |
|
470 | 504 | * __API_UNAVAILABLE(macos) |
471 | 505 | * __API_UNAVAILABLE(watchos, tvos) |
472 | 506 | */ |
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__) |
474 | 508 |
|
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__) |
476 | 510 | #define __API_UNAVAILABLE_END _Pragma("clang attribute pop") |
477 | 511 | #endif /* __has_attribute(availability) */ |
478 | 512 | #endif /* #if defined(__has_feature) && defined(__has_attribute) */ |
|
517 | 551 | #define __API_DEPRECATED_WITH_REPLACEMENT_END(...) |
518 | 552 | #endif |
519 | 553 |
|
| 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 | + |
520 | 578 | #ifndef __API_UNAVAILABLE |
521 | 579 | #define __API_UNAVAILABLE(...) |
522 | 580 | #endif |
|
555 | 613 |
|
556 | 614 | #endif /* __AVAILABILITY__ */ |
557 | 615 |
|
| 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