diff options
Diffstat (limited to 'lib/AST/Type.cpp')
-rw-r--r-- | lib/AST/Type.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/lib/AST/Type.cpp b/lib/AST/Type.cpp index 698474b838..ebf5706ed0 100644 --- a/lib/AST/Type.cpp +++ b/lib/AST/Type.cpp @@ -1884,7 +1884,7 @@ TemplateSpecializationType(TemplateName T, false, Canon.isNull()? T.containsUnexpandedParameterPack() : Canon->containsUnexpandedParameterPack()), - Template(T), NumArgs(NumArgs) { + Template(T), NumArgs(NumArgs), TypeAlias(!AliasedType.isNull()) { assert(!T.getAsDependentTemplateName() && "Use DependentTemplateSpecializationType for dependent template-name"); assert((T.getKind() == TemplateName::Template || @@ -1923,10 +1923,7 @@ TemplateSpecializationType(TemplateName T, } // Store the aliased type if this is a type alias template specialization. - bool IsTypeAlias = !AliasedType.isNull(); - assert(IsTypeAlias == isTypeAlias() && - "allocated wrong size for type alias"); - if (IsTypeAlias) { + if (TypeAlias) { TemplateArgument *Begin = reinterpret_cast<TemplateArgument *>(this + 1); *reinterpret_cast<QualType*>(Begin + getNumArgs()) = AliasedType; } @@ -1943,11 +1940,6 @@ TemplateSpecializationType::Profile(llvm::FoldingSetNodeID &ID, Args[Idx].Profile(ID, Context); } -bool TemplateSpecializationType::isTypeAlias() const { - TemplateDecl *D = Template.getAsTemplateDecl(); - return D && isa<TypeAliasTemplateDecl>(D); -} - QualType QualifierCollector::apply(const ASTContext &Context, QualType QT) const { if (!hasNonFastQualifiers()) |