diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-08-09 09:39:17 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-08-09 09:39:17 +0000 |
commit | 989ab8b5a0217c7ed9a9b6d4a603ffcfa172223a (patch) | |
tree | 9280941e431046067934ebe5f256b27341826723 /clang/lib/Sema/SemaChecking.cpp | |
parent | 9140910be843eb0379757bd47c51cde272ac3c65 (diff) | |
download | bcm5719-llvm-989ab8b5a0217c7ed9a9b6d4a603ffcfa172223a.tar.gz bcm5719-llvm-989ab8b5a0217c7ed9a9b6d4a603ffcfa172223a.zip |
Put back a microoptimization with a comment to make it more obvious.
llvm-svn: 188063
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index ed4a0346752..99a1f77390f 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -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 |