================
@@ -1981,8 +1983,16 @@ static ExtractedTypeTraitInfo
ExtractTypeTraitFromExpression(const Expr *E) {
Trait = StdNameToTypeTrait(Name);
if (!Trait)
return std::nullopt;
- for (const auto &Arg : VD->getTemplateArgs().asArray())
- Args.push_back(Arg.getAsType());
+ for (const auto &Arg : VD->getTemplateArgs().asArray()) {
+ if (Arg.getKind() == TemplateArgument::ArgKind::Pack) {
+ for (const auto &InnerArg : Arg.pack_elements())
+ Args.push_back(InnerArg.getAsType());
+ } else if (Arg.getKind() == TemplateArgument::ArgKind::Type)
+ Args.push_back(Arg.getAsType());
+ assert((Arg.getKind() == TemplateArgument::ArgKind::Type ||
----------------
egorshamshura wrote:
changed assert to llvm_unreachable
https://github.com/llvm/llvm-project/pull/143309
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits