| ... | @@ -48,7 +48,13 @@ | ... | @@ -48,7 +48,13 @@ |
| 48 | #if !__has_feature(modules) | 48 | #if !__has_feature(modules) |
| 49 | #define _PTRDIFF_T | 49 | #define _PTRDIFF_T |
| 50 | #endif | 50 | #endif |
| | 51 | |
| | 52 | /* Zig: wrap in _PTRDIFF_T_DEFINED to protect against mingw defining it twice */ |
| | 53 | #if !defined(_PTRDIFF_T_DEFINED) |
| 51 | typedef __PTRDIFF_TYPE__ ptrdiff_t; | 54 | typedef __PTRDIFF_TYPE__ ptrdiff_t; |
| | 55 | #define _PTRDIFF_T_DEFINED |
| | 56 | #endif |
| | 57 | |
| 52 | #endif | 58 | #endif |
| 53 | #undef __need_ptrdiff_t | 59 | #undef __need_ptrdiff_t |
| 54 | #endif /* defined(__need_ptrdiff_t) */ | 60 | #endif /* defined(__need_ptrdiff_t) */ |
| ... | @@ -59,7 +65,24 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; | ... | @@ -59,7 +65,24 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t; |
| 59 | #if !__has_feature(modules) | 65 | #if !__has_feature(modules) |
| 60 | #define _SIZE_T | 66 | #define _SIZE_T |
| 61 | #endif | 67 | #endif |
| | 68 | |
| | 69 | /* Zig: added to avoid collisions with mingw */ |
| | 70 | #if !defined(_SIZE_T_DEFINED_) |
| | 71 | #if !defined(_SIZE_T_DEFINED) |
| | 72 | #if !defined(_BSD_SIZE_T_DEFINED_) |
| | 73 | #if !defined(_SIZE_T_DECLARED) |
| 62 | typedef __SIZE_TYPE__ size_t; | 74 | typedef __SIZE_TYPE__ size_t; |
| | 75 | #define _SIZE_T_DEFINED_ |
| | 76 | #define _SIZE_T_DEFINED |
| | 77 | #define _BSD_SIZE_T_DEFINED_ |
| | 78 | #define _SIZE_T_DECLARED |
| | 79 | #endif |
| | 80 | #endif |
| | 81 | #endif |
| | 82 | #endif |
| | 83 | |
| | 84 | |
| | 85 | |
| 63 | #endif | 86 | #endif |
| 64 | #undef __need_size_t | 87 | #undef __need_size_t |
| 65 | #endif /*defined(__need_size_t) */ | 88 | #endif /*defined(__need_size_t) */ |
| ... | @@ -87,7 +110,22 @@ typedef __SIZE_TYPE__ rsize_t; | ... | @@ -87,7 +110,22 @@ typedef __SIZE_TYPE__ rsize_t; |
| 87 | #define _WCHAR_T_DEFINED | 110 | #define _WCHAR_T_DEFINED |
| 88 | #endif | 111 | #endif |
| 89 | #endif | 112 | #endif |
| | 113 | |
| | 114 | /* zig added to prevent duplicate definition with mingw */ |
| | 115 | #if !defined(__INT_WCHAR_T_H) |
| | 116 | #if !defined(_GCC_WCHAR_T) |
| | 117 | #if !defined(_WCHAR_T_DECLARED) |
| | 118 | #if !defined(_WCHAR_T_DEFINED) |
| | 119 | #define __INT_WCHAR_T_H |
| | 120 | #define _GCC_WCHAR_T |
| | 121 | #define _WCHAR_T_DECLARED |
| | 122 | #define _WCHAR_T_DEFINED |
| 90 | typedef __WCHAR_TYPE__ wchar_t; | 123 | typedef __WCHAR_TYPE__ wchar_t; |
| | 124 | #endif |
| | 125 | #endif |
| | 126 | #endif |
| | 127 | #endif |
| | 128 | |
| 91 | #endif | 129 | #endif |
| 92 | #endif | 130 | #endif |
| 93 | #undef __need_wchar_t | 131 | #undef __need_wchar_t |