summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2009-04-26 21:08:36 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2009-04-26 21:08:36 +0000
commitd98ecd615ff0b0985b7145c56fe92821b70559dd (patch)
treec726a8b9ce4d919e2287bc9389dafe4fa7c32336 /clang/lib/Parse
parent0d0d3e56dd2afccd25dd5da0a5a34484b7a3474c (diff)
downloadbcm5719-llvm-d98ecd615ff0b0985b7145c56fe92821b70559dd.tar.gz
bcm5719-llvm-d98ecd615ff0b0985b7145c56fe92821b70559dd.zip
The mysterious bug turns out to be an incredibly bone-headed mistake.
llvm-svn: 70160
Diffstat (limited to 'clang/lib/Parse')
-rw-r--r--clang/lib/Parse/ParseCXXInlineMethods.cpp2
-rw-r--r--clang/lib/Parse/ParseStmt.cpp3
2 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Parse/ParseCXXInlineMethods.cpp b/clang/lib/Parse/ParseCXXInlineMethods.cpp
index a2f93b46cab..525b088714d 100644
--- a/clang/lib/Parse/ParseCXXInlineMethods.cpp
+++ b/clang/lib/Parse/ParseCXXInlineMethods.cpp
@@ -145,7 +145,7 @@ void Parser::ParseLexedMethodDefs() {
if (Tok.is(tok::kw_try)) {
ParseFunctionTryBlock(LM.D);
- return;
+ continue;
}
if (Tok.is(tok::colon))
ParseConstructorInitializer(LM.D);
diff --git a/clang/lib/Parse/ParseStmt.cpp b/clang/lib/Parse/ParseStmt.cpp
index ce887287360..35348d58520 100644
--- a/clang/lib/Parse/ParseStmt.cpp
+++ b/clang/lib/Parse/ParseStmt.cpp
@@ -1324,11 +1324,12 @@ Parser::DeclPtrTy Parser::ParseFunctionTryBlock(DeclPtrTy Decl) {
if (Tok.is(tok::colon))
ParseConstructorInitializer(Decl);
+ SourceLocation LBraceLoc = Tok.getLocation();
OwningStmtResult FnBody(ParseCXXTryBlockCommon(TryLoc));
// If we failed to parse the try-catch, we just give the function an empty
// compound statement as the body.
if (FnBody.isInvalid())
- FnBody = Actions.ActOnCompoundStmt(TryLoc, TryLoc,
+ FnBody = Actions.ActOnCompoundStmt(LBraceLoc, LBraceLoc,
MultiStmtArg(Actions), false);
return Actions.ActOnFinishFunctionBody(Decl, move(FnBody));
OpenPOWER on IntegriCloud