On 5/16/25 10:15 AM, Iain Sandoe wrote:
Hi Jason,

+       = build1_loc (loc, TRUTH_NOT_EXPR, boolean_type_node, iarc_x);
+      do_fr_cleanup = build2_loc (loc, TRUTH_AND_EXPR, boolean_type_node,
+                                 do_fr_cleanup, coro_before_return);

This also needs reversing (and similarly below).

Fixed.

+      tree fr_cleanup_if = begin_if_stmt ();
+      finish_if_stmt_cond (do_fr_cleanup, fr_cleanup_if);
+      finish_expr_stmt (delete_frame_call);
+      finish_then_clause (fr_cleanup_if);
+      finish_if_stmt (fr_cleanup_if);

You could build a COND_EXPR instead of taking several statements to build an 
IF_STMT?  i.e.

frame_cleanup = build3 (COND_EXPR, void_type_node, fr_cleanup_if,
                       delete_frame_call, void_node);

done.

OK for trunk now?
thanks
Iain

+  /* deref the frame pointer, to use in member access code.  */

Let's capitalize this comment while we're moving it.  OK with that tweak.

Jason

Reply via email to