summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-05-06 00:28:52 +0000
committerDouglas Gregor <dgregor@apple.com>2010-05-06 00:28:52 +0000
commite902956f599c71431f91948b6747e3c293517c00 (patch)
tree95c779bd14d3c78a2a3a5a7ed60919bc367bb000 /clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
parent5b0773e20149485862fbe1520b08940c30f4cb6e (diff)
downloadbcm5719-llvm-e902956f599c71431f91948b6747e3c293517c00.tar.gz
bcm5719-llvm-e902956f599c71431f91948b6747e3c293517c00.zip
Partial and full specializations of a class template may have a
different tag kind ("struct" vs. "class") than the primary template, which has an affect on access control. Should fix the last remaining Boost.Accumulors failure. llvm-svn: 103144
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaTemplateInstantiateDecl.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
index da8480633d5..44bce7976c8 100644
--- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
@@ -1761,7 +1761,9 @@ TemplateDeclInstantiator::InstantiateClassTemplatePartialSpecialization(
// Create the class template partial specialization declaration.
ClassTemplatePartialSpecializationDecl *InstPartialSpec
- = ClassTemplatePartialSpecializationDecl::Create(SemaRef.Context, Owner,
+ = ClassTemplatePartialSpecializationDecl::Create(SemaRef.Context,
+ PartialSpec->getTagKind(),
+ Owner,
PartialSpec->getLocation(),
InstParams,
ClassTemplate,
OpenPOWER on IntegriCloud