<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 6:36 PM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">On Tue, Apr 14, 2015 at 6:21 PM, Richard Trieu <<a href="mailto:rtrieu@google.com">rtrieu@google.com</a>> wrote:<br>
> Author: rtrieu<br>
> Date: Tue Apr 14 20:21:42 2015<br>
> New Revision: 234964<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=234964&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=234964&view=rev</a><br>
> Log:<br>
> Change range-based for-loops to be -Wrange-loop-analysis clean.<br>
> No functionality change.<br>
><br>
> Modified:<br>
>     cfe/trunk/lib/AST/MicrosoftMangle.cpp<br>
>     cfe/trunk/lib/CodeGen/CodeGenModule.cpp<br>
>     cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp<br>
>     cfe/trunk/lib/Sema/SemaLookup.cpp<br>
>     cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp<br>
><br>
> Modified: cfe/trunk/lib/AST/MicrosoftMangle.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/MicrosoftMangle.cpp?rev=234964&r1=234963&r2=234964&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/MicrosoftMangle.cpp?rev=234964&r1=234963&r2=234964&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/AST/MicrosoftMangle.cpp (original)<br>
> +++ cfe/trunk/lib/AST/MicrosoftMangle.cpp Tue Apr 14 20:21:42 2015<br>
> @@ -1680,7 +1680,7 @@ void MicrosoftCXXNameMangler::mangleFunc<br>
>      Out << 'X';<br>
>    } else {<br>
>      // Happens for function pointer type arguments for example.<br>
> -    for (const QualType Arg : Proto->param_types())<br>
> +    for (const QualType &Arg : Proto->param_types())<br>
>        mangleArgumentType(Arg, Range);<br>
>      // <builtin-type>      ::= Z  # ellipsis<br>
>      if (Proto->isVariadic())<br>
><br>
> Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=234964&r1=234963&r2=234964&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=234964&r1=234963&r2=234964&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)<br>
> +++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Tue Apr 14 20:21:42 2015<br>
> @@ -3431,7 +3431,7 @@ void CodeGenModule::ClearUnusedCoverageM<br>
><br>
>  void CodeGenModule::EmitDeferredUnusedCoverageMappings() {<br>
>    std::vector<const Decl *> DeferredDecls;<br>
> -  for (const auto I : DeferredEmptyCoverageMappingDecls) {<br>
> +  for (const auto &I : DeferredEmptyCoverageMappingDecls) {<br>
>      if (!I.second)<br>
>        continue;<br>
>      DeferredDecls.push_back(I.first);<br>
><br>
> Modified: cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp?rev=234964&r1=234963&r2=234964&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp?rev=234964&r1=234963&r2=234964&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp (original)<br>
> +++ cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp Tue Apr 14 20:21:42 2015<br>
> @@ -748,7 +748,7 @@ struct CounterCoverageMappingBuilder<br>
>          size_t Index =<br>
>              pushRegion(Counter::getZero(), getStart(CS->body_front()),<br>
>                         getEnd(CS->body_back()));<br>
> -        for (const auto &Child : CS->children())<br>
> +        for (const auto *Child : CS->children())<br>
>            Visit(Child);<br>
>          popRegions(Index);<br>
>        }<br>
><br>
> Modified: cfe/trunk/lib/Sema/SemaLookup.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaLookup.cpp?rev=234964&r1=234963&r2=234964&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaLookup.cpp?rev=234964&r1=234963&r2=234964&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/Sema/SemaLookup.cpp (original)<br>
> +++ cfe/trunk/lib/Sema/SemaLookup.cpp Tue Apr 14 20:21:42 2015<br>
> @@ -3070,7 +3070,7 @@ static void LookupVisibleDecls(DeclConte<br>
>      Result.getSema().ForceDeclarationOfImplicitMembers(Class);<br>
><br>
>    // Enumerate all of the results in this context.<br>
> -  for (const auto &R : Ctx->lookups()) {<br>
> +  for (const auto R : Ctx->lookups()) {<br>
<br>
</div></div>Could we put the concrete type in here when we're not using reference,<br>
just to make it clear that that's the right choice? (I realize the<br>
warning will help us not make the "accidentally used auto by value<br>
instead of by reference" mistake, but it's helpful to justify it in<br>
the source for readers)<br></blockquote><div>Concrete type added in r234976 </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><div class="h5"><br>
>      for (auto *D : R) {<br>
>        if (auto *ND = Result.getAcceptableDecl(D)) {<br>
>          Consumer.FoundDecl(ND, Visited.checkHidden(ND), Ctx, InBaseClass);<br>
><br>
> Modified: cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp?rev=234964&r1=234963&r2=234964&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp?rev=234964&r1=234963&r2=234964&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp (original)<br>
> +++ cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp Tue Apr 14 20:21:42 2015<br>
> @@ -1747,7 +1747,7 @@ Sema::SubstBaseSpecifiers(CXXRecordDecl<br>
>                            const MultiLevelTemplateArgumentList &TemplateArgs) {<br>
>    bool Invalid = false;<br>
>    SmallVector<CXXBaseSpecifier*, 4> InstantiatedBases;<br>
> -  for (const auto Base : Pattern->bases()) {<br>
> +  for (const auto &Base : Pattern->bases()) {<br>
>      if (!Base.getType()->isDependentType()) {<br>
>        if (const CXXRecordDecl *RD = Base.getType()->getAsCXXRecordDecl()) {<br>
>          if (RD->isInvalidDecl())<br>
><br>
><br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br></div></div>