r234964 - Change range-based for-loops to be -Wrange-loop-analysis clean.

Richard Trieu rtrieu at google.com
Tue Apr 14 20:52:21 PDT 2015


On Tue, Apr 14, 2015 at 6:36 PM, David Blaikie <dblaikie at gmail.com> wrote:

> On Tue, Apr 14, 2015 at 6:21 PM, Richard Trieu <rtrieu at google.com> wrote:
> > Author: rtrieu
> > Date: Tue Apr 14 20:21:42 2015
> > New Revision: 234964
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=234964&view=rev
> > Log:
> > Change range-based for-loops to be -Wrange-loop-analysis clean.
> > No functionality change.
> >
> > Modified:
> >     cfe/trunk/lib/AST/MicrosoftMangle.cpp
> >     cfe/trunk/lib/CodeGen/CodeGenModule.cpp
> >     cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp
> >     cfe/trunk/lib/Sema/SemaLookup.cpp
> >     cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp
> >
> > Modified: cfe/trunk/lib/AST/MicrosoftMangle.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/MicrosoftMangle.cpp?rev=234964&r1=234963&r2=234964&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/lib/AST/MicrosoftMangle.cpp (original)
> > +++ cfe/trunk/lib/AST/MicrosoftMangle.cpp Tue Apr 14 20:21:42 2015
> > @@ -1680,7 +1680,7 @@ void MicrosoftCXXNameMangler::mangleFunc
> >      Out << 'X';
> >    } else {
> >      // Happens for function pointer type arguments for example.
> > -    for (const QualType Arg : Proto->param_types())
> > +    for (const QualType &Arg : Proto->param_types())
> >        mangleArgumentType(Arg, Range);
> >      // <builtin-type>      ::= Z  # ellipsis
> >      if (Proto->isVariadic())
> >
> > Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=234964&r1=234963&r2=234964&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
> > +++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Tue Apr 14 20:21:42 2015
> > @@ -3431,7 +3431,7 @@ void CodeGenModule::ClearUnusedCoverageM
> >
> >  void CodeGenModule::EmitDeferredUnusedCoverageMappings() {
> >    std::vector<const Decl *> DeferredDecls;
> > -  for (const auto I : DeferredEmptyCoverageMappingDecls) {
> > +  for (const auto &I : DeferredEmptyCoverageMappingDecls) {
> >      if (!I.second)
> >        continue;
> >      DeferredDecls.push_back(I.first);
> >
> > Modified: cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp?rev=234964&r1=234963&r2=234964&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp (original)
> > +++ cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp Tue Apr 14 20:21:42 2015
> > @@ -748,7 +748,7 @@ struct CounterCoverageMappingBuilder
> >          size_t Index =
> >              pushRegion(Counter::getZero(), getStart(CS->body_front()),
> >                         getEnd(CS->body_back()));
> > -        for (const auto &Child : CS->children())
> > +        for (const auto *Child : CS->children())
> >            Visit(Child);
> >          popRegions(Index);
> >        }
> >
> > Modified: cfe/trunk/lib/Sema/SemaLookup.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaLookup.cpp?rev=234964&r1=234963&r2=234964&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/lib/Sema/SemaLookup.cpp (original)
> > +++ cfe/trunk/lib/Sema/SemaLookup.cpp Tue Apr 14 20:21:42 2015
> > @@ -3070,7 +3070,7 @@ static void LookupVisibleDecls(DeclConte
> >      Result.getSema().ForceDeclarationOfImplicitMembers(Class);
> >
> >    // Enumerate all of the results in this context.
> > -  for (const auto &R : Ctx->lookups()) {
> > +  for (const auto R : Ctx->lookups()) {
>
> Could we put the concrete type in here when we're not using reference,
> just to make it clear that that's the right choice? (I realize the
> warning will help us not make the "accidentally used auto by value
> instead of by reference" mistake, but it's helpful to justify it in
> the source for readers)
>
Concrete type added in r234976

>
> >      for (auto *D : R) {
> >        if (auto *ND = Result.getAcceptableDecl(D)) {
> >          Consumer.FoundDecl(ND, Visited.checkHidden(ND), Ctx,
> InBaseClass);
> >
> > Modified: cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp?rev=234964&r1=234963&r2=234964&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp (original)
> > +++ cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp Tue Apr 14 20:21:42
> 2015
> > @@ -1747,7 +1747,7 @@ Sema::SubstBaseSpecifiers(CXXRecordDecl
> >                            const MultiLevelTemplateArgumentList
> &TemplateArgs) {
> >    bool Invalid = false;
> >    SmallVector<CXXBaseSpecifier*, 4> InstantiatedBases;
> > -  for (const auto Base : Pattern->bases()) {
> > +  for (const auto &Base : Pattern->bases()) {
> >      if (!Base.getType()->isDependentType()) {
> >        if (const CXXRecordDecl *RD =
> Base.getType()->getAsCXXRecordDecl()) {
> >          if (RD->isInvalidDecl())
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > cfe-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150414/2516dc10/attachment.html>


More information about the cfe-commits mailing list