···136136#define __MAC_10_12 101200
137137#define __MAC_10_12_1 101201
138138#define __MAC_10_12_2 101202
139139+#define __MAC_10_12_4 101204
139140/* __MAC_NA is not defined to a value but is uses as a token by macros to indicate that the API is unavailable */
140141141142#define __IPHONE_2_0 20000
···166167#define __IPHONE_10_0 100000
167168#define __IPHONE_10_1 100100
168169#define __IPHONE_10_2 100200
170170+#define __IPHONE_10_3 100300
169171/* __IPHONE_NA is not defined to a value but is uses as a token by macros to indicate that the API is unavailable */
170172171173#define __TVOS_9_0 90000
···174176#define __TVOS_10_0 100000
175177#define __TVOS_10_0_1 100001
176178#define __TVOS_10_1 100100
179179+#define __TVOS_10_2 100200
177180178181#define __WATCHOS_1_0 10000
179182#define __WATCHOS_2_0 20000
183183+#define __WATCHOS_2_1 20100
184184+#define __WATCHOS_2_2 20200
180185#define __WATCHOS_3_0 30000
181186#define __WATCHOS_3_1 30100
182187#define __WATCHOS_3_1_1 30101
188188+#define __WATCHOS_3_2 30200
183189184190#include <AvailabilityInternal.h>
185191
···109109#define MAC_OS_X_VERSION_10_12 101200
110110#define MAC_OS_X_VERSION_10_12_1 101201
111111#define MAC_OS_X_VERSION_10_12_2 101202
112112+#define MAC_OS_X_VERSION_10_12_4 101204
112113113114/*
114115 * If min OS not specified, assume 10.4 for intel
···132133#endif
133134134135/*
135135- * if max OS not specified, assume larger of (10.12.2, min)
136136+ * if max OS not specified, assume larger of (10.12.4, min)
136137 */
137138#ifndef MAC_OS_X_VERSION_MAX_ALLOWED
138138- #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_12_2
139139+ #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_12_4
139140 #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_MIN_REQUIRED
140141 #else
141141- #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_12_2
142142+ #define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_12_4
142143 #endif
143144#endif
144145···37053706 #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2_AND_LATER DEPRECATED_ATTRIBUTE
37063707#else
37073708 #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2_AND_LATER
37093709+#endif
37103710+37113711+37123712+/*
37133713+ * AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER
37143714+ *
37153715+ * Used on declarations introduced in Mac OS X 10.12.4
37163716+ */
37173717+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
37183718+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER __OSX_AVAILABLE_STARTING(__MAC_10_12_4, __IPHONE_NA)
37193719+#elif MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12_4
37203720+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER UNAVAILABLE_ATTRIBUTE
37213721+#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12_4
37223722+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER WEAK_IMPORT_ATTRIBUTE
37233723+#else
37243724+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER
37253725+#endif
37263726+37273727+/*
37283728+ * AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED
37293729+ *
37303730+ * Used on declarations introduced in Mac OS X 10.12.4,
37313731+ * and deprecated in Mac OS X 10.12.4
37323732+ */
37333733+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
37343734+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_4, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
37353735+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
37363736+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
37373737+#else
37383738+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER
37393739+#endif
37403740+37413741+/*
37423742+ * AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
37433743+ *
37443744+ * Used on declarations introduced in Mac OS X 10.0,
37453745+ * but later deprecated in Mac OS X 10.12.4
37463746+ */
37473747+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
37483748+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
37493749+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
37503750+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
37513751+#else
37523752+ #define AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER
37533753+#endif
37543754+37553755+/*
37563756+ * AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
37573757+ *
37583758+ * Used on declarations introduced in Mac OS X 10.1,
37593759+ * but later deprecated in Mac OS X 10.12.4
37603760+ */
37613761+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
37623762+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_1, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
37633763+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
37643764+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
37653765+#else
37663766+ #define AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER
37673767+#endif
37683768+37693769+/*
37703770+ * AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
37713771+ *
37723772+ * Used on declarations introduced in Mac OS X 10.2,
37733773+ * but later deprecated in Mac OS X 10.12.4
37743774+ */
37753775+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
37763776+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
37773777+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
37783778+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
37793779+#else
37803780+ #define AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
37813781+#endif
37823782+37833783+/*
37843784+ * AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
37853785+ *
37863786+ * Used on declarations introduced in Mac OS X 10.3,
37873787+ * but later deprecated in Mac OS X 10.12.4
37883788+ */
37893789+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
37903790+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_3, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
37913791+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
37923792+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
37933793+#else
37943794+ #define AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
37953795+#endif
37963796+37973797+/*
37983798+ * AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
37993799+ *
38003800+ * Used on declarations introduced in Mac OS X 10.4,
38013801+ * but later deprecated in Mac OS X 10.12.4
38023802+ */
38033803+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
38043804+ #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
38053805+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
38063806+ #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
38073807+#else
38083808+ #define AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
38093809+#endif
38103810+38113811+/*
38123812+ * AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
38133813+ *
38143814+ * Used on declarations introduced in Mac OS X 10.5,
38153815+ * but later deprecated in Mac OS X 10.12.4
38163816+ */
38173817+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
38183818+ #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
38193819+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
38203820+ #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
38213821+#else
38223822+ #define AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
38233823+#endif
38243824+38253825+/*
38263826+ * AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
38273827+ *
38283828+ * Used on declarations introduced in Mac OS X 10.6,
38293829+ * but later deprecated in Mac OS X 10.12.4
38303830+ */
38313831+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
38323832+ #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_6, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
38333833+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
38343834+ #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
38353835+#else
38363836+ #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER
38373837+#endif
38383838+38393839+/*
38403840+ * AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
38413841+ *
38423842+ * Used on declarations introduced in Mac OS X 10.7,
38433843+ * but later deprecated in Mac OS X 10.12.4
38443844+ */
38453845+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
38463846+ #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_7, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
38473847+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
38483848+ #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
38493849+#else
38503850+ #define AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER
38513851+#endif
38523852+38533853+/*
38543854+ * AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
38553855+ *
38563856+ * Used on declarations introduced in Mac OS X 10.8,
38573857+ * but later deprecated in Mac OS X 10.12.4
38583858+ */
38593859+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
38603860+ #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_8, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
38613861+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
38623862+ #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
38633863+#else
38643864+ #define AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
38653865+#endif
38663866+38673867+/*
38683868+ * AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
38693869+ *
38703870+ * Used on declarations introduced in Mac OS X 10.9,
38713871+ * but later deprecated in Mac OS X 10.12.4
38723872+ */
38733873+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
38743874+ #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_9, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
38753875+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
38763876+ #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
38773877+#else
38783878+ #define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER
38793879+#endif
38803880+38813881+/*
38823882+ * AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
38833883+ *
38843884+ * Used on declarations introduced in Mac OS X 10.10,
38853885+ * but later deprecated in Mac OS X 10.12.4
38863886+ */
38873887+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
38883888+ #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
38893889+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
38903890+ #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
38913891+#else
38923892+ #define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER
38933893+#endif
38943894+38953895+/*
38963896+ * AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
38973897+ *
38983898+ * Used on declarations introduced in Mac OS X 10.10.2,
38993899+ * but later deprecated in Mac OS X 10.12.4
39003900+ */
39013901+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
39023902+ #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_2, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
39033903+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
39043904+ #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
39053905+#else
39063906+ #define AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER
39073907+#endif
39083908+39093909+/*
39103910+ * AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
39113911+ *
39123912+ * Used on declarations introduced in Mac OS X 10.10.3,
39133913+ * but later deprecated in Mac OS X 10.12.4
39143914+ */
39153915+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
39163916+ #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_10_3, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
39173917+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
39183918+ #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
39193919+#else
39203920+ #define AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER
39213921+#endif
39223922+39233923+/*
39243924+ * AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
39253925+ *
39263926+ * Used on declarations introduced in Mac OS X 10.11,
39273927+ * but later deprecated in Mac OS X 10.12.4
39283928+ */
39293929+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
39303930+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
39313931+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
39323932+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
39333933+#else
39343934+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER
39353935+#endif
39363936+39373937+/*
39383938+ * AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
39393939+ *
39403940+ * Used on declarations introduced in Mac OS X 10.11.2,
39413941+ * but later deprecated in Mac OS X 10.12.4
39423942+ */
39433943+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
39443944+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_2, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
39453945+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
39463946+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
39473947+#else
39483948+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER
39493949+#endif
39503950+39513951+/*
39523952+ * AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
39533953+ *
39543954+ * Used on declarations introduced in Mac OS X 10.11.3,
39553955+ * but later deprecated in Mac OS X 10.12.4
39563956+ */
39573957+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
39583958+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_3, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
39593959+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
39603960+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
39613961+#else
39623962+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER
39633963+#endif
39643964+39653965+/*
39663966+ * AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
39673967+ *
39683968+ * Used on declarations introduced in Mac OS X 10.11.4,
39693969+ * but later deprecated in Mac OS X 10.12.4
39703970+ */
39713971+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
39723972+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_11_4, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
39733973+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
39743974+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
39753975+#else
39763976+ #define AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER
39773977+#endif
39783978+39793979+/*
39803980+ * AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
39813981+ *
39823982+ * Used on declarations introduced in Mac OS X 10.12,
39833983+ * but later deprecated in Mac OS X 10.12.4
39843984+ */
39853985+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
39863986+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
39873987+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
39883988+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
39893989+#else
39903990+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER
39913991+#endif
39923992+39933993+/*
39943994+ * AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
39953995+ *
39963996+ * Used on declarations introduced in Mac OS X 10.12.1,
39973997+ * but later deprecated in Mac OS X 10.12.4
39983998+ */
39993999+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
40004000+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_1, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
40014001+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
40024002+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
40034003+#else
40044004+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER
40054005+#endif
40064006+40074007+/*
40084008+ * AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4
40094009+ *
40104010+ * Used on declarations introduced in Mac OS X 10.12.2,
40114011+ * but later deprecated in Mac OS X 10.12.4
40124012+ */
40134013+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
40144014+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_12_2, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
40154015+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
40164016+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 DEPRECATED_ATTRIBUTE
40174017+#else
40184018+ #define AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER
40194019+#endif
40204020+40214021+/*
40224022+ * DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4_AND_LATER
40234023+ *
40244024+ * Used on types deprecated in Mac OS X 10.12.4
40254025+ */
40264026+#if __AVAILABILITY_MACROS_USES_AVAILABILITY
40274027+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4_AND_LATER __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_12_4, __IPHONE_NA, __IPHONE_NA)
40284028+#elif MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12_4
40294029+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4_AND_LATER DEPRECATED_ATTRIBUTE
40304030+#else
40314031+ #define DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4_AND_LATER
37084032#endif
3709403337104034
···52525353 TARGET_OS_*
5454 These conditionals specify in which Operating System the generated code will
5555- run. The MAC/WIN32/UNIX conditionals are mutually exclusive. The EMBEDDED/IPHONE
5656- conditionals are variants of TARGET_OS_MAC.
5757-5858- TARGET_OS_MAC - Generate code will run under Mac OS
5959- TARGET_OS_WIN32 - Generate code will run under 32-bit Windows
6060- TARGET_OS_UNIX - Generate code will run under some non Mac OS X unix
6161- TARGET_OS_EMBEDDED - Generate code will run under an embedded OS variant
6262- of TARGET_OS_MAC
6363- TARGET_OS_IPHONE - Generate code will run under iPhone OS which
6464- is a variant of TARGET_OS_MAC.
5555+ run. Indention is used to show which conditionals are evolutionary subclasses.
5656+5757+ The MAC/WIN32/UNIX conditionals are mutually exclusive.
5858+ The IOS/TV/WATCH conditionals are mutually exclusive.
5959+6060+6161+ TARGET_OS_WIN32 - Generated code will run under 32-bit Windows
6262+ TARGET_OS_UNIX - Generated code will run under some Unix (not OSX)
6363+ TARGET_OS_MAC - Generated code will run under Mac OS X variant
6464+ TARGET_OS_OSX - Generated code will run under OS X devices
6565+ TARGET_OS_IPHONE - Generated code for firmware, devices, or simulator
6666+ TARGET_OS_IOS - Generated code will run under iOS
6767+ TARGET_OS_TV - Generated code will run under Apple TV OS
6868+ TARGET_OS_WATCH - Generated code will run under Apple Watch OS
6969+ TARGET_OS_BRIDGE - Generated code will run under Bridge devices
7070+ TARGET_OS_SIMULATOR - Generated code will run under a simulator
7171+ TARGET_OS_EMBEDDED - Generated code for firmware
7272+7373+ TARGET_IPHONE_SIMULATOR - DEPRECATED: Same as TARGET_OS_SIMULATOR
7474+ TARGET_OS_NANO - DEPRECATED: Same as TARGET_OS_WATCH
65756676 TARGET_RT_*
6777 These conditionals specify in which runtime the generated code will
···7383 TARGET_RT_64_BIT - Generated code uses 64-bit pointers
7484 TARGET_RT_MAC_CFM - TARGET_OS_MAC is true and CFM68K or PowerPC CFM (TVectors) are used
7585 TARGET_RT_MAC_MACHO - TARGET_OS_MAC is true and Mach-O/dlyd runtime is used
7676-7777-7878- TARGET_IPHONE_SIMULATOR - Generate code for running under iPhone Simulator
798680878188****************************************************************************************************/
···8895 #define TARGET_OS_MAC 1
8996 #define TARGET_OS_WIN32 0
9097 #define TARGET_OS_UNIX 0
9898+ #define TARGET_OS_OSX 1
9999+ #define TARGET_OS_IPHONE 0
100100+ #define TARGET_OS_IOS 0
101101+ #define TARGET_OS_WATCH 0
102102+ #define TARGET_OS_BRIDGE 0
103103+ #define TARGET_OS_TV 0
104104+ #define TARGET_OS_SIMULATOR 0
91105 #define TARGET_OS_EMBEDDED 0
9292- #define TARGET_OS_IPHONE 0
9393- #define TARGET_IPHONE_SIMULATOR 0
106106+ #define TARGET_IPHONE_SIMULATOR TARGET_OS_SIMULATOR /* deprecated */
107107+ #define TARGET_OS_NANO TARGET_OS_WATCH /* deprecated */
94108 #if defined(__ppc__)
95109 #define TARGET_CPU_PPC 1
96110 #define TARGET_CPU_PPC64 0