diff options
author | Sean Hunt <scshunt@csclub.uwaterloo.ca> | 2011-07-21 00:59:23 +0000 |
---|---|---|
committer | Sean Hunt <scshunt@csclub.uwaterloo.ca> | 2011-07-21 00:59:23 +0000 |
commit | 98c6bda3be11b78a10026f142a399aa1918900f2 (patch) | |
tree | 7d90afc76835dbfe1fb5ad9087d767ee25c92056 /lib/Sema/SemaDeclCXX.cpp | |
parent | 4c30bb148b53c8063e940ca3e049ba4d270dc9d5 (diff) |
When copping out on a friend template declaration, be sure to mark its
access specifier as public.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135649 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | lib/Sema/SemaDeclCXX.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index 9ad9a2f0f0..0328045145 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/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) |