Export MSVC builtins inconditionally
parent
ae31da9334
commit
3247fd7862
|
@ -240,6 +240,15 @@ comptime {
|
||||||
@export(@import("compiler_rt/arm/aeabi_dcmp.zig").__aeabi_dcmpgt, .{ .name = "__aeabi_dcmpgt", .linkage = linkage });
|
@export(@import("compiler_rt/arm/aeabi_dcmp.zig").__aeabi_dcmpgt, .{ .name = "__aeabi_dcmpgt", .linkage = linkage });
|
||||||
@export(@import("compiler_rt/compareXf2.zig").__aeabi_dcmpun, .{ .name = "__aeabi_dcmpun", .linkage = linkage });
|
@export(@import("compiler_rt/compareXf2.zig").__aeabi_dcmpun, .{ .name = "__aeabi_dcmpun", .linkage = linkage });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (builtin.arch == .i386 and builtin.abi == .msvc) {
|
||||||
|
// Don't let LLVM apply the stdcall name mangling on those MSVC builtins
|
||||||
|
@export(@import("compiler_rt/aulldiv.zig")._alldiv, .{ .name = "\x01__alldiv", .linkage = strong_linkage });
|
||||||
|
@export(@import("compiler_rt/aulldiv.zig")._aulldiv, .{ .name = "\x01__aulldiv", .linkage = strong_linkage });
|
||||||
|
@export(@import("compiler_rt/aullrem.zig")._allrem, .{ .name = "\x01__allrem", .linkage = strong_linkage });
|
||||||
|
@export(@import("compiler_rt/aullrem.zig")._aullrem, .{ .name = "\x01__aullrem", .linkage = strong_linkage });
|
||||||
|
}
|
||||||
|
|
||||||
if (builtin.os == .windows) {
|
if (builtin.os == .windows) {
|
||||||
// Default stack-probe functions emitted by LLVM
|
// Default stack-probe functions emitted by LLVM
|
||||||
if (is_mingw) {
|
if (is_mingw) {
|
||||||
|
@ -258,13 +267,6 @@ comptime {
|
||||||
|
|
||||||
switch (builtin.arch) {
|
switch (builtin.arch) {
|
||||||
.i386 => {
|
.i386 => {
|
||||||
// Don't let LLVM apply the stdcall name mangling on those MSVC
|
|
||||||
// builtin functions
|
|
||||||
@export(@import("compiler_rt/aulldiv.zig")._alldiv, .{ .name = "\x01__alldiv", .linkage = strong_linkage });
|
|
||||||
@export(@import("compiler_rt/aulldiv.zig")._aulldiv, .{ .name = "\x01__aulldiv", .linkage = strong_linkage });
|
|
||||||
@export(@import("compiler_rt/aullrem.zig")._allrem, .{ .name = "\x01__allrem", .linkage = strong_linkage });
|
|
||||||
@export(@import("compiler_rt/aullrem.zig")._aullrem, .{ .name = "\x01__aullrem", .linkage = strong_linkage });
|
|
||||||
|
|
||||||
@export(@import("compiler_rt/divti3.zig").__divti3, .{ .name = "__divti3", .linkage = linkage });
|
@export(@import("compiler_rt/divti3.zig").__divti3, .{ .name = "__divti3", .linkage = linkage });
|
||||||
@export(@import("compiler_rt/modti3.zig").__modti3, .{ .name = "__modti3", .linkage = linkage });
|
@export(@import("compiler_rt/modti3.zig").__modti3, .{ .name = "__modti3", .linkage = linkage });
|
||||||
@export(@import("compiler_rt/multi3.zig").__multi3, .{ .name = "__multi3", .linkage = linkage });
|
@export(@import("compiler_rt/multi3.zig").__multi3, .{ .name = "__multi3", .linkage = linkage });
|
||||||
|
@ -299,16 +301,12 @@ comptime {
|
||||||
@export(@import("compiler_rt/mulodi4.zig").__mulodi4, .{ .name = "__mulodi4", .linkage = linkage });
|
@export(@import("compiler_rt/mulodi4.zig").__mulodi4, .{ .name = "__mulodi4", .linkage = linkage });
|
||||||
}
|
}
|
||||||
|
|
||||||
const std = @import("std");
|
|
||||||
const assert = std.debug.assert;
|
|
||||||
const testing = std.testing;
|
|
||||||
|
|
||||||
// Avoid dragging in the runtime safety mechanisms into this .o file,
|
// Avoid dragging in the runtime safety mechanisms into this .o file,
|
||||||
// unless we're trying to test this file.
|
// unless we're trying to test this file.
|
||||||
pub fn panic(msg: []const u8, error_return_trace: ?*builtin.StackTrace) noreturn {
|
pub fn panic(msg: []const u8, error_return_trace: ?*builtin.StackTrace) noreturn {
|
||||||
@setCold(true);
|
@setCold(true);
|
||||||
if (is_test) {
|
if (is_test) {
|
||||||
std.debug.panic("{}", .{msg});
|
@import("std").debug.panic("{}", .{msg});
|
||||||
} else {
|
} else {
|
||||||
unreachable;
|
unreachable;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue