compiler: Updates for LLVM/Clang 20 API changes.

This commit is contained in:
Alex Rønne Petersen
2025-02-05 11:41:39 +01:00
parent 156ab87500
commit 8ea2e1ded5
8 changed files with 151 additions and 28 deletions

View File

@@ -1053,7 +1053,11 @@ pub const Object = struct {
.is_small = options.is_small,
.time_report = options.time_report,
.tsan = options.sanitize_thread,
.lto = options.lto != .none,
.lto = switch (options.lto) {
.none => .None,
.thin => .ThinPreLink,
.full => .FullPreLink,
},
// https://github.com/ziglang/zig/issues/21215
.allow_fast_isel = !comp.root_mod.resolved_target.result.cpu.arch.isMIPS(),
.asm_filename = null,

View File

@@ -90,7 +90,7 @@ pub const TargetMachine = opaque {
time_report: bool,
tsan: bool,
sancov: bool,
lto: bool,
lto: LtoPhase,
allow_fast_isel: bool,
asm_filename: ?[*:0]const u8,
bin_filename: ?[*:0]const u8,
@@ -98,6 +98,14 @@ pub const TargetMachine = opaque {
bitcode_filename: ?[*:0]const u8,
coverage: Coverage,
pub const LtoPhase = enum(c_int) {
None,
ThinPreLink,
ThinPostLink,
FullPreLink,
FullPostLink,
};
pub const Coverage = extern struct {
CoverageType: Coverage.Type,
IndirectCalls: bool,