sketchbook
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
oclint-0.10.3
lib
clang
3.8.0
include
stddef.h
Go to the documentation of this file.
1
/*===---- stddef.h - Basic type definitions --------------------------------===
2
*
3
* Copyright (c) 2008 Eli Friedman
4
*
5
* Permission is hereby granted, free of charge, to any person obtaining a copy
6
* of this software and associated documentation files (the "Software"), to deal
7
* in the Software without restriction, including without limitation the rights
8
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
* copies of the Software, and to permit persons to whom the Software is
10
* furnished to do so, subject to the following conditions:
11
*
12
* The above copyright notice and this permission notice shall be included in
13
* all copies or substantial portions of the Software.
14
*
15
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
* THE SOFTWARE.
22
*
23
*===-----------------------------------------------------------------------===
24
*/
25
26
#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \
27
defined(__need_size_t) || defined(__need_wchar_t) || \
28
defined(__need_NULL) || defined(__need_wint_t)
29
30
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \
31
!defined(__need_wchar_t) && !defined(__need_NULL) && \
32
!defined(__need_wint_t)
33
/* Always define miscellaneous pieces when modules are available. */
34
#if !__has_feature(modules)
35
#define __STDDEF_H
36
#endif
37
#define __need_ptrdiff_t
38
#define __need_size_t
39
#define __need_wchar_t
40
#define __need_NULL
41
#define __need_STDDEF_H_misc
42
/* __need_wint_t is intentionally not defined here. */
43
#endif
44
45
#if defined(__need_ptrdiff_t)
46
#if !defined(_PTRDIFF_T) || __has_feature(modules)
47
/* Always define ptrdiff_t when modules are available. */
48
#if !__has_feature(modules)
49
#define _PTRDIFF_T
50
#endif
51
typedef
__PTRDIFF_TYPE__
ptrdiff_t
;
52
#endif
53
#undef __need_ptrdiff_t
54
#endif
/* defined(__need_ptrdiff_t) */
55
56
#if defined(__need_size_t)
57
#if !defined(_SIZE_T) || __has_feature(modules)
58
/* Always define size_t when modules are available. */
59
#if !__has_feature(modules)
60
#define _SIZE_T
61
#endif
62
typedef
__SIZE_TYPE__
size_t
;
63
#endif
64
#undef __need_size_t
65
#endif
/*defined(__need_size_t) */
66
67
#if defined(__need_STDDEF_H_misc)
68
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
69
* enabled. */
70
#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \
71
!defined(_RSIZE_T)) || __has_feature(modules)
72
/* Always define rsize_t when modules are available. */
73
#if !__has_feature(modules)
74
#define _RSIZE_T
75
#endif
76
typedef
__SIZE_TYPE__ rsize_t;
77
#endif
78
#endif
/* defined(__need_STDDEF_H_misc) */
79
80
#if defined(__need_wchar_t)
81
#ifndef __cplusplus
82
/* Always define wchar_t when modules are available. */
83
#if !defined(_WCHAR_T) || __has_feature(modules)
84
#if !__has_feature(modules)
85
#define _WCHAR_T
86
#if defined(_MSC_EXTENSIONS)
87
#define _WCHAR_T_DEFINED
88
#endif
89
#endif
90
typedef
__WCHAR_TYPE__
wchar_t
;
91
#endif
92
#endif
93
#undef __need_wchar_t
94
#endif
/* defined(__need_wchar_t) */
95
96
#if defined(__need_NULL)
97
#undef NULL
98
#ifdef __cplusplus
99
# if !defined(__MINGW32__) && !defined(_MSC_VER)
100
# define NULL __null
101
# else
102
# define NULL 0
103
# endif
104
#else
105
# define NULL ((void*)0)
106
#endif
107
#ifdef __cplusplus
108
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED)
109
namespace
std {
typedef
decltype(
nullptr
) nullptr_t; }
110
using ::std::nullptr_t;
111
#endif
112
#endif
113
#undef __need_NULL
114
#endif
/* defined(__need_NULL) */
115
116
#if defined(__need_STDDEF_H_misc)
117
#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
118
#include "
__stddef_max_align_t.h
"
119
#endif
120
#define offsetof(t, d) __builtin_offsetof(t, d)
121
#undef __need_STDDEF_H_misc
122
#endif
/* defined(__need_STDDEF_H_misc) */
123
124
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
125
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
126
#if defined(__need_wint_t)
127
/* Always define wint_t when modules are available. */
128
#if !defined(_WINT_T) || __has_feature(modules)
129
#if !__has_feature(modules)
130
#define _WINT_T
131
#endif
132
typedef
__WINT_TYPE__ wint_t;
133
#endif
134
#undef __need_wint_t
135
#endif
/* __need_wint_t */
136
137
#endif
__stddef_max_align_t.h
wchar_t
__WCHAR_TYPE__ wchar_t
Definition:
stddef.h:90
size_t
__SIZE_TYPE__ size_t
Definition:
stddef.h:62
ptrdiff_t
__PTRDIFF_TYPE__ ptrdiff_t
Definition:
stddef.h:51
Generated on Mon Jun 24 2019 21:30:38 for sketchbook by
1.8.6