summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorBruno Ricci <riccibrun@gmail.com>2018-08-15 16:21:17 +0000
committerBruno Ricci <riccibrun@gmail.com>2018-08-15 16:21:17 +0000
commit43ccc1c63dcdd1814774de7b8e88ab3583dd420b (patch)
treeaa750a3a675b55a54e5b32d3caba8725fe36dfe2 /clang/lib
parent82812fb986aa217a69f18390207a683049b7748a (diff)
downloadbcm5719-llvm-43ccc1c63dcdd1814774de7b8e88ab3583dd420b.tar.gz
bcm5719-llvm-43ccc1c63dcdd1814774de7b8e88ab3583dd420b.zip
[AST] Pack the bits of TemplateSpecializationType into Type
Type has enough space for two members of TemplateSpecializationType. Mechanical patch. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D50643 llvm-svn: 339787
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/AST/Type.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp
index 315844fa424..1dba3e3e4c7 100644
--- a/clang/lib/AST/Type.cpp
+++ b/clang/lib/AST/Type.cpp
@@ -3335,8 +3335,10 @@ TemplateSpecializationType(TemplateName T,
Canon.isNull()? true : Canon->isDependentType(),
Canon.isNull()? true : Canon->isInstantiationDependentType(),
false,
- T.containsUnexpandedParameterPack()),
- Template(T), NumArgs(Args.size()), TypeAlias(!AliasedType.isNull()) {
+ T.containsUnexpandedParameterPack()), Template(T) {
+ TemplateSpecializationTypeBits.NumArgs = Args.size();
+ TemplateSpecializationTypeBits.TypeAlias = !AliasedType.isNull();
+
assert(!T.getAsDependentTemplateName() &&
"Use DependentTemplateSpecializationType for dependent template-name");
assert((T.getKind() == TemplateName::Template ||
@@ -3365,7 +3367,7 @@ TemplateSpecializationType(TemplateName T,
}
// Store the aliased type if this is a type alias template specialization.
- if (TypeAlias) {
+ if (isTypeAlias()) {
auto *Begin = reinterpret_cast<TemplateArgument *>(this + 1);
*reinterpret_cast<QualType*>(Begin + getNumArgs()) = AliasedType;
}
OpenPOWER on IntegriCloud