aboutsummaryrefslogtreecommitdiff
path: root/lib/AST/Type.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-06-30 00:42:27 +0000
committerJohn McCall <rjmccall@apple.com>2011-06-30 00:42:27 +0000
commit1901dce8b1e78d0bf7072cccab695bd58c7eec21 (patch)
tree0fd4c7cb2831027429280d618b871a0cbaebd9a3 /lib/AST/Type.cpp
parent5b3284a9275a27f5c4410e25eb8933be540601d6 (diff)
Document and check tighter assumptions about the TemplateName of a
TemplateSpecializationType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134120 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Type.cpp')
-rw-r--r--lib/AST/Type.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/AST/Type.cpp b/lib/AST/Type.cpp
index 320e807dca..68c3eeb892 100644
--- a/lib/AST/Type.cpp
+++ b/lib/AST/Type.cpp
@@ -1763,6 +1763,9 @@ TemplateSpecializationType(TemplateName T,
Template(T), NumArgs(NumArgs) {
assert(!T.getAsDependentTemplateName() &&
"Use DependentTemplateSpecializationType for dependent template-name");
+ assert((T.getKind() == TemplateName::Template ||
+ T.getKind() == TemplateName::SubstTemplateTemplateParmPack) &&
+ "Unexpected template name for TemplateSpecializationType");
assert((!Canon.isNull() ||
T.isDependent() || anyDependentTemplateArguments(Args, NumArgs)) &&
"No canonical type for non-dependent class template specialization");