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

--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
This

void fn1 ()
{
  L: goto *&&L;
}

doesn't ICE because we handle the goto here
11406         case GOTO_EXPR:
11407           /* If the target is not LABEL, then it is a computed jump
11408              and the target needs to be gimplified.  */
11409           if (TREE_CODE (GOTO_DESTINATION (*expr_p)) != LABEL_DECL)
11410             {
11411               ret = gimplify_expr (&GOTO_DESTINATION (*expr_p), pre_p,
11412                                    NULL, is_gimple_val, fb_rvalue);

notice the fb_rvalue, so then we won't reach the switch in Comment 3.

Reply via email to