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 @@...@@ -48,7 +48,13 @@
48#if !__has_feature(modules)48#if !__has_feature(modules)
49#define _PTRDIFF_T49#define _PTRDIFF_T
50#endif50#endif
51
52/* Zig: wrap in _PTRDIFF_T_DEFINED to protect against mingw defining it twice */
53#if !defined(_PTRDIFF_T_DEFINED)
51typedef __PTRDIFF_TYPE__ ptrdiff_t;54typedef __PTRDIFF_TYPE__ ptrdiff_t;
55#define _PTRDIFF_T_DEFINED
56#endif
57
52#endif58#endif
53#undef __need_ptrdiff_t59#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_T66#define _SIZE_T
61#endif67#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)
62typedef __SIZE_TYPE__ size_t;74typedef __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#endif86#endif
64#undef __need_size_t87#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_DEFINED110#define _WCHAR_T_DEFINED
88#endif111#endif
89#endif112#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
90typedef __WCHAR_TYPE__ wchar_t;123typedef __WCHAR_TYPE__ wchar_t;
124#endif
125#endif
126#endif
127#endif
128
91#endif129#endif
92#endif130#endif
93#undef __need_wchar_t131#undef __need_wchar_t