authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-02-13 22:57:55-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-02-13 22:57:55-07:00
log1d3c25e92880c6b845300bcd40666fac85c7cd71
tree844d5e0f40d2441e897a6fdbb752372f74ec3d38
parentfe95a227c8d7a61618712df6920fa52de2533c8c

fix some c header symbol collisions


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

c_headers/stddef.h+38
......@@ -48,7 +48,13 @@
4848#if !__has_feature(modules)
4949#define _PTRDIFF_T
5050#endif
51
52/* Zig: wrap in _PTRDIFF_T_DEFINED to protect against mingw defining it twice */
53#if !defined(_PTRDIFF_T_DEFINED)
5154typedef __PTRDIFF_TYPE__ ptrdiff_t;
55#define _PTRDIFF_T_DEFINED
56#endif
57
5258#endif
5359#undef __need_ptrdiff_t
5460#endif /* defined(__need_ptrdiff_t) */
......@@ -59,7 +65,24 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
5965#if !__has_feature(modules)
6066#define _SIZE_T
6167#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)
6274typedef __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
6386#endif
6487#undef __need_size_t
6588#endif /*defined(__need_size_t) */
......@@ -87,7 +110,22 @@ typedef __SIZE_TYPE__ rsize_t;
87110#define _WCHAR_T_DEFINED
88111#endif
89112#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
90123typedef __WCHAR_TYPE__ wchar_t;
124#endif
125#endif
126#endif
127#endif
128
91129#endif
92130#endif
93131#undef __need_wchar_t