about summary refs log tree commit diff
path: root/boot/tests/transpile/compound_assigns.cskt
diff options
context:
space:
mode:
Diffstat (limited to 'boot/tests/transpile/compound_assigns.cskt')
-rw-r--r--boot/tests/transpile/compound_assigns.cskt13
1 files changed, 9 insertions, 4 deletions
diff --git a/boot/tests/transpile/compound_assigns.cskt b/boot/tests/transpile/compound_assigns.cskt
index e480f31..607268f 100644
--- a/boot/tests/transpile/compound_assigns.cskt
+++ b/boot/tests/transpile/compound_assigns.cskt
@@ -1,5 +1,6 @@
-compound assigns are desugared during lowering so the c output
-only ever has plain assignments.
+compound assigns desugar to plain assignment + binary; increment
+and decrement (statement or expression position) keep their own
+ir node and emit `++` / `--` directly.
 
 <<<
 
@@ -10,6 +11,8 @@ main = fun () {
     x++
     x -= 3
     x--
+    var y int = x++
+    var z int = ++x
 }
 
 >>>
@@ -20,8 +23,10 @@ void catskill_main(void) {
     integer x = 0;
     x = x + 1;
     x = x * 2;
-    x = x + 1;
+    x++;
     x = x - 3;
-    x = x - 1;
+    x--;
+    integer y = x++;
+    integer z = ++x;
 }
 #include "runtime.c"