https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80136
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Christophe Lyon from comment #12) > Following Jakub's recommendation, I applied this: > > diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c > index 18dd972..edf47d1 100644 > --- a/gcc/tree-stdarg.c > +++ b/gcc/tree-stdarg.c > @@ -1061,8 +1061,7 @@ expand_ifn_va_arg_1 (function *fun) > else > { > gimple_seq tmp_seq; > - force_gimple_operand (expr, &tmp_seq, false, NULL_TREE); > - gimple_seq_add_seq_without_update (&pre, tmp_seq); > + gimplify_and_add (expr, &pre); > } > > input_location = saved_location; > > on top of r246319 (that is, before you reverted it). > > and my build now completes. I didn't run make-check though. That is strange. I'd expect a warning turned into error about unused tmp_seq. You want to replace the whole else { ... } with else gimplify_and_add (expr, &pre);