summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseStmt.cpp
diff options
context:
space:
mode:
authorSerge Pavlov <sepavloff@gmail.com>2013-12-04 03:51:59 +0000
committerSerge Pavlov <sepavloff@gmail.com>2013-12-04 03:51:59 +0000
commitf79bd5cb9db30abc7a153d14297b4c8bf46f6f86 (patch)
tree90a543288f72dc8548831e2b74852ceca2cd24ee /clang/lib/Parse/ParseStmt.cpp
parentcb7e5df97efa0d5cbe6e51902cd619bec1516f16 (diff)
downloadbcm5719-llvm-f79bd5cb9db30abc7a153d14297b4c8bf46f6f86.tar.gz
bcm5719-llvm-f79bd5cb9db30abc7a153d14297b4c8bf46f6f86.zip
Fix error recovery in return statement.
This patch fixes PR16989. llvm-svn: 196352
Diffstat (limited to 'clang/lib/Parse/ParseStmt.cpp')
-rw-r--r--clang/lib/Parse/ParseStmt.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Parse/ParseStmt.cpp b/clang/lib/Parse/ParseStmt.cpp
index 35c71889c1c..8026f78e80d 100644
--- a/clang/lib/Parse/ParseStmt.cpp
+++ b/clang/lib/Parse/ParseStmt.cpp
@@ -1730,8 +1730,8 @@ StmtResult Parser::ParseReturnStatement() {
<< R.get()->getSourceRange();
} else
R = ParseExpression();
- if (R.isInvalid()) { // Skip to the semicolon, but don't consume it.
- SkipUntil(tok::semi, StopBeforeMatch);
+ if (R.isInvalid()) {
+ SkipUntil(tok::r_brace, StopAtSemi | StopBeforeMatch);
return StmtError();
}
}
OpenPOWER on IntegriCloud