Handle parsing of templates in member declarations. Pass the AccessSpecifier all the way down to ActOnClassTemplate.
Doug, Sebastian: Plz review! :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67723 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/ParseTemplate.cpp b/lib/Parse/ParseTemplate.cpp
index 2aeb182..2c07823 100644
--- a/lib/Parse/ParseTemplate.cpp
+++ b/lib/Parse/ParseTemplate.cpp
@@ -35,7 +35,8 @@
/// explicit-specialization: [ C++ temp.expl.spec]
/// 'template' '<' '>' declaration
Parser::DeclTy *
-Parser::ParseTemplateDeclarationOrSpecialization(unsigned Context) {
+Parser::ParseTemplateDeclarationOrSpecialization(unsigned Context,
+ AccessSpecifier AS) {
assert((Tok.is(tok::kw_export) || Tok.is(tok::kw_template)) &&
"Token does not start a template declaration.");
@@ -94,7 +95,7 @@
} while (Tok.is(tok::kw_export) || Tok.is(tok::kw_template));
// Parse the actual template declaration.
- return ParseDeclarationOrFunctionDefinition(&ParamLists);
+ return ParseDeclarationOrFunctionDefinition(&ParamLists, AS);
}
/// ParseTemplateParameters - Parses a template-parameter-list enclosed in