llvm 21 support

This commit is contained in:
Laytan
2025-10-14 19:55:00 +02:00
parent 78e9a22ffa
commit e7ecb16a1e
10 changed files with 620 additions and 85 deletions

View File

@@ -144,7 +144,11 @@ gb_internal void lb_add_function_type_attributes(LLVMValueRef fn, lbFunctionType
LLVMContextRef c = ft->ctx;
LLVMAttributeRef noalias_attr = lb_create_enum_attribute(c, "noalias");
LLVMAttributeRef nonnull_attr = lb_create_enum_attribute(c, "nonnull");
#if LLVM_VERSION_MAJOR >= 21
LLVMAttributeRef nocapture_attr = lb_create_string_attribute(c, make_string_c("captures"), make_string_c("none"));
#else
LLVMAttributeRef nocapture_attr = lb_create_enum_attribute(c, "nocapture");
#endif
unsigned arg_index = offset;
for (unsigned i = 0; i < arg_count; i++) {