std.Target: Treat spirv as identical to spirv64 for ABI size/alignment purposes.

This is arbitrary since spirv (as opposed to spirv32/spirv64) refers to the
version with logical memory layout, i.e. no 'real' pointers. This change at
least matches what clang does.
This commit is contained in:
Alex Rønne Petersen 2024-08-06 19:48:01 +02:00
parent 231f322a65
commit 23b5a6c71e
No known key found for this signature in database

View File

@ -1875,11 +1875,10 @@ pub fn ptrBitWidth_cpu_abi(cpu: Cpu, abi: Abi) u16 {
.sparc64, .sparc64,
.s390x, .s390x,
.ve, .ve,
.spirv,
.spirv64, .spirv64,
.loongarch64, .loongarch64,
=> 64, => 64,
.spirv => @panic("TODO what should this value be?"),
}; };
} }
@ -2359,6 +2358,7 @@ pub fn c_type_alignment(target: Target, c_type: CType) u16 {
.nvptx, .nvptx,
.nvptx64, .nvptx64,
.s390x, .s390x,
.spirv,
.spirv32, .spirv32,
.spirv64, .spirv64,
=> 8, => 8,
@ -2380,8 +2380,6 @@ pub fn c_type_alignment(target: Target, c_type: CType) u16 {
.wasm32, .wasm32,
.wasm64, .wasm64,
=> 16, => 16,
.spirv => @panic("TODO what should this value be?"),
}), }),
); );
} }
@ -2471,6 +2469,7 @@ pub fn c_type_preferred_alignment(target: Target, c_type: CType) u16 {
.nvptx, .nvptx,
.nvptx64, .nvptx64,
.s390x, .s390x,
.spirv,
.spirv32, .spirv32,
.spirv64, .spirv64,
=> 8, => 8,
@ -2492,8 +2491,6 @@ pub fn c_type_preferred_alignment(target: Target, c_type: CType) u16 {
.wasm32, .wasm32,
.wasm64, .wasm64,
=> 16, => 16,
.spirv => @panic("TODO what should this value be?"),
}), }),
); );
} }