[libc++] Fix incorrect availability markup for bad_optional_access & friends
authorLouis Dionne <ldionne.2@gmail.com>
Tue, 15 Mar 2022 20:21:47 +0000 (16:21 -0400)
committerLouis Dionne <ldionne.2@gmail.com>
Wed, 16 Mar 2022 13:03:22 +0000 (09:03 -0400)
In 7fb40e1569d, I changed the availability for bad_optional_access and
friends from macOS 10.14 to 10.13 after conducting an investigation on
old dylibs. It turns out that macOS 10.13 did have bad_optional_access,
however the dylib on iOS didn't match the dylib on macOS, so those
exception classes were only introduced in iOS 12.

Thanks to Aditya Kumar for noticing this.

Differential Revision: https://reviews.llvm.org/D121735

libcxx/include/__availability

index 12eafee..b0f52ad 100644 (file)
 #       define _LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex
 #   endif
 
+        // Note: bad_optional_access & friends were not introduced in the matching
+        // macOS and iOS versions, so the version mismatch between macOS and others
+        // is intended.
 #   define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS                             \
         __attribute__((availability(macosx,strict,introduced=10.13)))           \
-        __attribute__((availability(ios,strict,introduced=11.0)))               \
-        __attribute__((availability(tvos,strict,introduced=11.0)))              \
-        __attribute__((availability(watchos,strict,introduced=4.0)))
+        __attribute__((availability(ios,strict,introduced=12.0)))               \
+        __attribute__((availability(tvos,strict,introduced=12.0)))              \
+        __attribute__((availability(watchos,strict,introduced=5.0)))
 #   define _LIBCPP_AVAILABILITY_BAD_VARIANT_ACCESS                              \
         _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS
 #   define _LIBCPP_AVAILABILITY_BAD_ANY_CAST                                    \