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/Analysis/PrintfFormatString.cpp | |
| parent | fe1316882ca00d0a4de5740be9da68bc446b7ab8 (diff) | |
| download | llvm-f03e6d85a19f2ed656fdd4a85cc9e4cc53dbe9f2.zip llvm-f03e6d85a19f2ed656fdd4a85cc9e4cc53dbe9f2.tar.gz llvm-f03e6d85a19f2ed656fdd4a85cc9e4cc53dbe9f2.tar.bz2  | |
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/Analysis/PrintfFormatString.cpp')
| -rw-r--r-- | clang/lib/Analysis/PrintfFormatString.cpp | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Analysis/PrintfFormatString.cpp b/clang/lib/Analysis/PrintfFormatString.cpp index 59f8657..2aeb53f 100644 --- a/clang/lib/Analysis/PrintfFormatString.cpp +++ b/clang/lib/Analysis/PrintfFormatString.cpp @@ -19,7 +19,7 @@ using clang::analyze_format_string::ArgTypeResult;  using clang::analyze_format_string::FormatStringHandler;  using clang::analyze_format_string::LengthModifier;  using clang::analyze_format_string::OptionalAmount; -using clang::analyze_printf::ConversionSpecifier; +using clang::analyze_format_string::ConversionSpecifier;  using clang::analyze_printf::PrintfSpecifier;  using namespace clang; @@ -54,6 +54,7 @@ static PrintfSpecifierResult ParsePrintfSpecifier(FormatStringHandler &H,                                                    const char *E,                                                    unsigned &argIndex) { +  using namespace clang::analyze_format_string;    using namespace clang::analyze_printf;    const char *I = Beg; @@ -192,7 +193,7 @@ static PrintfSpecifierResult ParsePrintfSpecifier(FormatStringHandler &H,      // Glibc specific.      case 'm': k = ConversionSpecifier::PrintErrno; break;    } -  ConversionSpecifier CS(conversionPosition, k); +  PrintfConversionSpecifier CS(conversionPosition, k);    FS.setConversionSpecifier(CS);    if (CS.consumesDataArgument() && !FS.usesPositionalArg())      FS.setArgIndex(argIndex++); @@ -274,6 +275,8 @@ const char *ConversionSpecifier::toString() const {  //===----------------------------------------------------------------------===//  ArgTypeResult PrintfSpecifier::getArgType(ASTContext &Ctx) const { +  const PrintfConversionSpecifier &CS = getConversionSpecifier(); +      if (!CS.consumesDataArgument())      return ArgTypeResult::Invalid();  | 
