diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2014-02-23 14:34:50 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2014-02-23 14:34:50 +0000 |
commit | ae852a68fe50f0c61eb73ed88e2a725e97029aae (patch) | |
tree | 9c51d98efbc26faa5464fa729874eee4fec9074c /clang/lib/Sema/SemaChecking.cpp | |
parent | 3ebfe115328b7b928fe49b8d9d68085ce675a6ea (diff) | |
download | bcm5719-llvm-ae852a68fe50f0c61eb73ed88e2a725e97029aae.tar.gz bcm5719-llvm-ae852a68fe50f0c61eb73ed88e2a725e97029aae.zip |
Sema: Simplify away one-iteration loops.
No functionality change.
llvm-svn: 201981
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index a48a7b273e4..0b73f82639e 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -4400,16 +4400,10 @@ Sema::CheckReturnValExpr(Expr *RetValExp, QualType lhsType, CheckReturnStackAddr(*this, RetValExp, lhsType, ReturnLoc); // Check if the return value is null but should not be. - if (Attrs) - for (specific_attr_iterator<ReturnsNonNullAttr> - I = specific_attr_iterator<ReturnsNonNullAttr>(Attrs->begin()), - E = specific_attr_iterator<ReturnsNonNullAttr>(Attrs->end()); - I != E; ++I) { - if (CheckNonNullExpr(*this, RetValExp)) - Diag(ReturnLoc, diag::warn_null_ret) - << (isObjCMethod ? 1 : 0) << RetValExp->getSourceRange(); - break; - } + if (Attrs && hasSpecificAttr<ReturnsNonNullAttr>(*Attrs) && + CheckNonNullExpr(*this, RetValExp)) + Diag(ReturnLoc, diag::warn_null_ret) + << (isObjCMethod ? 1 : 0) << RetValExp->getSourceRange(); // C++11 [basic.stc.dynamic.allocation]p4: // If an allocation function declared with a non-throwing @@ -7381,10 +7375,7 @@ bool GetMatchingCType( return false; if (VD) { - for (specific_attr_iterator<TypeTagForDatatypeAttr> - I = VD->specific_attr_begin<TypeTagForDatatypeAttr>(), - E = VD->specific_attr_end<TypeTagForDatatypeAttr>(); - I != E; ++I) { + if (TypeTagForDatatypeAttr *I = VD->getAttr<TypeTagForDatatypeAttr>()) { if (I->getArgumentKind() != ArgumentKind) { FoundWrongKind = true; return false; |