From dbed2c92b4aa9cbda07d6a6809810e650ddcf6a1 Mon Sep 17 00:00:00 2001 From: 0dminnimda <0dminnimda@gmail.com> Date: Thu, 31 Oct 2024 15:56:23 +0300 Subject: Add support for llvm version 19 --- src/llvm_backend_expr.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/llvm_backend_expr.cpp') diff --git a/src/llvm_backend_expr.cpp b/src/llvm_backend_expr.cpp index b5f6437a4..4fab1a092 100644 --- a/src/llvm_backend_expr.cpp +++ b/src/llvm_backend_expr.cpp @@ -4594,7 +4594,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; @@ -4642,7 +4646,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, ""); -- cgit v1.2.3