TemplateArgument TemplateArgument::CreatePackCopy(ASTContext &Context, ArrayRef<TemplateArgument> Args) { if (Args.empty()) return getEmptyPack(); return TemplateArgument(Args.copy(Context)); }
void StructType::setBody(ArrayRef<Type*> Elements, bool isPacked) { assert(isOpaque() && "Struct body already set!"); setSubclassData(getSubclassData() | SCDB_HasBody); if (isPacked) setSubclassData(getSubclassData() | SCDB_Packed); NumContainedTys = Elements.size(); if (Elements.empty()) { ContainedTys = nullptr; return; } ContainedTys = Elements.copy(getContext().pImpl->TypeAllocator).data(); }