diff options
Diffstat (limited to 'clang/lib/Sema/SemaPseudoObject.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaPseudoObject.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaPseudoObject.cpp b/clang/lib/Sema/SemaPseudoObject.cpp index c649cbe38d1..3c9e83c4920 100644 --- a/clang/lib/Sema/SemaPseudoObject.cpp +++ b/clang/lib/Sema/SemaPseudoObject.cpp @@ -931,14 +931,11 @@ ObjCPropertyOpBuilder::buildIncDecOperation(Scope *Sc, SourceLocation opcLoc, } ExprResult ObjCPropertyOpBuilder::complete(Expr *SyntacticForm) { - if (S.getLangOpts().ObjCAutoRefCount && isWeakProperty()) { - DiagnosticsEngine::Level Level = - S.Diags.getDiagnosticLevel(diag::warn_arc_repeated_use_of_weak, - SyntacticForm->getLocStart()); - if (Level != DiagnosticsEngine::Ignored) + if (S.getLangOpts().ObjCAutoRefCount && isWeakProperty() && + !S.Diags.isIgnored(diag::warn_arc_repeated_use_of_weak, + SyntacticForm->getLocStart())) S.recordUseOfEvaluatedWeak(SyntacticRefExpr, SyntacticRefExpr->isMessagingGetter()); - } return PseudoOpBuilder::complete(SyntacticForm); } |

