Note: this patch depends on: https://reviews.llvm.org/D25283
This patch delays handling of AR_NotYetIntroduced diagnostics, so that the following compiles with no warnings:
typedef int new_int __attribute__((availability(macos, introduced=100))); new_int f() __attribute__((availability(macos, introduced=100)));
This is done by treating AR_NotYetIntroduced diagnostics as delayed, just like AR_Unavailable and AR_Deprecated. This means that we emit the diagnostic once we finished parsing f(), at which point we have the context to determine if we should diagnose new_int.
Thanks!
Can you update this comment now we have generalized this to handle all delayed availability checks?