diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-17 11:51:05 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-17 11:51:05 +0100 |
| commit | 1dc6302f5fa6fc4fb00d478d245e6e28ee97c89b (patch) | |
| tree | 7297ca25e2626a40216dadb53752d4fae73877ae /src/test/java | |
| parent | 6a3eb6a781f232614d96e60336893b5b51b75715 (diff) | |
Convert closure to int
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/llvm/LlvmCompilerDefineFunctionTests.java | 10 |
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") )); } |
