This is an archive of the discontinued LLVM Phabricator instance.

[Sema][ObjC] Don't emit availability diagnostics for categories extending unavailable interfaces
ClosedPublic

Authored by erik.pilkington on May 29 2017, 5:39 PM.

Details

Summary

Previously, @implementations of categories that extended unavailable/deprecated/partial @interfaces triggered availability diagnostics. There was no way to turn this off, as we check the use of the unavailable decl outside of the context of the @implementation, so attaching an attribute to the category @interface doesn't do anything. Moreover, this diagnostic can't actually catch any bugs even if it worked correctly, there is no way to use stuff declared in a category without referencing the extended @interface (AFAIK, I'm not fluent in Objective-C), which will trigger the diagnostic.

rdar://32427296

Thanks for taking a look,
Erik

Diff Detail

Event Timeline

arphaman accepted this revision.May 31 2017, 1:38 AM

LGTM, Thanks

This revision is now accepted and ready to land.May 31 2017, 1:38 AM
This revision was automatically updated to reflect the committed changes.