https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80536
--- Comment #17 from Marek Polacek <mpolacek at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #16) > (In reply to Marek Polacek from comment #15) > > In C I don't think so, because we mostly call c_save_expr and c_fully_fold > > therein would fold that expression to 0. And when we call save_expr, it's > > Yeah, I know that, and I think it is a serious bug. With the c_fully_fold > in c_save_expr the C FE is not doing anything close to delayed folding, it > folds immediately whenever we might need a save_expr, the old trees gone. > So I think it would be nice to kill c_save_expr, just use save_expr, and let > c_fully_fold fold SAVE_EXPR operand (just once, not many times). I agree. I'll try (guess we'll need the fold cache). That can be a separate project, though.