diff options
| author | Baitinq <[email protected]> | 2025-04-02 22:37:48 +0200 |
|---|---|---|
| committer | Baitinq <[email protected]> | 2025-04-02 23:27:47 +0200 |
| commit | 05eff82d55c817ed30f38fa2a4e00dc87b299a21 (patch) | |
| tree | 072c0eb881a9f49ee796f53786345c88be33f342 /src | |
| parent | Feature: Start adding support for assigning to pointers with arithmetic (diff) | |
| download | interpreter-05eff82d55c817ed30f38fa2a4e00dc87b299a21.tar.gz interpreter-05eff82d55c817ed30f38fa2a4e00dc87b299a21.tar.bz2 interpreter-05eff82d55c817ed30f38fa2a4e00dc87b299a21.zip | |
Codegen: Fix GEP type
Diffstat (limited to 'src')
| -rw-r--r-- | src/codegen.zig | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index d6b3e98..77f5ea3 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -430,8 +430,7 @@ pub const CodeGen = struct { var result: llvm.LLVMValueRef = undefined; if (exp.addition) { if (llvm.LLVMGetTypeKind(lhs_value.type.?) == llvm.LLVMPointerTypeKind) { - const indices = [_]llvm.LLVMValueRef{rhs_value.value}; - result = llvm.LLVMBuildGEP2(self.builder, llvm.LLVMInt8Type(), lhs_value.value, @constCast(&indices), indices.len, ""); + result = llvm.LLVMBuildGEP2(self.builder, rhs_value.type, lhs_value.value, @constCast(&[_]llvm.LLVMValueRef{rhs_value.value}), 1, ""); } else { result = llvm.LLVMBuildAdd(self.builder, lhs_value.value, rhs_value.value, "") orelse return CodeGenError.CompilationError; } |