StaticAnalyzer: Avoid an unintentional copy
authorJustin Bogner <mail@justinbogner.com>
Tue, 22 Mar 2016 17:50:05 +0000 (17:50 +0000)
committerJustin Bogner <mail@justinbogner.com>
Tue, 22 Mar 2016 17:50:05 +0000 (17:50 +0000)
The range here isn't over references, so using `auto &` here incites a
copy. Switching to `auto *` would do, but we might as well list an
explicit type for clarity.

Found by -Wrange-loop-analysis.

llvm-svn: 264071

clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp

index 05bb7b7..0640d2f 100644 (file)
@@ -168,7 +168,7 @@ public:
                                         const ASTRecordLayout &RL) {
     CharUnits PaddingSum;
     CharUnits Offset = ASTContext.toCharUnitsFromBits(RL.getFieldOffset(0));
-    for (const auto &FD : RD->fields()) {
+    for (const FieldDecl *FD : RD->fields()) {
       // This checker only cares about the padded size of the
       // field, and not the data size. If the field is a record
       // with tail padding, then we won't put that number in our