authorgravatar for kcbanner@gmail.comCasey Banner <kcbanner@gmail.com> 2023-01-21 02:22:40-05:00
committergravatar for kcbanner@gmail.comCasey Banner <kcbanner@gmail.com> 2023-01-23 13:48:36-05:00
log0d249e558a5b88cebad0efd4dd06a5b2ac349bcf
tree7c4e9761c14b9838f92df4d8ccc4ac1d089d8469
parenta7209e7d1215c025d814d981c83bc15a6ea4a117

cbe: fixup handling of c_longdouble for msvc abi


1 files changed, 7 insertions(+), 0 deletions(-)

lib/zig.h+7
...@@ -1871,6 +1871,7 @@ typedef zig_i32 zig_f32;...@@ -1871,6 +1871,7 @@ typedef zig_i32 zig_f32;
1871#define zig_bitSizeOf_f64 641871#define zig_bitSizeOf_f64 64
1872#define zig_libc_name_f64(name) name1872#define zig_libc_name_f64(name) name
1873#if _MSC_VER1873#if _MSC_VER
1874#define zig_bitSizeOf_c_longdouble 64
1874#define zig_as_special_constant_f64(sign, name, arg, repr) sign zig_as_f64(zig_msvc_flt_##name, )1875#define zig_as_special_constant_f64(sign, name, arg, repr) sign zig_as_f64(zig_msvc_flt_##name, )
1875#else1876#else
1876#define zig_as_special_constant_f64(sign, name, arg, repr) zig_as_special_f64(sign, name, arg, repr)1877#define zig_as_special_constant_f64(sign, name, arg, repr) zig_as_special_f64(sign, name, arg, repr)
...@@ -2000,12 +2001,18 @@ typedef zig_i128 zig_c_longdouble;...@@ -2000,12 +2001,18 @@ typedef zig_i128 zig_c_longdouble;
2000 static inline zig_##Type zig_float_from_repr_##Type(zig_##ReprType repr) { \2001 static inline zig_##Type zig_float_from_repr_##Type(zig_##ReprType repr) { \
2001 return *((zig_##Type*)&repr); \2002 return *((zig_##Type*)&repr); \
2002 }2003 }
2004
2003zig_float_from_repr(f16, u16)2005zig_float_from_repr(f16, u16)
2004zig_float_from_repr(f32, u32)2006zig_float_from_repr(f32, u32)
2005zig_float_from_repr(f64, u64)2007zig_float_from_repr(f64, u64)
2006zig_float_from_repr(f80, u128)2008zig_float_from_repr(f80, u128)
2007zig_float_from_repr(f128, u128)2009zig_float_from_repr(f128, u128)
2010#if zig_bitSizeOf_c_longdouble == 80
2008zig_float_from_repr(c_longdouble, u128)2011zig_float_from_repr(c_longdouble, u128)
2012#else
2013#define zig_expand_float_from_repr(Type, ReprType) zig_float_from_repr(Type, ReprType)
2014zig_expand_float_from_repr(c_longdouble, zig_expand_concat(u, zig_bitSizeOf_c_longdouble))
2015#endif
2009#endif2016#endif
20102017
2011#define zig_cast_f16 (zig_f16)2018#define zig_cast_f16 (zig_f16)