https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104031
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Reduced testcase without any headers: struct vector { vector(){} ~vector(){} }; struct Info { vector args; int arity = 0; }; struct RegisterPrimOp { [[gnu::noipa, gnu::noinline]] RegisterPrimOp(Info info) { if (info.arity != 0) __builtin_trap(); } }; static RegisterPrimOp s_op({ .args = vector{}, .arity = 0, }); int main() {}