Skip to content

Commit 1e563d5

Browse files
committed
llvm: Set target-abi module flag.
LLVM is increasingly making use of this module flag when present.
1 parent cf8a7a6 commit 1e563d5

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/codegen/llvm.zig

+11-1
Original file line numberDiff line numberDiff line change
@@ -1110,14 +1110,24 @@ pub const Object = struct {
11101110
}
11111111

11121112
{
1113-
var module_flags = try std.ArrayList(Builder.Metadata).initCapacity(o.gpa, 7);
1113+
var module_flags = try std.ArrayList(Builder.Metadata).initCapacity(o.gpa, 8);
11141114
defer module_flags.deinit();
11151115

11161116
const behavior_error = try o.builder.metadataConstant(try o.builder.intConst(.i32, 1));
11171117
const behavior_warning = try o.builder.metadataConstant(try o.builder.intConst(.i32, 2));
11181118
const behavior_max = try o.builder.metadataConstant(try o.builder.intConst(.i32, 7));
11191119
const behavior_min = try o.builder.metadataConstant(try o.builder.intConst(.i32, 8));
11201120

1121+
if (target_util.llvmMachineAbi(comp.root_mod.resolved_target.result)) |abi| {
1122+
module_flags.appendAssumeCapacity(try o.builder.metadataModuleFlag(
1123+
behavior_error,
1124+
try o.builder.metadataString("target-abi"),
1125+
try o.builder.metadataConstant(
1126+
try o.builder.stringConst(try o.builder.string(abi)),
1127+
),
1128+
));
1129+
}
1130+
11211131
const pic_level = target_util.picLevel(comp.root_mod.resolved_target.result);
11221132
if (comp.root_mod.pic) {
11231133
module_flags.appendAssumeCapacity(try o.builder.metadataModuleFlag(

0 commit comments

Comments
 (0)