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

Roger Sayle <roger at nextmovesoftware dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c                           |tree-optimization

--- Comment #3 from Roger Sayle <roger at nextmovesoftware dot com> ---
The call to gimplify_expr on line 651 of gimplify.cc (in internal_get_tmp_var)
doesn't check its return value, which for this test case is GS_ERROR.
It looks like internal_get_tmp_var's callers don't expect that it could ever
fail, so it's unclear whether returning NULL_RTX or error_mark_node would be
safe.
One approach might be to record the original type of val (which gets turned
into error_mark_node by the failing gimplify_expr call), then use this type to
call make_ssa_name if things have gone wrong [an uninitialized SSA name may
cause fewer downstream issues than an error_mark_node].

Reply via email to