mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-26 13:01:34 +03:00
zig cc: define __CRT__NO_INLINE for MinGW-w64 targets
See added comment for why.
This commit is contained in:
@@ -6362,6 +6362,13 @@ fn addCommonCCArgs(
|
||||
try argv.append(
|
||||
try std.fmt.allocPrint(arena, "-D_WIN32_WINNT=0x{x:0>4}", .{minver}),
|
||||
);
|
||||
|
||||
// MinGW-w64's inline functions in headers (e.g. `fabs`), which are emitted with `linkonce_odr`
|
||||
// linkage, sometimes cause duplicate symbol errors due to us providing the same symbols with
|
||||
// `weak` linkage in compiler-rt or libzigc. So just disable them. Besides, they undermine the
|
||||
// goal of moving more libc code to Zig, and they're also just kind of unnecessary since LLVM is
|
||||
// perfectly capable of recognizing and optimizing libcalls.
|
||||
try argv.append("-D__CRT__NO_INLINE");
|
||||
} else if (target.isFreeBSDLibC()) {
|
||||
// https://docs.freebsd.org/en/books/porters-handbook/versions
|
||||
const min_ver = target.os.version_range.semver.min;
|
||||
|
||||
Reference in New Issue
Block a user