10 #if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
11 defined(__need_size_t) || defined(__need_wchar_t) || \
12 defined(__need_NULL) || defined(__need_wint_t)
14 #if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
15 !defined(__need_wchar_t) && !defined(__need_NULL) && \
16 !defined(__need_wint_t)
18 #if !__has_feature(modules)
21 #define __need_ptrdiff_t
23 #define __need_wchar_t
25 #define __need_STDDEF_H_misc
29 #if defined(__need_ptrdiff_t)
30 #if !defined(_PTRDIFF_T) || __has_feature(modules)
32 #if !__has_feature(modules)
37 #undef __need_ptrdiff_t
40 #if defined(__need_size_t)
41 #if !defined(_SIZE_T) || __has_feature(modules)
43 #if !__has_feature(modules)
51 #if defined(__need_STDDEF_H_misc)
54 #if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
55 !defined(_RSIZE_T)) || __has_feature(modules)
57 #if !__has_feature(modules)
60 typedef __SIZE_TYPE__ rsize_t;
64 #if defined(__need_wchar_t)
67 #if !defined(_WCHAR_T) || __has_feature(modules)
68 #if !__has_feature(modules)
70 #if defined(_MSC_EXTENSIONS)
71 #define _WCHAR_T_DEFINED
80 #if defined(__need_NULL)
83 # if !defined(__MINGW32__) && !defined(_MSC_VER)
89 # define NULL ((void*)0)
92 #if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
93 namespace std {
typedef decltype(
nullptr) nullptr_t; }
94 using ::std::nullptr_t;
100 #if defined(__need_STDDEF_H_misc)
101 #if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
104 #define offsetof(t, d) __builtin_offsetof(t, d)
105 #undef __need_STDDEF_H_misc
110 #if defined(__need_wint_t)
112 #if !defined(_WINT_T) || __has_feature(modules)
113 #if !__has_feature(modules)
116 typedef __WINT_TYPE__ wint_t;
__PTRDIFF_TYPE__ ptrdiff_t