compiler-rt: better way to do the ABI required on Windows
This removes the compiler_rt.setXmm0 hack. Instead, for the functions that use i128 or u128 in their parameter and return types, we use `@Vector(2, u64)` which generates the LLVM IR `<2 x i64>` type that matches what Clang generates for `typedef int ti_int __attribute__ ((mode (TI)))` when targeting Windows x86_64.
This commit is contained in:
@@ -424,7 +424,7 @@ static uint32_t get_err_ret_trace_arg_index(CodeGen *g, ZigFn *fn_table_entry) {
|
||||
}
|
||||
|
||||
static void maybe_export_dll(CodeGen *g, LLVMValueRef global_value, GlobalLinkageId linkage) {
|
||||
if (linkage != GlobalLinkageIdInternal && g->zig_target->os == OsWindows) {
|
||||
if (linkage != GlobalLinkageIdInternal && g->zig_target->os == OsWindows && g->is_dynamic) {
|
||||
LLVMSetDLLStorageClass(global_value, LLVMDLLExportStorageClass);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user