[webkit-changes] [WebKit/WebKit] 6e4c60: Fix availability declaration silencing in recent SDKs
Elliott Williams
noreply at github.com
Mon Feb 24 19:19:40 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 6e4c604d51530a246b719663df42b53dee5b580c
https://github.com/WebKit/WebKit/commit/6e4c604d51530a246b719663df42b53dee5b580c
Author: Elliott Williams <emw at apple.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M WebKitLibraries/SDKs/appletvos18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
M WebKitLibraries/SDKs/appletvsimulator18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
M WebKitLibraries/SDKs/iphoneos18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
M WebKitLibraries/SDKs/iphonesimulator18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
M WebKitLibraries/SDKs/macosx15.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
M WebKitLibraries/SDKs/watchos11.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
M WebKitLibraries/SDKs/watchsimulator11.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
M WebKitLibraries/SDKs/xros2.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
M WebKitLibraries/SDKs/xrsimulator2.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
Log Message:
-----------
Fix availability declaration silencing in recent SDKs
rdar://145186083
https://bugs.webkit.org/show_bug.cgi?id=288045
Reviewed by Alexey Proskuryakov.
Recent versions of the os_availabilty library include a hash in their
implementation-detail macro names, to detect collisions with other
copies of the Availability headers in a malformed build. Since we
silence availability attributes by selectively undef-ing some of these
macros, adapt to the change by also checking for known hash names of
these macros.
While it's possible to obtain the Availability hash using
__AVAILABILITY_VERSIONS_VERSION_HASH, its value cannot be used to
un/define a preprocessor token. The best we can do is check for
unhandled hashes and emit an error message describing what to do.
In the future, we should come up with a better way to silence
availability, to avoid this bookkeeping and fix other issues like
https://bugs.webkit.org/show_bug.cgi?id=280912.
* WebKitLibraries/SDKs/appletvos18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
* WebKitLibraries/SDKs/appletvsimulator18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
* WebKitLibraries/SDKs/iphoneos18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
* WebKitLibraries/SDKs/iphonesimulator18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
* WebKitLibraries/SDKs/macosx15.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
* WebKitLibraries/SDKs/watchos11.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
* WebKitLibraries/SDKs/watchsimulator11.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
* WebKitLibraries/SDKs/xros2.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
* WebKitLibraries/SDKs/xrsimulator2.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Canonical link: https://commits.webkit.org/291004@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list