]> granicus.if.org Git - clang/commitdiff
Put back a microoptimization with a comment to make it more obvious.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 9 Aug 2013 09:39:17 +0000 (09:39 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 9 Aug 2013 09:39:17 +0000 (09:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188063 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaChecking.cpp

index ed4a034675234e97cb5c6abacffff5f4ad757693..99a1f77390f96ab88b0548594be2b71112bb172d 100644 (file)
@@ -716,13 +716,16 @@ void Sema::checkCall(NamedDecl *FDecl,
   // Printf and scanf checking.
   llvm::SmallBitVector CheckedVarArgs;
   if (FDecl) {
-    CheckedVarArgs.resize(Args.size());
     for (specific_attr_iterator<FormatAttr>
              I = FDecl->specific_attr_begin<FormatAttr>(),
              E = FDecl->specific_attr_end<FormatAttr>();
-         I != E; ++I)
+         I != E; ++I) {
+      // Only create vector if there are format attributes.
+      CheckedVarArgs.resize(Args.size());
+
       CheckFormatArguments(*I, Args, IsMemberFunction, CallType, Loc, Range,
                            CheckedVarArgs);
+    }
   }
 
   // Refuse POD arguments that weren't caught by the format string