diff options
author | Hans Wennborg <hans@hanshq.net> | 2011-12-15 10:25:47 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2011-12-15 10:25:47 +0000 |
commit | 23926bd2d78ca1898e8565039b6de06d329eeb9e (patch) | |
tree | 1f918189aff3cb758c6e432c89bf997e392a5f53 /clang/lib/Analysis/FormatStringParsing.h | |
parent | adba86d63c1d5c93cc559291499d63dbc19baeb5 (diff) | |
download | bcm5719-llvm-23926bd2d78ca1898e8565039b6de06d329eeb9e.tar.gz bcm5719-llvm-23926bd2d78ca1898e8565039b6de06d329eeb9e.zip |
Support the 'a' length modifier in scanf format strings as a C90
extension.
This fixes gcc.dg/format/c90-scanf-3.c and ext-4.c (test for excess
errors).
llvm-svn: 146649
Diffstat (limited to 'clang/lib/Analysis/FormatStringParsing.h')
-rw-r--r-- | clang/lib/Analysis/FormatStringParsing.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Analysis/FormatStringParsing.h b/clang/lib/Analysis/FormatStringParsing.h index 607e99ccd07..f483ec6facf 100644 --- a/clang/lib/Analysis/FormatStringParsing.h +++ b/clang/lib/Analysis/FormatStringParsing.h @@ -8,6 +8,8 @@ namespace clang { +class LangOptions; + template <typename T> class UpdateOnReturn { T &ValueToUpdate; @@ -42,7 +44,8 @@ bool ParseArgPosition(FormatStringHandler &H, /// Returns true if a LengthModifier was parsed and installed in the /// FormatSpecifier& argument, and false otherwise. -bool ParseLengthModifier(FormatSpecifier &FS, const char *&Beg, const char *E); +bool ParseLengthModifier(FormatSpecifier &FS, const char *&Beg, const char *E, + const LangOptions &LO, bool IsScanf = false); template <typename T> class SpecifierResult { T FS; @@ -69,4 +72,3 @@ public: } // end clang namespace #endif - |