aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-17 11:51:05 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-17 11:51:05 +0100
commit1dc6302f5fa6fc4fb00d478d245e6e28ee97c89b (patch)
tree7297ca25e2626a40216dadb53752d4fae73877ae /src/test/java
parent6a3eb6a781f232614d96e60336893b5b51b75715 (diff)
Convert closure to int
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java
index 40143dce..95b6ed42 100644
--- a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java
+++ b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java
@@ -60,10 +60,11 @@ public class LlvmCompilerDefineFunctionTests {
%size__0 = ptrtoint {i64 ([0 x i64] *) *, [0 x i64]} * %size_ptr__0 to i64
%closurePointer__0 = call {i64 ([0 x i64] *) *, [0 x i64]} * @shed__runtime__alloc(i64 %size__0)
%closureFunctionPointerPointer__0 = getelementptr {i64 ([0 x i64] *) *, [0 x i64]}, ptr %closurePointer__0, i64 0, i32 0
- store i64 ([0 x i64] *) * @shed__fun__f__0, i64 ([0 x i64] *) * * %closureFunctionPointerPointer__0"""));
+ store i64 ([0 x i64] *) * @shed__fun__f__0, i64 ([0 x i64] *) * * %closureFunctionPointerPointer__0
+ %closureValue__0 = ptrtoint {i64 ([0 x i64] *) *, [0 x i64]} * %closurePointer__0 to i64"""));
assertThat(result.stack(), isSequence(
- isLlvmVariableLocal("closurePointer__0")
+ isLlvmVariableLocal("closureValue__0")
));
assertThat(result.locals().entrySet(), isSequence());
}
@@ -114,10 +115,11 @@ public class LlvmCompilerDefineFunctionTests {
%closureEnvironmentPointer__0 = getelementptr {i64 ([2 x i64] *) *, [2 x i64]}, ptr %closurePointer__0, i64 0, i32 1, i64 0
store i64 1, i64 * %closureEnvironmentPointer__0
%closureEnvironmentPointer__1 = getelementptr {i64 ([2 x i64] *) *, [2 x i64]}, ptr %closurePointer__0, i64 0, i32 1, i64 1
- store i64 2, i64 * %closureEnvironmentPointer__1"""));
+ store i64 2, i64 * %closureEnvironmentPointer__1
+ %closureValue__0 = ptrtoint {i64 ([2 x i64] *) *, [2 x i64]} * %closurePointer__0 to i64"""));
assertThat(result.stack(), isSequence(
- isLlvmVariableLocal("closurePointer__0")
+ isLlvmVariableLocal("closureValue__0")
));
}