diff options
Diffstat (limited to 'lib/Sema/SemaExpr.cpp')
-rw-r--r-- | lib/Sema/SemaExpr.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index de70ad4cba..ae5dc55825 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -65,8 +65,7 @@ bool Sema::CanUseDecl(NamedDecl *D) { return true; } -AvailabilityResult -Sema::DiagnoseAvailabilityOfDecl( +static AvailabilityResult DiagnoseAvailabilityOfDecl(Sema &S, NamedDecl *D, SourceLocation Loc, const ObjCInterfaceDecl *UnknownObjCClass) { // See if this declaration is unavailable or deprecated. @@ -85,22 +84,22 @@ Sema::DiagnoseAvailabilityOfDecl( break; case AR_Deprecated: - EmitDeprecationWarning(D, Message, Loc, UnknownObjCClass); + S.EmitDeprecationWarning(D, Message, Loc, UnknownObjCClass); break; case AR_Unavailable: - if (getCurContextAvailability() != AR_Unavailable) { + if (S.getCurContextAvailability() != AR_Unavailable) { if (Message.empty()) { if (!UnknownObjCClass) - Diag(Loc, diag::err_unavailable) << D->getDeclName(); + S.Diag(Loc, diag::err_unavailable) << D->getDeclName(); else - Diag(Loc, diag::warn_unavailable_fwdclass_message) + S.Diag(Loc, diag::warn_unavailable_fwdclass_message) << D->getDeclName(); } else - Diag(Loc, diag::err_unavailable_message) + S.Diag(Loc, diag::err_unavailable_message) << D->getDeclName() << Message; - Diag(D->getLocation(), diag::note_unavailable_here) + S.Diag(D->getLocation(), diag::note_unavailable_here) << isa<FunctionDecl>(D) << false; } break; @@ -155,7 +154,7 @@ bool Sema::DiagnoseUseOfDecl(NamedDecl *D, SourceLocation Loc, return true; } } - DiagnoseAvailabilityOfDecl(D, Loc, UnknownObjCClass); + DiagnoseAvailabilityOfDecl(*this, D, Loc, UnknownObjCClass); // Warn if this is used but marked unused. if (D->hasAttr<UnusedAttr>()) |