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 | d02deebce5f1b283101e035a7f5d5bab0d2068ec (patch) | |
tree | 58459abff0fef9bd9fe64d4188a7c702b6e06cdf /lib/Analysis/FormatStringParsing.h | |
parent | db7a800e0b76036d0faa7123f2e05e45ee3294e5 (diff) |
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).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146649 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/FormatStringParsing.h')
-rw-r--r-- | lib/Analysis/FormatStringParsing.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Analysis/FormatStringParsing.h b/lib/Analysis/FormatStringParsing.h index 607e99ccd0..f483ec6fac 100644 --- a/lib/Analysis/FormatStringParsing.h +++ b/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 - |