about summary refs log tree commit diff
path: root/boot/tests
diff options
context:
space:
mode:
Diffstat (limited to 'boot/tests')
-rw-r--r--boot/tests/transpile/expressions.cskt9
1 files changed, 9 insertions, 0 deletions
diff --git a/boot/tests/transpile/expressions.cskt b/boot/tests/transpile/expressions.cskt
index c127b9a..0ca3c01 100644
--- a/boot/tests/transpile/expressions.cskt
+++ b/boot/tests/transpile/expressions.cskt
@@ -1,5 +1,8 @@
 precedence-aware expression emission only inserts parentheses when the
 child binds more loosely than the parent expects.
+`**` has no c equivalent and is routed through the integer-power
+runtime helper, with right-associative chaining preserved by the
+recursive expansion of the call arguments.
 
 <<<
 
@@ -10,6 +13,9 @@ main = fun () {
     var d int = 10 - (4 - 1)
     var e int = -1 + 2
     var f bool = a == b && c != 0 || d > 0
+    var g int = 2 ** 10
+    var h int = 2 ** 2 ** 3
+    var i int = 1 + 2 ** 3
 }
 
 >>>
@@ -23,5 +29,8 @@ void catskill_main(void) {
     integer d = 10 - (4 - 1);
     integer e = -1 + 2;
     bool f = a == b && c != 0 || d > 0;
+    integer g = pow_integer(2, 10);
+    integer h = pow_integer(2, pow_integer(2, 3));
+    integer i = 1 + pow_integer(2, 3);
 }
 #include "runtime.c"