From 08672ecef9122d4aa1e96cada56e4ed8c7019908 Mon Sep 17 00:00:00 2001 From: Bruno Ricci Date: Thu, 16 Aug 2018 10:33:36 +0000 Subject: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type The bit-fields of Type have enough space for the member unsigned NumArgs of SubstTemplateTypeParmPackType. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D50713 llvm-svn: 339861 --- clang/lib/AST/Type.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'clang/lib') diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp index bd1ac3c5aaf..7dc01b2f2f3 100644 --- a/clang/lib/AST/Type.cpp +++ b/clang/lib/AST/Type.cpp @@ -3285,11 +3285,12 @@ SubstTemplateTypeParmPackType(const TemplateTypeParmType *Param, QualType Canon, const TemplateArgument &ArgPack) : Type(SubstTemplateTypeParmPack, Canon, true, true, false, true), - Replaced(Param), - Arguments(ArgPack.pack_begin()), NumArguments(ArgPack.pack_size()) {} + Replaced(Param), Arguments(ArgPack.pack_begin()) { + SubstTemplateTypeParmPackTypeBits.NumArgs = ArgPack.pack_size(); +} TemplateArgument SubstTemplateTypeParmPackType::getArgumentPack() const { - return TemplateArgument(llvm::makeArrayRef(Arguments, NumArguments)); + return TemplateArgument(llvm::makeArrayRef(Arguments, getNumArgs())); } void SubstTemplateTypeParmPackType::Profile(llvm::FoldingSetNodeID &ID) { -- cgit v1.2.3