From 4ace035c552c2f272fda3f2a3ceb4738b4d3ecef Mon Sep 17 00:00:00 2001 From: Alexis Hunt Date: Thu, 21 Jul 2011 00:59:23 +0000 Subject: When copping out on a friend template declaration, be sure to mark its access specifier as public. llvm-svn: 135649 --- clang/lib/Sema/SemaDeclCXX.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'clang/lib') diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 9ad9a2f0f0a..03280451452 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -8263,11 +8263,13 @@ Decl *Sema::ActOnTemplatedFriendTag(Scope *S, SourceLocation FriendLoc, if (Invalid) return 0; - return CheckClassTemplate(S, TagSpec, TUK_Friend, TagLoc, - SS, Name, NameLoc, Attr, - TemplateParams, AS_public, - TempParamLists.size() - 1, + Decl * Result = CheckClassTemplate(S, TagSpec, TUK_Friend, TagLoc, + SS, Name, NameLoc, Attr, + TemplateParams, AS_public, + TempParamLists.size() - 1, (TemplateParameterList**) TempParamLists.release()).take(); + Result->setAccess(AS_public); + return Result; } else { // The "template<>" header is extraneous. Diag(TemplateParams->getTemplateLoc(), diag::err_template_tag_noparams) -- cgit v1.2.3