summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/FormatStringParsing.h
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2011-12-15 10:25:47 +0000
committerHans Wennborg <hans@hanshq.net>2011-12-15 10:25:47 +0000
commit23926bd2d78ca1898e8565039b6de06d329eeb9e (patch)
tree1f918189aff3cb758c6e432c89bf997e392a5f53 /clang/lib/Analysis/FormatStringParsing.h
parentadba86d63c1d5c93cc559291499d63dbc19baeb5 (diff)
downloadbcm5719-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.h6
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
-
OpenPOWER on IntegriCloud