https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99989
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- So perhaps just: --- gcc/gimple-ssa-warn-alloca.c.jj 2021-01-04 10:25:38.892233156 +0100 +++ gcc/gimple-ssa-warn-alloca.c 2021-04-09 12:46:27.466847728 +0200 @@ -124,9 +124,8 @@ public: alloca_type_and_limit (enum alloca_type type, wide_int i) : type(type), limit(i) { } alloca_type_and_limit (enum alloca_type type) : type(type) - { if (type == ALLOCA_BOUND_MAYBE_LARGE - || type == ALLOCA_BOUND_DEFINITELY_LARGE) - limit = wi::to_wide (integer_zero_node); + { + limit = wi::to_wide (integer_zero_node); } }; in this case? Explicitly trying to have limit member conditionally uninitialized seems like a bad idea to me.