authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-02-15 19:16:44+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-02-16 00:21:51+01:00
logd7f9b5a6618eebf6f2c7c205ebdad47a7959ecc1
treed2d3847d787e77112d329a9d2ffb3e759c8d5700
parente5174c7441e42a1ecc4d31ed505301f6d2c26d50

zig.h: Add new zig_gcc macro to indicate GCC.

As opposed to "GNU C" (zig_gnuc) which includes Clang. This addresses #22890 but does not fix it until a zig1.wasm update.

1 files changed, 41 insertions(+), 40 deletions(-)

lib/zig.h+41-40
......@@ -9,6 +9,7 @@
99#define zig_clang
1010#define zig_gnuc
1111#elif defined(__GNUC__)
12#define zig_gcc
1213#define zig_gnuc
1314#elif defined(__IBMC__)
1415#define zig_xlc
......@@ -171,7 +172,7 @@
171172#define zig_callconv(c) __attribute__((c))
172173#endif
173174
174#if zig_has_attribute(naked) || defined(zig_gnuc)
175#if zig_has_attribute(naked) || defined(zig_gcc)
175176#define zig_naked_decl __attribute__((naked))
176177#define zig_naked __attribute__((naked))
177178#elif defined(zig_msvc)
......@@ -265,7 +266,7 @@
265266#define zig_linksection_fn zig_linksection
266267#endif
267268
268#if zig_has_builtin(unreachable) || defined(zig_gnuc) || defined(zig_tinyc)
269#if zig_has_builtin(unreachable) || defined(zig_gcc) || defined(zig_tinyc)
269270#define zig_unreachable() __builtin_unreachable()
270271#elif defined(zig_msvc)
271272#define zig_unreachable() __assume(0)
......@@ -331,7 +332,7 @@
331332#define zig_expand_import_0(Type, fn_name, libc_name, sig_args, call_args) zig_import(Type, fn_name, libc_name, sig_args, call_args)
332333#define zig_expand_import_1(Type, fn_name, libc_name, sig_args, call_args) zig_import_builtin(Type, fn_name, libc_name, sig_args, call_args)
333334
334#if zig_has_attribute(weak) || defined(zig_gnuc) || defined(zig_tinyc)
335#if zig_has_attribute(weak) || defined(zig_gcc) || defined(zig_tinyc)
335336#define zig_weak_linkage __attribute__((weak))
336337#define zig_weak_linkage_fn __attribute__((weak))
337338#elif defined(zig_msvc)
......@@ -418,7 +419,7 @@
418419#define zig_breakpoint() zig_breakpoint_unavailable
419420#endif
420421
421#if zig_has_builtin(return_address) || defined(zig_gnuc) || defined(zig_tinyc)
422#if zig_has_builtin(return_address) || defined(zig_gcc) || defined(zig_tinyc)
422423#define zig_return_address() __builtin_extract_return_addr(__builtin_return_address(0))
423424#elif defined(zig_msvc)
424425#define zig_return_address() _ReturnAddress()
......@@ -426,7 +427,7 @@
426427#define zig_return_address() 0
427428#endif
428429
429#if zig_has_builtin(frame_address) || defined(zig_gnuc) || defined(zig_tinyc)
430#if zig_has_builtin(frame_address) || defined(zig_gcc) || defined(zig_tinyc)
430431#define zig_frame_address() __builtin_frame_address(0)
431432#elif defined(zig_msvc)
432433#define zig_frame_address() _AddressOfReturnAddress()
......@@ -434,7 +435,7 @@
434435#define zig_frame_address() 0
435436#endif
436437
437#if zig_has_builtin(prefetch) || defined(zig_gnuc)
438#if zig_has_builtin(prefetch) || defined(zig_gcc)
438439#define zig_prefetch(addr, rw, locality) __builtin_prefetch(addr, rw, locality)
439440#else
440441#define zig_prefetch(addr, rw, locality)
......@@ -452,7 +453,7 @@
452453#define zig_noreturn [[noreturn]]
453454#elif __STDC_VERSION__ >= 201112L
454455#define zig_noreturn _Noreturn
455#elif zig_has_attribute(noreturn) || defined(zig_gnuc) || defined(zig_tinyc)
456#elif zig_has_attribute(noreturn) || defined(zig_gcc) || defined(zig_tinyc)
456457#define zig_noreturn __attribute__((noreturn))
457458#elif defined(zig_msvc)
458459#define zig_noreturn __declspec(noreturn)
......@@ -770,7 +771,7 @@ zig_int_helpers(64, uint64_t)
770771#endif
771772
772773static inline bool zig_addo_u32(uint32_t *res, uint32_t lhs, uint32_t rhs, uint8_t bits) {
773#if zig_has_builtin(add_overflow) || defined(zig_gnuc)
774#if zig_has_builtin(add_overflow) || defined(zig_gcc)
774775 uint32_t full_res;
775776 bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
776777 *res = zig_wrap_u32(full_res, bits);
......@@ -783,7 +784,7 @@ static inline bool zig_addo_u32(uint32_t *res, uint32_t lhs, uint32_t rhs, uint8
783784
784785zig_extern int32_t __addosi4(int32_t lhs, int32_t rhs, int *overflow);
785786static inline bool zig_addo_i32(int32_t *res, int32_t lhs, int32_t rhs, uint8_t bits) {
786#if zig_has_builtin(add_overflow) || defined(zig_gnuc)
787#if zig_has_builtin(add_overflow) || defined(zig_gcc)
787788 int32_t full_res;
788789 bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
789790#else
......@@ -796,7 +797,7 @@ static inline bool zig_addo_i32(int32_t *res, int32_t lhs, int32_t rhs, uint8_t
796797}
797798
798799static inline bool zig_addo_u64(uint64_t *res, uint64_t lhs, uint64_t rhs, uint8_t bits) {
799#if zig_has_builtin(add_overflow) || defined(zig_gnuc)
800#if zig_has_builtin(add_overflow) || defined(zig_gcc)
800801 uint64_t full_res;
801802 bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
802803 *res = zig_wrap_u64(full_res, bits);
......@@ -809,7 +810,7 @@ static inline bool zig_addo_u64(uint64_t *res, uint64_t lhs, uint64_t rhs, uint8
809810
810811zig_extern int64_t __addodi4(int64_t lhs, int64_t rhs, int *overflow);
811812static inline bool zig_addo_i64(int64_t *res, int64_t lhs, int64_t rhs, uint8_t bits) {
812#if zig_has_builtin(add_overflow) || defined(zig_gnuc)
813#if zig_has_builtin(add_overflow) || defined(zig_gcc)
813814 int64_t full_res;
814815 bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
815816#else
......@@ -822,7 +823,7 @@ static inline bool zig_addo_i64(int64_t *res, int64_t lhs, int64_t rhs, uint8_t
822823}
823824
824825static inline bool zig_addo_u8(uint8_t *res, uint8_t lhs, uint8_t rhs, uint8_t bits) {
825#if zig_has_builtin(add_overflow) || defined(zig_gnuc)
826#if zig_has_builtin(add_overflow) || defined(zig_gcc)
826827 uint8_t full_res;
827828 bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
828829 *res = zig_wrap_u8(full_res, bits);
......@@ -836,7 +837,7 @@ static inline bool zig_addo_u8(uint8_t *res, uint8_t lhs, uint8_t rhs, uint8_t b
836837}
837838
838839static inline bool zig_addo_i8(int8_t *res, int8_t lhs, int8_t rhs, uint8_t bits) {
839#if zig_has_builtin(add_overflow) || defined(zig_gnuc)
840#if zig_has_builtin(add_overflow) || defined(zig_gcc)
840841 int8_t full_res;
841842 bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
842843 *res = zig_wrap_i8(full_res, bits);
......@@ -850,7 +851,7 @@ static inline bool zig_addo_i8(int8_t *res, int8_t lhs, int8_t rhs, uint8_t bits
850851}
851852
852853static inline bool zig_addo_u16(uint16_t *res, uint16_t lhs, uint16_t rhs, uint8_t bits) {
853#if zig_has_builtin(add_overflow) || defined(zig_gnuc)
854#if zig_has_builtin(add_overflow) || defined(zig_gcc)
854855 uint16_t full_res;
855856 bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
856857 *res = zig_wrap_u16(full_res, bits);
......@@ -864,7 +865,7 @@ static inline bool zig_addo_u16(uint16_t *res, uint16_t lhs, uint16_t rhs, uint8
864865}
865866
866867static inline bool zig_addo_i16(int16_t *res, int16_t lhs, int16_t rhs, uint8_t bits) {
867#if zig_has_builtin(add_overflow) || defined(zig_gnuc)
868#if zig_has_builtin(add_overflow) || defined(zig_gcc)
868869 int16_t full_res;
869870 bool overflow = __builtin_add_overflow(lhs, rhs, &full_res);
870871 *res = zig_wrap_i16(full_res, bits);
......@@ -878,7 +879,7 @@ static inline bool zig_addo_i16(int16_t *res, int16_t lhs, int16_t rhs, uint8_t
878879}
879880
880881static inline bool zig_subo_u32(uint32_t *res, uint32_t lhs, uint32_t rhs, uint8_t bits) {
881#if zig_has_builtin(sub_overflow) || defined(zig_gnuc)
882#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
882883 uint32_t full_res;
883884 bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
884885 *res = zig_wrap_u32(full_res, bits);
......@@ -891,7 +892,7 @@ static inline bool zig_subo_u32(uint32_t *res, uint32_t lhs, uint32_t rhs, uint8
891892
892893zig_extern int32_t __subosi4(int32_t lhs, int32_t rhs, int *overflow);
893894static inline bool zig_subo_i32(int32_t *res, int32_t lhs, int32_t rhs, uint8_t bits) {
894#if zig_has_builtin(sub_overflow) || defined(zig_gnuc)
895#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
895896 int32_t full_res;
896897 bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
897898#else
......@@ -904,7 +905,7 @@ static inline bool zig_subo_i32(int32_t *res, int32_t lhs, int32_t rhs, uint8_t
904905}
905906
906907static inline bool zig_subo_u64(uint64_t *res, uint64_t lhs, uint64_t rhs, uint8_t bits) {
907#if zig_has_builtin(sub_overflow) || defined(zig_gnuc)
908#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
908909 uint64_t full_res;
909910 bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
910911 *res = zig_wrap_u64(full_res, bits);
......@@ -917,7 +918,7 @@ static inline bool zig_subo_u64(uint64_t *res, uint64_t lhs, uint64_t rhs, uint8
917918
918919zig_extern int64_t __subodi4(int64_t lhs, int64_t rhs, int *overflow);
919920static inline bool zig_subo_i64(int64_t *res, int64_t lhs, int64_t rhs, uint8_t bits) {
920#if zig_has_builtin(sub_overflow) || defined(zig_gnuc)
921#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
921922 int64_t full_res;
922923 bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
923924#else
......@@ -930,7 +931,7 @@ static inline bool zig_subo_i64(int64_t *res, int64_t lhs, int64_t rhs, uint8_t
930931}
931932
932933static inline bool zig_subo_u8(uint8_t *res, uint8_t lhs, uint8_t rhs, uint8_t bits) {
933#if zig_has_builtin(sub_overflow) || defined(zig_gnuc)
934#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
934935 uint8_t full_res;
935936 bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
936937 *res = zig_wrap_u8(full_res, bits);
......@@ -944,7 +945,7 @@ static inline bool zig_subo_u8(uint8_t *res, uint8_t lhs, uint8_t rhs, uint8_t b
944945}
945946
946947static inline bool zig_subo_i8(int8_t *res, int8_t lhs, int8_t rhs, uint8_t bits) {
947#if zig_has_builtin(sub_overflow) || defined(zig_gnuc)
948#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
948949 int8_t full_res;
949950 bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
950951 *res = zig_wrap_i8(full_res, bits);
......@@ -958,7 +959,7 @@ static inline bool zig_subo_i8(int8_t *res, int8_t lhs, int8_t rhs, uint8_t bits
958959}
959960
960961static inline bool zig_subo_u16(uint16_t *res, uint16_t lhs, uint16_t rhs, uint8_t bits) {
961#if zig_has_builtin(sub_overflow) || defined(zig_gnuc)
962#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
962963 uint16_t full_res;
963964 bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
964965 *res = zig_wrap_u16(full_res, bits);
......@@ -972,7 +973,7 @@ static inline bool zig_subo_u16(uint16_t *res, uint16_t lhs, uint16_t rhs, uint8
972973}
973974
974975static inline bool zig_subo_i16(int16_t *res, int16_t lhs, int16_t rhs, uint8_t bits) {
975#if zig_has_builtin(sub_overflow) || defined(zig_gnuc)
976#if zig_has_builtin(sub_overflow) || defined(zig_gcc)
976977 int16_t full_res;
977978 bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res);
978979 *res = zig_wrap_i16(full_res, bits);
......@@ -986,7 +987,7 @@ static inline bool zig_subo_i16(int16_t *res, int16_t lhs, int16_t rhs, uint8_t
986987}
987988
988989static inline bool zig_mulo_u32(uint32_t *res, uint32_t lhs, uint32_t rhs, uint8_t bits) {
989#if zig_has_builtin(mul_overflow) || defined(zig_gnuc)
990#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
990991 uint32_t full_res;
991992 bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
992993 *res = zig_wrap_u32(full_res, bits);
......@@ -999,7 +1000,7 @@ static inline bool zig_mulo_u32(uint32_t *res, uint32_t lhs, uint32_t rhs, uint8
9991000
10001001zig_extern int32_t __mulosi4(int32_t lhs, int32_t rhs, int *overflow);
10011002static inline bool zig_mulo_i32(int32_t *res, int32_t lhs, int32_t rhs, uint8_t bits) {
1002#if zig_has_builtin(mul_overflow) || defined(zig_gnuc)
1003#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
10031004 int32_t full_res;
10041005 bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
10051006#else
......@@ -1012,7 +1013,7 @@ static inline bool zig_mulo_i32(int32_t *res, int32_t lhs, int32_t rhs, uint8_t
10121013}
10131014
10141015static inline bool zig_mulo_u64(uint64_t *res, uint64_t lhs, uint64_t rhs, uint8_t bits) {
1015#if zig_has_builtin(mul_overflow) || defined(zig_gnuc)
1016#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
10161017 uint64_t full_res;
10171018 bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
10181019 *res = zig_wrap_u64(full_res, bits);
......@@ -1025,7 +1026,7 @@ static inline bool zig_mulo_u64(uint64_t *res, uint64_t lhs, uint64_t rhs, uint8
10251026
10261027zig_extern int64_t __mulodi4(int64_t lhs, int64_t rhs, int *overflow);
10271028static inline bool zig_mulo_i64(int64_t *res, int64_t lhs, int64_t rhs, uint8_t bits) {
1028#if zig_has_builtin(mul_overflow) || defined(zig_gnuc)
1029#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
10291030 int64_t full_res;
10301031 bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
10311032#else
......@@ -1038,7 +1039,7 @@ static inline bool zig_mulo_i64(int64_t *res, int64_t lhs, int64_t rhs, uint8_t
10381039}
10391040
10401041static inline bool zig_mulo_u8(uint8_t *res, uint8_t lhs, uint8_t rhs, uint8_t bits) {
1041#if zig_has_builtin(mul_overflow) || defined(zig_gnuc)
1042#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
10421043 uint8_t full_res;
10431044 bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
10441045 *res = zig_wrap_u8(full_res, bits);
......@@ -1052,7 +1053,7 @@ static inline bool zig_mulo_u8(uint8_t *res, uint8_t lhs, uint8_t rhs, uint8_t b
10521053}
10531054
10541055static inline bool zig_mulo_i8(int8_t *res, int8_t lhs, int8_t rhs, uint8_t bits) {
1055#if zig_has_builtin(mul_overflow) || defined(zig_gnuc)
1056#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
10561057 int8_t full_res;
10571058 bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
10581059 *res = zig_wrap_i8(full_res, bits);
......@@ -1066,7 +1067,7 @@ static inline bool zig_mulo_i8(int8_t *res, int8_t lhs, int8_t rhs, uint8_t bits
10661067}
10671068
10681069static inline bool zig_mulo_u16(uint16_t *res, uint16_t lhs, uint16_t rhs, uint8_t bits) {
1069#if zig_has_builtin(mul_overflow) || defined(zig_gnuc)
1070#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
10701071 uint16_t full_res;
10711072 bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
10721073 *res = zig_wrap_u16(full_res, bits);
......@@ -1080,7 +1081,7 @@ static inline bool zig_mulo_u16(uint16_t *res, uint16_t lhs, uint16_t rhs, uint8
10801081}
10811082
10821083static inline bool zig_mulo_i16(int16_t *res, int16_t lhs, int16_t rhs, uint8_t bits) {
1083#if zig_has_builtin(mul_overflow) || defined(zig_gnuc)
1084#if zig_has_builtin(mul_overflow) || defined(zig_gcc)
10841085 int16_t full_res;
10851086 bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res);
10861087 *res = zig_wrap_i16(full_res, bits);
......@@ -1189,7 +1190,7 @@ static inline int8_t zig_byte_swap_i8(int8_t val, uint8_t bits) {
11891190
11901191static inline uint16_t zig_byte_swap_u16(uint16_t val, uint8_t bits) {
11911192 uint16_t full_res;
1192#if zig_has_builtin(bswap16) || defined(zig_gnuc)
1193#if zig_has_builtin(bswap16) || defined(zig_gcc)
11931194 full_res = __builtin_bswap16(val);
11941195#else
11951196 full_res = (uint16_t)zig_byte_swap_u8((uint8_t)(val >> 0), 8) << 8 |
......@@ -1204,7 +1205,7 @@ static inline int16_t zig_byte_swap_i16(int16_t val, uint8_t bits) {
12041205
12051206static inline uint32_t zig_byte_swap_u32(uint32_t val, uint8_t bits) {
12061207 uint32_t full_res;
1207#if zig_has_builtin(bswap32) || defined(zig_gnuc)
1208#if zig_has_builtin(bswap32) || defined(zig_gcc)
12081209 full_res = __builtin_bswap32(val);
12091210#else
12101211 full_res = (uint32_t)zig_byte_swap_u16((uint16_t)(val >> 0), 16) << 16 |
......@@ -1219,7 +1220,7 @@ static inline int32_t zig_byte_swap_i32(int32_t val, uint8_t bits) {
12191220
12201221static inline uint64_t zig_byte_swap_u64(uint64_t val, uint8_t bits) {
12211222 uint64_t full_res;
1222#if zig_has_builtin(bswap64) || defined(zig_gnuc)
1223#if zig_has_builtin(bswap64) || defined(zig_gcc)
12231224 full_res = __builtin_bswap64(val);
12241225#else
12251226 full_res = (uint64_t)zig_byte_swap_u32((uint32_t)(val >> 0), 32) << 32 |
......@@ -1299,7 +1300,7 @@ static inline int64_t zig_bit_reverse_i64(int64_t val, uint8_t bits) {
12991300 static inline uint8_t zig_popcount_i##w(int##w##_t val, uint8_t bits) { \
13001301 return zig_popcount_u##w((uint##w##_t)val, bits); \
13011302 }
1302#if zig_has_builtin(popcount) || defined(zig_gnuc) || defined(zig_tinyc)
1303#if zig_has_builtin(popcount) || defined(zig_gcc) || defined(zig_tinyc)
13031304#define zig_builtin_popcount(w) \
13041305 static inline uint8_t zig_popcount_u##w(uint##w##_t val, uint8_t bits) { \
13051306 (void)bits; \
......@@ -1328,7 +1329,7 @@ zig_builtin_popcount(64)
13281329 static inline uint8_t zig_ctz_i##w(int##w##_t val, uint8_t bits) { \
13291330 return zig_ctz_u##w((uint##w##_t)val, bits); \
13301331 }
1331#if zig_has_builtin(ctz) || defined(zig_gnuc) || defined(zig_tinyc)
1332#if zig_has_builtin(ctz) || defined(zig_gcc) || defined(zig_tinyc)
13321333#define zig_builtin_ctz(w) \
13331334 static inline uint8_t zig_ctz_u##w(uint##w##_t val, uint8_t bits) { \
13341335 if (val == 0) return bits; \
......@@ -1353,7 +1354,7 @@ zig_builtin_ctz(64)
13531354 static inline uint8_t zig_clz_i##w(int##w##_t val, uint8_t bits) { \
13541355 return zig_clz_u##w((uint##w##_t)val, bits); \
13551356 }
1356#if zig_has_builtin(clz) || defined(zig_gnuc) || defined(zig_tinyc)
1357#if zig_has_builtin(clz) || defined(zig_gcc) || defined(zig_tinyc)
13571358#define zig_builtin_clz(w) \
13581359 static inline uint8_t zig_clz_u##w(uint##w##_t val, uint8_t bits) { \
13591360 if (val == 0) return bits; \
......@@ -3208,7 +3209,7 @@ long double __cdecl nanl(char const* input);
32083209#define __builtin_infl() zig_msvc_flt_infl
32093210#endif
32103211
3211#if (zig_has_builtin(nan) && zig_has_builtin(nans) && zig_has_builtin(inf)) || defined(zig_gnuc)
3212#if (zig_has_builtin(nan) && zig_has_builtin(nans) && zig_has_builtin(inf)) || defined(zig_gcc)
32123213#define zig_make_special_f16(sign, name, arg, repr) sign zig_make_f16 (__builtin_##name, )(arg)
32133214#define zig_make_special_f32(sign, name, arg, repr) sign zig_make_f32 (__builtin_##name, )(arg)
32143215#define zig_make_special_f64(sign, name, arg, repr) sign zig_make_f64 (__builtin_##name, )(arg)
......@@ -3234,7 +3235,7 @@ typedef double zig_f16;
32343235#elif LDBL_MANT_DIG == 11
32353236typedef long double zig_f16;
32363237#define zig_make_f16(fp, repr) fp##l
3237#elif FLT16_MANT_DIG == 11 && (zig_has_builtin(inff16) || defined(zig_gnuc))
3238#elif FLT16_MANT_DIG == 11 && (zig_has_builtin(inff16) || defined(zig_gcc))
32383239typedef _Float16 zig_f16;
32393240#define zig_make_f16(fp, repr) fp##f16
32403241#elif defined(__SIZEOF_FP16__)
......@@ -3356,7 +3357,7 @@ typedef zig_u128 zig_f80;
33563357#define zig_init_special_f80(sign, name, arg, repr) repr
33573358#endif
33583359
3359#if !defined(zig_clang) && defined(zig_gnuc) && defined(zig_x86)
3360#if defined(zig_gcc) && defined(zig_x86)
33603361#define zig_f128_has_miscompilations 1
33613362#else
33623363#define zig_f128_has_miscompilations 0