diff options
author | Dmitri Gribenko <gribozavr@gmail.com> | 2020-09-12 01:07:54 +0200 |
---|---|---|
committer | Dmitri Gribenko <gribozavr@gmail.com> | 2020-09-12 01:07:54 +0200 |
commit | e10df779f097e3a1fb02d901117ce71a5dd9dda2 (patch) | |
tree | fcdba3375676cd976ced1c05f6ebe0fa635e8488 /clang/lib/Tooling/Syntax/BuildTree.cpp | |
parent | 658475897b14781070549f72483fd283e3fe50aa (diff) | |
download | llvm-e10df779f097e3a1fb02d901117ce71a5dd9dda2.zip llvm-e10df779f097e3a1fb02d901117ce71a5dd9dda2.tar.gz llvm-e10df779f097e3a1fb02d901117ce71a5dd9dda2.tar.bz2 |
Fix clang Wrange-loop-analysis in BuildTree.cpp
Building on Mac OS with clang 12:
```
jhemphill@jhemphill-mbp build % clang --version
Apple clang version 12.0.0 (clang-1200.0.26.2)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
```
yields one warning:
```
/Users/jhemphill/oss/llvm-project/clang/lib/Tooling/Syntax/BuildTree.cpp:1126:22: warning: loop variable 'Arg' is always a copy because the range of type 'llvm::iterator_range<clang::Stmt::CastIterator<clang::Expr, clang::Expr *, clang::Stmt *> >' does not return a reference [-Wrange-loop-analysis]
for (const auto &Arg : Args) {
^
/Users/jhemphill/oss/llvm-project/clang/lib/Tooling/Syntax/BuildTree.cpp:1126:10: note: use non-reference type 'clang::Expr *'
for (const auto &Arg : Args) {
```
It appears that `Arg` is an `Expr*`, passed by value rather than by const reference.
Reviewed By: eduucaldas, gribozavr2
Differential Revision: https://reviews.llvm.org/D87482
Diffstat (limited to 'clang/lib/Tooling/Syntax/BuildTree.cpp')
-rw-r--r-- | clang/lib/Tooling/Syntax/BuildTree.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Tooling/Syntax/BuildTree.cpp b/clang/lib/Tooling/Syntax/BuildTree.cpp index dab1457..3e0573a 100644 --- a/clang/lib/Tooling/Syntax/BuildTree.cpp +++ b/clang/lib/Tooling/Syntax/BuildTree.cpp @@ -1126,7 +1126,7 @@ public: syntax::CallArguments * buildCallArguments(CallExpr::arg_range ArgsAndDefaultArgs) { auto Args = dropDefaultArgs(ArgsAndDefaultArgs); - for (const auto &Arg : Args) { + for (auto *Arg : Args) { Builder.markExprChild(Arg, syntax::NodeRole::ListElement); const auto *DelimiterToken = std::next(Builder.findToken(Arg->getEndLoc())); |