Yea, I tried reading through both header files. I couldn’t discern which was a “better” choice. Neither one clearly stood out as the recommended approach to using the macros.
Link > On Feb 2, 2024, at 23:49, Joshua Root <[email protected]> wrote: > > On 3/2/2024 14:08, Link Dupont wrote: >>>> On Feb 2, 2024, at 19:04, Joshua Root <[email protected]> wrote: >>> >>> __MAC_OS_X_VERSION_MAX_ALLOWED is from AvailabilityInternal.h, which as its >>> name suggests is only intended to be used internally (by Availability.h). >> I’m not sure that’s the intention of the file AvailabilityInternal.h. I >> certainly suggests a private API, but I wonder if it’s more intended to hide >> the implementation of Availability.h macros behind a secondary layer of >> abstraction. Availability.h defines the various OS version integers, then >> includes AvailabilityInternal.h, and then checks if >> __<OS_VARIANT>_VERSION_MAX_ALLOWED is defined. I think the >> __MAC_OS_X_VERSION_MAX_ALLOWED macro is allowed to be used publicly. > > Well, the brief comment at the top of the file says: > >> Contains: implementation details of __OSX_AVAILABLE_* macros from >> <Availability.h> > > Interpret that as you will, I guess. > > - Josh
