mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-05-21 16:41:56 +03:00
std.Target.maxIntAlignment: move to compiler implementation
This should not be a public API, and the x86 backend does not support the value 16.
This commit is contained in:
@@ -1312,10 +1312,10 @@ pub const Pool = struct {
|
||||
},
|
||||
else => {
|
||||
const target = &mod.resolved_target.result;
|
||||
const abi_align = Type.intAbiAlignment(int_info.bits, target.*);
|
||||
const abi_align = Type.intAbiAlignment(int_info.bits, target.*, false);
|
||||
const abi_align_bytes = abi_align.toByteUnits().?;
|
||||
const array_ctype = try pool.getArray(allocator, .{
|
||||
.len = @divExact(Type.intAbiSize(int_info.bits, target.*), abi_align_bytes),
|
||||
.len = @divExact(Type.intAbiSize(int_info.bits, target.*, false), abi_align_bytes),
|
||||
.elem_ctype = try pool.fromIntInfo(allocator, .{
|
||||
.signedness = .unsigned,
|
||||
.bits = @intCast(abi_align_bytes * 8),
|
||||
@@ -1443,7 +1443,7 @@ pub const Pool = struct {
|
||||
.name = .{ .index = .len },
|
||||
.ctype = CType.usize,
|
||||
.alignas = AlignAs.fromAbiAlignment(
|
||||
Type.intAbiAlignment(target.ptrBitWidth(), target.*),
|
||||
Type.intAbiAlignment(target.ptrBitWidth(), target.*, false),
|
||||
),
|
||||
},
|
||||
};
|
||||
@@ -1545,7 +1545,7 @@ pub const Pool = struct {
|
||||
.name = .{ .index = .len },
|
||||
.ctype = CType.usize,
|
||||
.alignas = AlignAs.fromAbiAlignment(
|
||||
Type.intAbiAlignment(target.ptrBitWidth(), target.*),
|
||||
Type.intAbiAlignment(target.ptrBitWidth(), target.*, false),
|
||||
),
|
||||
},
|
||||
};
|
||||
@@ -1665,7 +1665,7 @@ pub const Pool = struct {
|
||||
.name = .{ .index = .@"error" },
|
||||
.ctype = error_set_ctype,
|
||||
.alignas = AlignAs.fromAbiAlignment(
|
||||
Type.intAbiAlignment(error_set_bits, target.*),
|
||||
Type.intAbiAlignment(error_set_bits, target.*, false),
|
||||
),
|
||||
},
|
||||
.{
|
||||
|
||||
@@ -609,7 +609,7 @@ const DataLayoutBuilder = struct {
|
||||
switch (kind) {
|
||||
.integer => {
|
||||
if (self.target.ptrBitWidth() <= 16 and size >= 128) return;
|
||||
abi = @min(abi, self.target.maxIntAlignment() * 8);
|
||||
abi = @min(abi, Type.maxIntAlignment(self.target, true) * 8);
|
||||
switch (self.target.cpu.arch) {
|
||||
.aarch64,
|
||||
.aarch64_be,
|
||||
|
||||
Reference in New Issue
Block a user