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

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

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

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The change makes the STATEMENT_LIST non-TREE_SIDE_EFFECTS, so that it doesn't
cause -fcompare-debug failures.  Unfortunately, for the OBJ_TYPE_REF the tree
is used twice, once in OBJ_TYPE_REF's second operand and once as the first
argument of the call; because of the missing TREE_SIDE_EFFECTs save_expr isn't
called on it (that would cause -fcompare-debug too), unshare_body doesn't
unshare STATEMENT_EXPRs and as gimplification is destructive, this means that
when we gimplify it once, we voidify it and destroy and the next time we
gimplify it we ICE because it has void type.
I'm afraid I don't really have a good solution here.

Reply via email to