diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Sema/SemaDeclAttr.cpp | 2 | ||||
| -rw-r--r-- | clang/test/Sema/attr-availability.c | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 43c96d9c764..0daeecfda95 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -5211,7 +5211,7 @@ static void DoEmitAvailabilityWarning(Sema &S, Sema::AvailabilityDiagnostic K, // Don't warn if our current context is deprecated or unavailable. switch (K) { case Sema::AD_Deprecation: - if (isDeclDeprecated(Ctx)) + if (isDeclDeprecated(Ctx) || isDeclUnavailable(Ctx)) return; diag = !ObjCPropertyAccess ? diag::warn_deprecated : diag::warn_property_method_deprecated; diff --git a/clang/test/Sema/attr-availability.c b/clang/test/Sema/attr-availability.c index ce64fab3983..d003e1e2e36 100644 --- a/clang/test/Sema/attr-availability.c +++ b/clang/test/Sema/attr-availability.c @@ -98,7 +98,7 @@ enum AllUnavailable { enum User { UserOD = OriginalDeprecated, // expected-warning {{deprecated}} UserODDeprecated __attribute__((availability(macosx, deprecated=10.2))) = OriginalDeprecated, - UserODUnavailable __attribute__((availability(macosx, unavailable))) = OriginalDeprecated, // expected-warning {{deprecated}} + UserODUnavailable __attribute__((availability(macosx, unavailable))) = OriginalDeprecated, UserOU = OriginalUnavailable, // expected-error {{unavailable}} UserOUDeprecated __attribute__((availability(macosx, deprecated=10.2))) = OriginalUnavailable, // expected-error {{unavailable}} @@ -106,7 +106,7 @@ enum User { UserAD = AllDeprecatedCase, // expected-warning {{deprecated}} UserADDeprecated __attribute__((availability(macosx, deprecated=10.2))) = AllDeprecatedCase, - UserADUnavailable __attribute__((availability(macosx, unavailable))) = AllDeprecatedCase, // expected-warning {{deprecated}} + UserADUnavailable __attribute__((availability(macosx, unavailable))) = AllDeprecatedCase, UserADU = AllDeprecatedUnavailable, // expected-error {{unavailable}} UserADUDeprecated __attribute__((availability(macosx, deprecated=10.2))) = AllDeprecatedUnavailable, // expected-error {{unavailable}} @@ -140,17 +140,17 @@ enum UserDeprecated { } __attribute__((availability(macosx, deprecated=10.2))); enum UserUnavailable { - UserUnavailableOD = OriginalDeprecated, // expected-warning {{deprecated}} + UserUnavailableOD = OriginalDeprecated, UserUnavailableODDeprecated __attribute__((availability(macosx, deprecated=10.2))) = OriginalDeprecated, - UserUnavailableODUnavailable __attribute__((availability(macosx, unavailable))) = OriginalDeprecated, // expected-warning {{deprecated}} + UserUnavailableODUnavailable __attribute__((availability(macosx, unavailable))) = OriginalDeprecated, UserUnavailableOU = OriginalUnavailable, UserUnavailableOUDeprecated __attribute__((availability(macosx, deprecated=10.2))) = OriginalUnavailable, UserUnavailableOUUnavailable __attribute__((availability(macosx, unavailable))) = OriginalUnavailable, - UserUnavailableAD = AllDeprecatedCase, // expected-warning {{deprecated}} + UserUnavailableAD = AllDeprecatedCase, UserUnavailableADDeprecated __attribute__((availability(macosx, deprecated=10.2))) = AllDeprecatedCase, - UserUnavailableADUnavailable __attribute__((availability(macosx, unavailable))) = AllDeprecatedCase, // expected-warning {{deprecated}} + UserUnavailableADUnavailable __attribute__((availability(macosx, unavailable))) = AllDeprecatedCase, UserUnavailableADU = AllDeprecatedUnavailable, UserUnavailableADUDeprecated __attribute__((availability(macosx, deprecated=10.2))) = AllDeprecatedUnavailable, |

