diff options
author | Hans Wennborg <hans@hanshq.net> | 2012-02-16 16:34:54 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2012-02-16 16:34:54 +0000 |
commit | 32addd519c6699000ff79c387a1c87f0ab7c3698 (patch) | |
tree | 310f61f2bf177db587fe8452e88c2c12d2740b5d /lib/Analysis/FormatString.cpp | |
parent | d1ac03ebac3ab5a8456b955e3f8634f786843f9a (diff) |
Format string analysis: give 'q' its own enumerator.
This is in preparation for being able to warn about 'q' and other
non-standard format string features.
It also allows us to print its name correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150697 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/FormatString.cpp')
-rw-r--r-- | lib/Analysis/FormatString.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/Analysis/FormatString.cpp b/lib/Analysis/FormatString.cpp index 1c911c45c3..fcc293bf30 100644 --- a/lib/Analysis/FormatString.cpp +++ b/lib/Analysis/FormatString.cpp @@ -198,7 +198,7 @@ clang::analyze_format_string::ParseLengthModifier(FormatSpecifier &FS, case 'z': lmKind = LengthModifier::AsSizeT; ++I; break; case 't': lmKind = LengthModifier::AsPtrDiff; ++I; break; case 'L': lmKind = LengthModifier::AsLongDouble; ++I; break; - case 'q': lmKind = LengthModifier::AsLongLong; ++I; break; + case 'q': lmKind = LengthModifier::AsQuad; ++I; break; case 'a': if (IsScanf && !LO.C99 && !LO.CPlusPlus0x) { // For scanf in C90, look at the next character to see if this should @@ -417,6 +417,8 @@ analyze_format_string::LengthModifier::toString() const { return "l"; case AsLongLong: return "ll"; + case AsQuad: + return "q"; case AsIntMax: return "j"; case AsSizeT: @@ -506,10 +508,11 @@ bool FormatSpecifier::hasValidLengthModifier() const { case LengthModifier::None: return true; - // Handle most integer flags + // Handle most integer flags case LengthModifier::AsChar: case LengthModifier::AsShort: case LengthModifier::AsLongLong: + case LengthModifier::AsQuad: case LengthModifier::AsIntMax: case LengthModifier::AsSizeT: case LengthModifier::AsPtrDiff: @@ -526,7 +529,7 @@ bool FormatSpecifier::hasValidLengthModifier() const { return false; } - // Handle 'l' flag + // Handle 'l' flag case LengthModifier::AsLong: switch (CS.getKind()) { case ConversionSpecifier::dArg: |