From 8bdae58c3afad9803e8a0ddf159b26c41ac77d2f Mon Sep 17 00:00:00 2001 From: John McCall Date: Thu, 30 Jun 2011 00:42:27 +0000 Subject: Document and check tighter assumptions about the TemplateName of a TemplateSpecializationType. llvm-svn: 134120 --- clang/lib/AST/Type.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'clang/lib/AST') diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp index 320e807dcae..68c3eeb8920 100644 --- a/clang/lib/AST/Type.cpp +++ b/clang/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"); -- cgit v1.2.3