diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2014-03-08 18:45:14 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2014-03-08 18:45:14 +0000 |
commit | 23a6dcb365f5c6a9b803e9ab08088c67e2e55780 (patch) | |
tree | 00673f5d3476b95f4ce1691dbc32ba36c063bb4a /clang/lib/Sema | |
parent | 951b235be21c7dad91f5036f330560a9a0807c17 (diff) | |
download | bcm5719-llvm-23a6dcb365f5c6a9b803e9ab08088c67e2e55780.tar.gz bcm5719-llvm-23a6dcb365f5c6a9b803e9ab08088c67e2e55780.zip |
[C++11] Replacing EnumDecl iterators enumerator_begin() and enumerator_end() with iterator_range enumerators(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203353
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 8 | ||||
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 7 | ||||
-rw-r--r-- | clang/lib/Sema/SemaStmt.cpp | 10 | ||||
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 8 |
4 files changed, 13 insertions, 20 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 89310da648a..4d237ee0e8d 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -3795,13 +3795,11 @@ void Sema::CodeCompleteCase(Scope *S) { CodeCompleter->getCodeCompletionTUInfo(), CodeCompletionContext::CCC_Expression); Results.EnterNewScope(); - for (EnumDecl::enumerator_iterator E = Enum->enumerator_begin(), - EEnd = Enum->enumerator_end(); - E != EEnd; ++E) { - if (EnumeratorsSeen.count(*E)) + for (auto *E : Enum->enumerators()) { + if (EnumeratorsSeen.count(E)) continue; - CodeCompletionResult R(*E, CCP_EnumInCase, Qualifier); + CodeCompletionResult R(E, CCP_EnumInCase, Qualifier); Results.AddResult(R, CurContext, 0, false); } Results.ExitScope(); diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 40eb1d5271f..38930bda1f7 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -9630,10 +9630,9 @@ Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Decl *D) { // Similarly, dive into enums and fish their constants out, making them // accessible in this scope. - if (EnumDecl *ED = dyn_cast<EnumDecl>(D)) { - for (EnumDecl::enumerator_iterator EI = ED->enumerator_begin(), - EE = ED->enumerator_end(); EI != EE; ++EI) - PushOnScopeChains(*EI, FnBodyScope, /*AddToContext=*/false); + if (auto *ED = dyn_cast<EnumDecl>(D)) { + for (auto *EI : ED->enumerators()) + PushOnScopeChains(EI, FnBodyScope, /*AddToContext=*/false); } } } diff --git a/clang/lib/Sema/SemaStmt.cpp b/clang/lib/Sema/SemaStmt.cpp index 65ce405c55d..5035b6cffde 100644 --- a/clang/lib/Sema/SemaStmt.cpp +++ b/clang/lib/Sema/SemaStmt.cpp @@ -1015,11 +1015,10 @@ Sema::ActOnFinishSwitchStmt(SourceLocation SwitchLoc, Stmt *Switch, // Gather all enum values, set their type and sort them, // allowing easier comparison with CaseVals. - for (EnumDecl::enumerator_iterator EDI = ED->enumerator_begin(); - EDI != ED->enumerator_end(); ++EDI) { + for (auto *EDI : ED->enumerators()) { llvm::APSInt Val = EDI->getInitVal(); AdjustAPSInt(Val, CondWidth, CondIsSigned); - EnumVals.push_back(std::make_pair(Val, *EDI)); + EnumVals.push_back(std::make_pair(Val, EDI)); } std::stable_sort(EnumVals.begin(), EnumVals.end(), CmpEnumVals); EnumValsTy::iterator EIend = @@ -1166,11 +1165,10 @@ Sema::DiagnoseAssignmentEnum(QualType DstType, QualType SrcType, // Gather all enum values, set their type and sort them, // allowing easier comparison with rhs constant. - for (EnumDecl::enumerator_iterator EDI = ED->enumerator_begin(); - EDI != ED->enumerator_end(); ++EDI) { + for (auto *EDI : ED->enumerators()) { llvm::APSInt Val = EDI->getInitVal(); AdjustAPSInt(Val, DstWidth, DstIsSigned); - EnumVals.push_back(std::make_pair(Val, *EDI)); + EnumVals.push_back(std::make_pair(Val, EDI)); } if (EnumVals.empty()) return; diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index 259c0030d0a..93041a8cc90 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -733,9 +733,7 @@ void TemplateDeclInstantiator::InstantiateEnumDefinition( SmallVector<Decl*, 4> Enumerators; EnumConstantDecl *LastEnumConst = 0; - for (EnumDecl::enumerator_iterator EC = Pattern->enumerator_begin(), - ECEnd = Pattern->enumerator_end(); - EC != ECEnd; ++EC) { + for (auto *EC : Pattern->enumerators()) { // The specified value for the enumerator. ExprResult Value = SemaRef.Owned((Expr *)0); if (Expr *UninstValue = EC->getInitExpr()) { @@ -765,7 +763,7 @@ void TemplateDeclInstantiator::InstantiateEnumDefinition( } if (EnumConst) { - SemaRef.InstantiateAttrs(TemplateArgs, *EC, EnumConst); + SemaRef.InstantiateAttrs(TemplateArgs, EC, EnumConst); EnumConst->setAccess(Enum->getAccess()); Enum->addDecl(EnumConst); @@ -776,7 +774,7 @@ void TemplateDeclInstantiator::InstantiateEnumDefinition( !Enum->isScoped()) { // If the enumeration is within a function or method, record the enum // constant as a local. - SemaRef.CurrentInstantiationScope->InstantiatedLocal(*EC, EnumConst); + SemaRef.CurrentInstantiationScope->InstantiatedLocal(EC, EnumConst); } } } |