From 2a893246711442dd8407264c05991b44d1d1f66f Mon Sep 17 00:00:00 2001 From: Mel Date: Sun, 24 May 2026 20:14:29 +0200 Subject: Emit IR/C increment/decrement in expression position Signed-off-by: Mel --- boot/tests/lower/c_for_loop.cskt | 2 +- boot/tests/lower/while_loop.cskt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'boot/tests/lower') diff --git a/boot/tests/lower/c_for_loop.cskt b/boot/tests/lower/c_for_loop.cskt index 98d78f0..0006ca3 100644 --- a/boot/tests/lower/c_for_loop.cskt +++ b/boot/tests/lower/c_for_loop.cskt @@ -28,7 +28,7 @@ main = fun () { (declaration i (ref int) (initializer (expr 0))) (loop (condition (expr (binary < (expr (name i)) (expr 10)))) (block (declaration x (ref int) (initializer (expr (name i)))) - (assign (expr (name i)) (expr (binary + (expr (name i)) (expr 1)))) + (expression-stmt (expr (postfix-++ (expr (name i))))) )) ) ))) diff --git a/boot/tests/lower/while_loop.cskt b/boot/tests/lower/while_loop.cskt index b191df5..38f8609 100644 --- a/boot/tests/lower/while_loop.cskt +++ b/boot/tests/lower/while_loop.cskt @@ -1,7 +1,7 @@ while loops are 1:1 with the intermediate representation's single loop kind. -compound assignments desugar into a simple pair of a simple -assignment and binary operation. +increment/decrement statements lower to an expression statement +wrapping the dedicated inc/dec ir node. <<< @@ -28,7 +28,7 @@ main = fun () { (function 0 main main (returns (ref void)) (block (declaration i (ref int) (initializer (expr 0))) (loop (condition (expr (binary < (expr (name i)) (expr 10)))) (block - (assign (expr (name i)) (expr (binary + (expr (name i)) (expr 1)))) + (expression-stmt (expr (postfix-++ (expr (name i))))) )) ))) (emission_order 0 1 2 3 4 5 6 7)) -- cgit 1.4.1