summaryrefslogtreecommitdiff
path: root/tests/features/test_asm_clobber.zc
diff options
context:
space:
mode:
authorZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-02-01 11:19:34 +0000
committerZuhaitz Méndez Fernández de Aránguiz <zuhaitz@debian>2026-02-01 11:19:34 +0000
commitf14c26996e2f69aaa25e284dd40320f9c00079e3 (patch)
tree7e93f1fe2ef2bbd82c16169bdfa46594b68c4f76 /tests/features/test_asm_clobber.zc
parentaafd7e8739b14dd89b2e81148f2b07710f3c2c42 (diff)
Fix for #167
Diffstat (limited to 'tests/features/test_asm_clobber.zc')
-rw-r--r--tests/features/test_asm_clobber.zc20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/features/test_asm_clobber.zc b/tests/features/test_asm_clobber.zc
new file mode 100644
index 0000000..2ba74da
--- /dev/null
+++ b/tests/features/test_asm_clobber.zc
@@ -0,0 +1,20 @@
+fn add(a: int, b: int) -> int {
+ let result: int;
+ asm {
+ "mov {a}, {result}"
+ "add {b}, {result}"
+ : out(result)
+ : in(a), in(b)
+ : clobber("cc")
+ }
+ return result;
+}
+
+test "asm_clobber" {
+ let res = add(10, 20);
+ if (res != 30) {
+ println "Failed: Expected 30, got {res}";
+ exit(1);
+ }
+ println "Success: asm with clobber works properly";
+}