summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseStmt.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-06-17 10:52:18 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-06-17 10:52:18 +0000
commit355094ef06a3d47f0600e85744f6e995706b12d3 (patch)
tree7c1dca82960f9eb1a22f3a8505c9f527c5dc94b4 /clang/lib/Parse/ParseStmt.cpp
parentfa533e7652fc3d41f9ccb4499ddee4deeb81a298 (diff)
downloadbcm5719-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.cpp2
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())
OpenPOWER on IntegriCloud