diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-07-20 20:04:27 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-07-20 20:04:27 +0000 |
commit | f03e6d85a19f2ed656fdd4a85cc9e4cc53dbe9f2 (patch) | |
tree | ccbcf69a8b61c3824728907c465d0a22d28e529d /clang/lib/Sema/SemaChecking.cpp | |
parent | fe1316882ca00d0a4de5740be9da68bc446b7ab8 (diff) | |
download | bcm5719-llvm-f03e6d85a19f2ed656fdd4a85cc9e4cc53dbe9f2.tar.gz bcm5719-llvm-f03e6d85a19f2ed656fdd4a85cc9e4cc53dbe9f2.zip |
Add 'ConversionSpecifier' root class in 'analyze_format_string' namespace and
derived 'PrintfConversionSpecifier' from this class. We will do the same for
'ScanfConversionSpecifier'.
llvm-svn: 108903
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 6d71b103ba7..8846c25724e 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -1316,7 +1316,7 @@ bool CheckPrintfHandler::HandleInvalidPrintfConversionSpecifier( const analyze_printf::PrintfSpecifier &FS, const char *startSpecifier, unsigned specifierLen) { - const analyze_printf::ConversionSpecifier &CS = + const analyze_printf::PrintfConversionSpecifier &CS = FS.getConversionSpecifier(); return HandleInvalidConversionSpecifier(FS.getArgIndex(), @@ -1375,7 +1375,8 @@ void CheckPrintfHandler::HandleInvalidAmount( unsigned type, const char *startSpecifier, unsigned specifierLen) { - const analyze_printf::ConversionSpecifier &CS = FS.getConversionSpecifier(); + const analyze_printf::PrintfConversionSpecifier &CS = + FS.getConversionSpecifier(); switch (Amt.getHowSpecified()) { case analyze_printf::OptionalAmount::Constant: S.Diag(getLocationOfByte(Amt.getStart()), @@ -1402,7 +1403,8 @@ void CheckPrintfHandler::HandleFlag(const analyze_printf::PrintfSpecifier &FS, const char *startSpecifier, unsigned specifierLen) { // Warn about pointless flag with a fixit removal. - const analyze_printf::ConversionSpecifier &CS = FS.getConversionSpecifier(); + const analyze_printf::PrintfConversionSpecifier &CS = + FS.getConversionSpecifier(); S.Diag(getLocationOfByte(flag.getPosition()), diag::warn_printf_nonsensical_flag) << flag.toString() << CS.toString() @@ -1431,8 +1433,9 @@ CheckPrintfHandler::HandlePrintfSpecifier(const analyze_printf::PrintfSpecifier const char *startSpecifier, unsigned specifierLen) { + using namespace analyze_format_string; using namespace analyze_printf; - const ConversionSpecifier &CS = FS.getConversionSpecifier(); + const PrintfConversionSpecifier &CS = FS.getConversionSpecifier(); if (FS.consumesDataArgument()) { if (atFirstArg) { @@ -1636,7 +1639,7 @@ bool CheckScanfHandler::HandleInvalidScanfConversionSpecifier( const char *startSpecifier, unsigned specifierLen) { - const analyze_scanf::ConversionSpecifier &CS = + const analyze_scanf::ScanfConversionSpecifier &CS = FS.getConversionSpecifier(); return HandleInvalidConversionSpecifier(FS.getArgIndex(), @@ -1653,7 +1656,7 @@ bool CheckScanfHandler::HandleScanfSpecifier( using namespace analyze_scanf; using namespace analyze_format_string; - const ConversionSpecifier &CS = FS.getConversionSpecifier(); + const ScanfConversionSpecifier &CS = FS.getConversionSpecifier(); // Handle case where '%' and '*' don't consume an argument. These shouldn't // be used to decide if we are using positional arguments consistently. |