From: Ted Kremenek Date: Thu, 4 Feb 2010 20:46:58 +0000 (+0000) Subject: Move ParseFormatString() and FormatStringHandler back into the analyze_printf namespace. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=74d56a168966ff015824279a24aaf566180ed97d;p=clang Move ParseFormatString() and FormatStringHandler back into the analyze_printf namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95324 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Analysis/Analyses/PrintfFormatString.h b/include/clang/Analysis/Analyses/PrintfFormatString.h index 46f23ce3e2..a5c0b23c2d 100644 --- a/include/clang/Analysis/Analyses/PrintfFormatString.h +++ b/include/clang/Analysis/Analyses/PrintfFormatString.h @@ -234,8 +234,6 @@ public: bool hasLeadingZeros() const { return (bool) HasLeadingZeroes; } }; -} // end printf namespace - class FormatStringHandler { public: FormatStringHandler() {} @@ -261,6 +259,6 @@ public: bool ParseFormatString(FormatStringHandler &H, const char *beg, const char *end); - +} // end printf namespace } // end clang namespace #endif diff --git a/lib/Analysis/PrintfFormatString.cpp b/lib/Analysis/PrintfFormatString.cpp index 35c620aded..6e603faf72 100644 --- a/lib/Analysis/PrintfFormatString.cpp +++ b/lib/Analysis/PrintfFormatString.cpp @@ -18,6 +18,7 @@ using clang::analyze_printf::FormatSpecifier; using clang::analyze_printf::OptionalAmount; using clang::analyze_printf::ArgTypeResult; +using clang::analyze_printf::FormatStringHandler; using namespace clang; namespace { @@ -87,7 +88,8 @@ static OptionalAmount ParseAmount(const char *&Beg, const char *E) { } static FormatSpecifierResult ParseFormatSpecifier(FormatStringHandler &H, - const char *&Beg, const char *E) { + const char *&Beg, + const char *E) { using namespace clang::analyze_printf; @@ -241,7 +243,7 @@ static FormatSpecifierResult ParseFormatSpecifier(FormatStringHandler &H, return FormatSpecifierResult(Start, FS); } -bool clang::ParseFormatString(FormatStringHandler &H, +bool clang::analyze_printf::ParseFormatString(FormatStringHandler &H, const char *I, const char *E) { // Keep looking for a format specifier until we have exhausted the string. while (I != E) { diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp index cb0e5fb218..cba3c60661 100644 --- a/lib/Sema/SemaChecking.cpp +++ b/lib/Sema/SemaChecking.cpp @@ -1033,7 +1033,7 @@ Sema::CheckPrintfArguments(const CallExpr *TheCall, bool HasVAListArg, } namespace { -class CheckPrintfHandler : public FormatStringHandler { +class CheckPrintfHandler : public analyze_printf::FormatStringHandler { Sema &S; const StringLiteral *FExpr; const Expr *OrigFormatExpr; @@ -1061,9 +1061,10 @@ public: void HandleIncompleteFormatSpecifier(const char *startSpecifier, unsigned specifierLen); - void HandleInvalidConversionSpecifier(const analyze_printf::FormatSpecifier &FS, - const char *startSpecifier, - unsigned specifierLen); + void + HandleInvalidConversionSpecifier(const analyze_printf::FormatSpecifier &FS, + const char *startSpecifier, + unsigned specifierLen); void HandleNullChar(const char *nullCharacter); @@ -1292,9 +1293,9 @@ CheckPrintfHandler::HandleFormatSpecifier(const analyze_printf::FormatSpecifier S.Diag(getLocationOfByte(CS.getStart()), diag::warn_printf_conversion_argument_type_mismatch) - << *T << Ex->getType() - << getFormatSpecifierRange(startSpecifier, specifierLen) - << Ex->getSourceRange(); + << *T << Ex->getType(); +// << getFormatSpecifierRange(startSpecifier, specifierLen) +// << Ex->getSourceRange(); } return true; } @@ -1341,7 +1342,7 @@ void Sema::CheckPrintfString(const StringLiteral *FExpr, isa(OrigFormatExpr), Str, HasVAListArg, TheCall, format_idx); - if (!ParseFormatString(H, Str, Str + StrLen)) + if (!analyze_printf::ParseFormatString(H, Str, Str + StrLen)) H.DoneProcessing(); }