aboutsummaryrefslogtreecommitdiff
path: root/test/abi9.ssa
diff options
context:
space:
mode:
Diffstat (limited to 'test/abi9.ssa')
-rw-r--r--test/abi9.ssa20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/abi9.ssa b/test/abi9.ssa
new file mode 100644
index 0000000..cb70028
--- /dev/null
+++ b/test/abi9.ssa
@@ -0,0 +1,20 @@
+type :obj = { l, l, l, l }
+
+export
+function :obj $f(l %self) {
+@_0
+ %_1 =l alloc8 16
+ storel 77, %_1
+ ret %_1
+}
+
+# >>> driver
+# #include <stdio.h>
+# typedef struct { long long a, b, c, d; } obj;
+# extern obj f();
+# int main() { obj ret = f(); printf("%lld\n", ret.a); return 0; }
+# <<<
+
+# >>> output
+# 77
+# <<<