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/Sema/Sema.h b/lib/Sema/Sema.h
index 974404c..7f2f109 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -1715,7 +1715,8 @@
                      SourceLocation KWLoc, const CXXScopeSpec &SS,
                      IdentifierInfo *Name, SourceLocation NameLoc,
                      AttributeList *Attr,
-                     MultiTemplateParamsArg TemplateParameterLists);
+                     MultiTemplateParamsArg TemplateParameterLists,
+                     AccessSpecifier AS);
 
   QualType CheckClassTemplateId(ClassTemplateDecl *ClassTemplate,
                                 SourceLocation TemplateLoc,
diff --git a/lib/Sema/SemaTemplate.cpp b/lib/Sema/SemaTemplate.cpp
index c0476a8..b8b1f3a 100644
--- a/lib/Sema/SemaTemplate.cpp
+++ b/lib/Sema/SemaTemplate.cpp
@@ -388,7 +388,8 @@
                          SourceLocation KWLoc, const CXXScopeSpec &SS,
                          IdentifierInfo *Name, SourceLocation NameLoc,
                          AttributeList *Attr,
-                         MultiTemplateParamsArg TemplateParameterLists) {
+                         MultiTemplateParamsArg TemplateParameterLists,
+                         AccessSpecifier AS) {
   assert(TemplateParameterLists.size() > 0 && "No template parameter lists?");
   assert(TK != TK_Reference && "Can only declare or define class templates");
   bool Invalid = false;