https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80386

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think the bug has been introduced during C++ delayed folding, the
associate:
code in fold_binary_loc seems to heavily assume that the arguments have been
folded already, but that is not the case here, the C++ FE doesn't want to fold
things early, but when it calls save_expr, it unfortunately does that:

3339    tree
3340    save_expr (tree expr)
3341    {
3342      tree t = fold (expr);
3343      tree inner;

So, wonder if we just shouldn't get rid of of the fold call in there, I think
it isn't that useful if the arguments aren't folded anyway and fold is not
recursive, only cp_fold or c_fully_fold is.

Reply via email to