diff options
Diffstat (limited to 'clang/lib/Sema/SemaDeclAttr.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDeclAttr.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 51f9e45d7e2..1f90b75e57c 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -5378,7 +5378,7 @@ static void handleDelayedForbiddenType(Sema &S, DelayedDiagnostic &diag, llvm::StringRef explanation; if (decl && isForbiddenTypeAllowed(S, decl, diag, explanation)) { decl->addAttr(UnavailableAttr::CreateImplicit(S.Context, explanation, - diag.Loc)); + UnavailableAttr::ISK_ForbiddenType, diag.Loc)); return; } if (S.getLangOpts().ObjCAutoRefCount) @@ -5464,7 +5464,8 @@ static void DoEmitAvailabilityWarning(Sema &S, Sema::AvailabilityDiagnostic K, if (!Message.empty()) { if (auto attr = D->getAttr<UnavailableAttr>()) - if (attr->isImplicit()) + if (attr->isImplicit() && + attr->getImplicitSource() == UnavailableAttr::ISK_ForbiddenType) diag_available_here = diag::note_unavailability_inferred_here; } |