aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_expr.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2024-11-27 21:15:59 +0000
committerGitHub <noreply@github.com>2024-11-27 21:15:59 +0000
commit44124cb639a198092204a0167ef827ea41ad023e (patch)
tree62a0994ae3b9aaea2f1bc390550f40229a7efd9d /src/llvm_backend_expr.cpp
parentfa39d87f88b3a6443dace7351af82d981a3ba6f4 (diff)
parentd04ff6951a194082df6c64a39bae4010e659d9c0 (diff)
Merge pull request #4440 from 0dminnimda/support_llvm19
Add support for llvm version 19
Diffstat (limited to 'src/llvm_backend_expr.cpp')
-rw-r--r--src/llvm_backend_expr.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/llvm_backend_expr.cpp b/src/llvm_backend_expr.cpp
index 80c469ae6..1247eed76 100644
--- a/src/llvm_backend_expr.cpp
+++ b/src/llvm_backend_expr.cpp
@@ -4574,7 +4574,11 @@ gb_internal lbAddr lb_build_addr_compound_lit(lbProcedure *p, Ast *expr) {
auto const &f = fields[i];
LLVMValueRef mask = LLVMConstInt(lit, 1, false);
- mask = LLVMConstShl(mask, LLVMConstInt(lit, f.bit_size, false));
+ #if LLVM_VERSION_MAJOR >= 19
+ mask = LLVMBuildShl(p->builder, mask, LLVMConstInt(lit, f.bit_size, false), "");
+ #else
+ mask = LLVMConstShl(mask, LLVMConstInt(lit, f.bit_size, false));
+ #endif
mask = LLVMConstSub(mask, LLVMConstInt(lit, 1, false));
LLVMValueRef elem = values[i].value;
@@ -4622,7 +4626,11 @@ gb_internal lbAddr lb_build_addr_compound_lit(lbProcedure *p, Ast *expr) {
bits_to_set -= mask_width;
LLVMValueRef mask = LLVMConstInt(vt, 1, false);
- mask = LLVMConstShl(mask, LLVMConstInt(vt, mask_width, false));
+ #if LLVM_VERSION_MAJOR >= 19
+ mask = LLVMBuildShl(p->builder, mask, LLVMConstInt(vt, mask_width, false), "");
+ #else
+ mask = LLVMConstShl(mask, LLVMConstInt(vt, mask_width, false));
+ #endif
mask = LLVMConstSub(mask, LLVMConstInt(vt, 1, false));
LLVMValueRef to_set = LLVMBuildAnd(p->builder, val, mask, "");