r207416 - [C++11] Converting to range-based for loops. No functional changes intended.

Aaron Ballman aaron at aaronballman.com
Mon Apr 28 07:54:44 PDT 2014


On Mon, Apr 28, 2014 at 10:43 AM, Nico Weber <thakis at chromium.org> wrote:
> Didn't the I at the end of all these names stand for "iterator"? Should that
> be removed in patches like this?

Hmm, quite possibly -- I'll go back through and update names.

Thanks!

~Aaron
>
> On Apr 28, 2014 6:08 AM, "Aaron Ballman" <aaron at aaronballman.com> wrote:
>>
>> Author: aaronballman
>> Date: Mon Apr 28 08:01:32 2014
>> New Revision: 207416
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=207416&view=rev
>> Log:
>> [C++11] Converting to range-based for loops. No functional changes
>> intended.
>>
>> Modified:
>>     cfe/trunk/lib/Analysis/Consumed.cpp
>>
>> Modified: cfe/trunk/lib/Analysis/Consumed.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/Consumed.cpp?rev=207416&r1=207415&r2=207416&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/lib/Analysis/Consumed.cpp (original)
>> +++ cfe/trunk/lib/Analysis/Consumed.cpp Mon Apr 28 08:01:32 2014
>> @@ -57,11 +57,9 @@ ConsumedWarningsHandlerBase::~ConsumedWa
>>  static SourceLocation getFirstStmtLoc(const CFGBlock *Block) {
>>    // Find the source location of the first statement in the block, if the
>> block
>>    // is not empty.
>> -  for (CFGBlock::const_iterator BI = Block->begin(), BE = Block->end();
>> -       BI != BE; ++BI) {
>> -    if (Optional<CFGStmt> CS = BI->getAs<CFGStmt>())
>> +  for (const auto &BI : *Block)
>> +    if (Optional<CFGStmt> CS = BI.getAs<CFGStmt>())
>>        return CS->getStmt()->getLocStart();
>> -  }
>>
>>    // Block is empty.
>>    // If we have one successor, return the first statement in that block
>> @@ -1144,21 +1142,19 @@ bool ConsumedBlockInfo::isBackEdgeTarget
>>  void ConsumedStateMap::checkParamsForReturnTypestate(SourceLocation
>> BlameLoc,
>>    ConsumedWarningsHandlerBase &WarningsHandler) const {
>>
>> -  for (VarMapType::const_iterator DMI = VarMap.begin(), DME =
>> VarMap.end();
>> -       DMI != DME; ++DMI) {
>> -
>> -    if (isa<ParmVarDecl>(DMI->first)) {
>> -      const ParmVarDecl *Param = cast<ParmVarDecl>(DMI->first);
>> +  for (const auto &DMI : VarMap) {
>> +    if (isa<ParmVarDecl>(DMI.first)) {
>> +      const ParmVarDecl *Param = cast<ParmVarDecl>(DMI.first);
>>        const ReturnTypestateAttr *RTA =
>> Param->getAttr<ReturnTypestateAttr>();
>>
>>        if (!RTA)
>>          continue;
>>
>>        ConsumedState ExpectedState = mapReturnTypestateAttrState(RTA);
>> -      if (DMI->second != ExpectedState)
>> +      if (DMI.second != ExpectedState)
>>          WarningsHandler.warnParamReturnTypestateMismatch(BlameLoc,
>>            Param->getNameAsString(), stateToString(ExpectedState),
>> -          stateToString(DMI->second));
>> +          stateToString(DMI.second));
>>      }
>>    }
>>  }
>> @@ -1194,16 +1190,14 @@ void ConsumedStateMap::intersect(const C
>>      return;
>>    }
>>
>> -  for (VarMapType::const_iterator DMI = Other->VarMap.begin(),
>> -       DME = Other->VarMap.end(); DMI != DME; ++DMI) {
>> -
>> -    LocalState = this->getState(DMI->first);
>> +  for (const auto &DMI : Other->VarMap) {
>> +    LocalState = this->getState(DMI.first);
>>
>>      if (LocalState == CS_None)
>>        continue;
>>
>> -    if (LocalState != DMI->second)
>> -       VarMap[DMI->first] = CS_Unknown;
>> +    if (LocalState != DMI.second)
>> +     VarMap[DMI.first] = CS_Unknown;
>>    }
>>  }
>>
>> @@ -1214,18 +1208,16 @@ void ConsumedStateMap::intersectAtLoopHe
>>    ConsumedState LocalState;
>>    SourceLocation BlameLoc = getLastStmtLoc(LoopBack);
>>
>> -  for (VarMapType::const_iterator DMI = LoopBackStates->VarMap.begin(),
>> -       DME = LoopBackStates->VarMap.end(); DMI != DME; ++DMI) {
>> -
>> -    LocalState = this->getState(DMI->first);
>> +  for (const auto &DMI : LoopBackStates->VarMap) {
>> +    LocalState = this->getState(DMI.first);
>>
>>      if (LocalState == CS_None)
>>        continue;
>>
>> -    if (LocalState != DMI->second) {
>> -      VarMap[DMI->first] = CS_Unknown;
>> -      WarningsHandler.warnLoopStateMismatch(
>> -        BlameLoc, DMI->first->getNameAsString());
>> +    if (LocalState != DMI.second) {
>> +      VarMap[DMI.first] = CS_Unknown;
>> +      WarningsHandler.warnLoopStateMismatch(BlameLoc,
>> +
>> DMI.first->getNameAsString());
>>      }
>>    }
>>  }
>> @@ -1250,13 +1242,9 @@ void ConsumedStateMap::remove(const VarD
>>  }
>>
>>  bool ConsumedStateMap::operator!=(const ConsumedStateMap *Other) const {
>> -  for (VarMapType::const_iterator DMI = Other->VarMap.begin(),
>> -       DME = Other->VarMap.end(); DMI != DME; ++DMI) {
>> -
>> -    if (this->getState(DMI->first) != DMI->second)
>> -      return true;
>> -  }
>> -
>> +  for (const auto &DMI : Other->VarMap)
>> +    if (this->getState(DMI.first) != DMI.second)
>> +      return true;
>>    return false;
>>  }
>>
>> @@ -1396,16 +1384,11 @@ void ConsumedAnalyzer::run(AnalysisDeclC
>>    ConsumedStmtVisitor Visitor(AC, *this, CurrStates);
>>
>>    // Add all trackable parameters to the state map.
>> -  for (auto PI : D->params()) {
>> +  for (const auto *PI : D->params())
>>      Visitor.VisitParmVarDecl(PI);
>> -  }
>>
>>    // Visit all of the function's basic blocks.
>> -  for (PostOrderCFGView::iterator I = SortedGraph->begin(),
>> -       E = SortedGraph->end(); I != E; ++I) {
>> -
>> -    const CFGBlock *CurrBlock = *I;
>> -
>> +  for (const auto *CurrBlock : *SortedGraph) {
>>      if (CurrStates == NULL)
>>        CurrStates = BlockInfo.getInfo(CurrBlock);
>>
>> @@ -1421,16 +1404,14 @@ void ConsumedAnalyzer::run(AnalysisDeclC
>>      Visitor.reset(CurrStates);
>>
>>      // Visit all of the basic block's statements.
>> -    for (CFGBlock::const_iterator BI = CurrBlock->begin(),
>> -         BE = CurrBlock->end(); BI != BE; ++BI) {
>> -
>> -      switch (BI->getKind()) {
>> +    for (const auto &BI : *CurrBlock) {
>> +      switch (BI.getKind()) {
>>        case CFGElement::Statement:
>> -        Visitor.Visit(BI->castAs<CFGStmt>().getStmt());
>> +        Visitor.Visit(BI.castAs<CFGStmt>().getStmt());
>>          break;
>>
>>        case CFGElement::TemporaryDtor: {
>> -        const CFGTemporaryDtor DTor = BI->castAs<CFGTemporaryDtor>();
>> +        const CFGTemporaryDtor &DTor = BI.castAs<CFGTemporaryDtor>();
>>          const CXXBindTemporaryExpr *BTE = DTor.getBindTemporaryExpr();
>>
>>          Visitor.checkCallability(PropagationInfo(BTE),
>> @@ -1440,7 +1421,7 @@ void ConsumedAnalyzer::run(AnalysisDeclC
>>        }
>>
>>        case CFGElement::AutomaticObjectDtor: {
>> -        const CFGAutomaticObjDtor DTor =
>> BI->castAs<CFGAutomaticObjDtor>();
>> +        const CFGAutomaticObjDtor &DTor =
>> BI.castAs<CFGAutomaticObjDtor>();
>>          SourceLocation Loc = DTor.getTriggerStmt()->getLocEnd();
>>          const VarDecl *Var = DTor.getVarDecl();
>>
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list