Add a few more conversion specifiers to ParseFormatSpecifier (these appear in SemaChecking).

llvm-svn: 94704
This commit is contained in:
Ted Kremenek 2010-01-28 00:02:05 +00:00
parent 56db8c3008
commit c8d9c01f04
1 changed files with 27 additions and 20 deletions

View File

@ -85,7 +85,7 @@ static FormatSpecifierResult ParseFormatSpecifier(printf::FormatStringHandler &H
const char *&Beg, const char *E) {
const char *I = Beg;
const char *Start = NULL;
const char *Start = 0;
UpdateOnReturn <const char*> UpdateBeg(Beg, I);
// Look for a '%' character that indicates the start of a format specifier.
@ -191,9 +191,16 @@ static FormatSpecifierResult ParseFormatSpecifier(printf::FormatStringHandler &H
// Finally, look for the conversion specifier.
ConversionSpecifier::Kind cs;
switch (*I) {
case 'D':
case 'O':
case 'U':
case 'C':
case 'S':
default:
H.HandleInvalidConversionSpecifier(I);
return true;
// Handle the cases we know about.
case 'd': cs = ConversionSpecifier::dArg; break;
case 'i': cs = ConversionSpecifier::iArg; break;
case 'o': cs = ConversionSpecifier::oArg; break;