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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Btw, the issue for the original testcase is that we run into

static void
c_parser_gimple_statement (gimple_parser &parser, gimple_seq *seq)
{
...
  /* GIMPLE call statement without LHS.  */
  if (c_parser_next_token_is (parser, CPP_SEMICOLON)
      && TREE_CODE (lhs.value) == CALL_EXPR)
    {
      gimple *call;
      call = gimple_build_call_from_tree (lhs.value, NULL);
      gimple_seq_add_stmt_without_update (seq, call);
      gimple_set_location (call, loc);
      return;

and the C FE hands us back a non-error CALL_EXPR with an error_mark_node
argument.  Usually those get "cleaned out" during gimplification but here
it prevails.

Reply via email to