diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-06-17 10:52:18 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-06-17 10:52:18 +0000 |
commit | 355094ef06a3d47f0600e85744f6e995706b12d3 (patch) | |
tree | 7c1dca82960f9eb1a22f3a8505c9f527c5dc94b4 /clang/lib/Parse/ParseStmt.cpp | |
parent | fa533e7652fc3d41f9ccb4499ddee4deeb81a298 (diff) | |
download | bcm5719-llvm-355094ef06a3d47f0600e85744f6e995706b12d3.tar.gz bcm5719-llvm-355094ef06a3d47f0600e85744f6e995706b12d3.zip |
Make sure parens/braces/brackets are correctly balanced.
In a line like:
(;
the semicolon leaves Parser:ParenCount unbalanced (it's 1 even though we stopped looking for a right paren).
This may affect later parsing and result in bad recovery for parsing errors.
llvm-svn: 106213
Diffstat (limited to 'clang/lib/Parse/ParseStmt.cpp')
-rw-r--r-- | clang/lib/Parse/ParseStmt.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseStmt.cpp b/clang/lib/Parse/ParseStmt.cpp index f0930a0a1a4..266b858109f 100644 --- a/clang/lib/Parse/ParseStmt.cpp +++ b/clang/lib/Parse/ParseStmt.cpp @@ -77,6 +77,8 @@ Parser::OwningStmtResult Parser::ParseStatementOrDeclaration(bool OnlyStatement) { const char *SemiError = 0; OwningStmtResult Res(Actions); + + ParenBraceBracketBalancer BalancerRAIIObj(*this); CXX0XAttributeList Attr; if (getLang().CPlusPlus0x && isCXX0XAttributeSpecifier()) |