stage1: fix i386-windows f80 sizeof/alignof

This commit is contained in:
Andrew Kelley
2022-04-27 22:57:12 -07:00
parent f7f03c699d
commit 9d098657a0
2 changed files with 5 additions and 8 deletions

View File

@@ -9586,10 +9586,13 @@ static void define_builtin_types(CodeGen *g) {
switch (g->zig_target->arch) {
case ZigLLVM_x86:
case ZigLLVM_x86_64:
if (g->zig_target->abi != ZigLLVM_MSVC)
if (g->zig_target->abi != ZigLLVM_MSVC) {
add_fp_entry(g, "c_longdouble", 80, LLVMX86FP80Type(), &g->builtin_types.entry_c_longdouble);
else
g->builtin_types.entry_c_longdouble->abi_size = g->builtin_types.entry_f80->abi_size;
g->builtin_types.entry_c_longdouble->abi_align = g->builtin_types.entry_f80->abi_align;
} else {
add_fp_entry(g, "c_longdouble", 64, LLVMDoubleType(), &g->builtin_types.entry_c_longdouble);
}
break;
case ZigLLVM_arm:
case ZigLLVM_armeb:

View File

@@ -1416,12 +1416,6 @@ test "fabs" {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage1 and builtin.os.tag == .windows and
builtin.cpu.arch == .i386)
{
return error.SkipZigTest;
}
inline for ([_]type{ f16, f32, f64, f80, f128, c_longdouble }) |T| {
// normals
try expect(@fabs(@as(T, 1.0)) == 1.0);