aboutsummaryrefslogtreecommitdiff
path: root/lib/Parse/Parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Parse/Parser.cpp')
-rw-r--r--lib/Parse/Parser.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp
index 5f00f87af3..79b3daf38b 100644
--- a/lib/Parse/Parser.cpp
+++ b/lib/Parse/Parser.cpp
@@ -1026,8 +1026,9 @@ Decl *Parser::ParseFunctionDefinition(ParsingDeclarator &D,
return DP;
}
else if (CurParsedObjCImpl &&
- (Tok.is(tok::l_brace) || Tok.is(tok::kw_try)) &&
- !TemplateInfo.TemplateParams &&
+ !TemplateInfo.TemplateParams &&
+ (Tok.is(tok::l_brace) || Tok.is(tok::kw_try) ||
+ Tok.is(tok::colon)) &&
Actions.CurContext->isTranslationUnit()) {
MultiTemplateParamsArg TemplateParameterLists(Actions, 0, 0);
ParseScope BodyScope(this, Scope::FnScope|Scope::DeclScope);