https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111357
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Seems when expand_integer_pack is called first time, ohi is TEMPLATE_PARAMETER_INDEX with the right type (_Tp TEMPLATE_TYPE_PARM), but when it calls tree hi = tsubst_copy_and_build (ohi, args, complain, in_decl); it returns an empty CONSTRUCTOR with c1 type. Dunno if the bug is that tsubst didn't convert it to _Tp type or if it would be normally a task for something done later on. And we then if (hi != ohi) { call = copy_node (call); CALL_EXPR_ARG (call, 0) = hi; }