Go to the documentation of this file.
7 #ifndef _ALLOW_KEYWORD_MACROS
9 #if !defined(__cplusplus)
16 || defined(continue) \
30 || defined(register) \
31 || defined(restrict) \
41 || defined(unsigned) \
43 || defined(volatile) \
46 || defined(_Complex) \
47 || defined(_Imaginary)
49 #define auto EMIT WARNING C4005
50 #define break EMIT WARNING C4005
51 #define case EMIT WARNING C4005
52 #define char EMIT WARNING C4005
53 #define const EMIT WARNING C4005
54 #define continue EMIT WARNING C4005
55 #define default EMIT WARNING C4005
56 #define do EMIT WARNING C4005
57 #define double EMIT WARNING C4005
58 #define else EMIT WARNING C4005
59 #define enum EMIT WARNING C4005
60 #define extern EMIT WARNING C4005
61 #define float EMIT WARNING C4005
62 #define for EMIT WARNING C4005
63 #define goto EMIT WARNING C4005
64 #define if EMIT WARNING C4005
65 #define inline EMIT WARNING C4005
66 #define int EMIT WARNING C4005
67 #define long EMIT WARNING C4005
68 #define register EMIT WARNING C4005
69 #define restrict EMIT WARNING C4005
70 #define return EMIT WARNING C4005
71 #define short EMIT WARNING C4005
72 #define signed EMIT WARNING C4005
73 #define sizeof EMIT WARNING C4005
74 #define static EMIT WARNING C4005
75 #define struct EMIT WARNING C4005
76 #define switch EMIT WARNING C4005
77 #define typedef EMIT WARNING C4005
78 #define union EMIT WARNING C4005
79 #define unsigned EMIT WARNING C4005
80 #define void EMIT WARNING C4005
81 #define volatile EMIT WARNING C4005
82 #define while EMIT WARNING C4005
83 #define _Bool EMIT WARNING C4005
84 #define _Complex EMIT WARNING C4005
85 #define _Imaginary EMIT WARNING C4005
87 #error The C Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.
92 #if defined(alignas) \
101 || defined(char16_t) \
102 || defined(char32_t) \
105 || defined(const_cast) \
106 || defined(constexpr) \
107 || defined(continue) \
108 || defined(decltype) \
109 || defined(default) \
113 || defined(dynamic_cast) \
116 || defined(explicit) \
128 || defined(mutable) \
129 || defined(namespace) \
130 || defined(new) && defined(_ENFORCE_BAN_OF_MACRO_NEW) \
131 || defined(noexcept) \
132 || defined(nullptr) \
133 || defined(operator) \
134 || defined(private) \
135 || defined(protected) \
137 || defined(register) \
138 || defined(reinterpret_cast) \
144 || defined(static_assert) \
145 || defined(static_cast) \
148 || defined(template) \
150 || defined(thread_local) \
154 || defined(typedef) \
156 || defined(typename) \
158 || defined(unsigned) \
160 || defined(virtual) \
162 || defined(volatile) \
163 || defined(wchar_t) \
166 || defined(override) \
167 || defined(carries_dependency) \
170 #define alignas EMIT WARNING C4005
171 #define alignof EMIT WARNING C4005
172 #define asm EMIT WARNING C4005
173 #define auto EMIT WARNING C4005
174 #define bool EMIT WARNING C4005
175 #define break EMIT WARNING C4005
176 #define case EMIT WARNING C4005
177 #define catch EMIT WARNING C4005
178 #define char EMIT WARNING C4005
179 #define char16_t EMIT WARNING C4005
180 #define char32_t EMIT WARNING C4005
181 #define class EMIT WARNING C4005
182 #define const EMIT WARNING C4005
183 #define const_cast EMIT WARNING C4005
184 #define constexpr EMIT WARNING C4005
185 #define continue EMIT WARNING C4005
186 #define decltype EMIT WARNING C4005
187 #define default EMIT WARNING C4005
188 #define delete EMIT WARNING C4005
189 #define do EMIT WARNING C4005
190 #define double EMIT WARNING C4005
191 #define dynamic_cast EMIT WARNING C4005
192 #define else EMIT WARNING C4005
193 #define enum EMIT WARNING C4005
194 #define explicit EMIT WARNING C4005
195 #define export EMIT WARNING C4005
196 #define extern EMIT WARNING C4005
197 #define false EMIT WARNING C4005
198 #define float EMIT WARNING C4005
199 #define for EMIT WARNING C4005
200 #define friend EMIT WARNING C4005
201 #define goto EMIT WARNING C4005
202 #define if EMIT WARNING C4005
203 #define inline EMIT WARNING C4005
204 #define int EMIT WARNING C4005
205 #define long EMIT WARNING C4005
206 #define mutable EMIT WARNING C4005
207 #define namespace EMIT WARNING C4005
208 #ifdef _ENFORCE_BAN_OF_MACRO_NEW
209 #define new EMIT WARNING C4005
211 #define noexcept EMIT WARNING C4005
212 #define nullptr EMIT WARNING C4005
213 #define operator EMIT WARNING C4005
214 #define private EMIT WARNING C4005
215 #define protected EMIT WARNING C4005
216 #define public EMIT WARNING C4005
217 #define register EMIT WARNING C4005
218 #define reinterpret_cast EMIT WARNING C4005
219 #define return EMIT WARNING C4005
220 #define short EMIT WARNING C4005
221 #define signed EMIT WARNING C4005
222 #define sizeof EMIT WARNING C4005
223 #define static EMIT WARNING C4005
224 #define static_assert EMIT WARNING C4005
225 #define static_cast EMIT WARNING C4005
226 #define struct EMIT WARNING C4005
227 #define switch EMIT WARNING C4005
228 #define template EMIT WARNING C4005
229 #define this EMIT WARNING C4005
230 #define thread_local EMIT WARNING C4005
231 #define throw EMIT WARNING C4005
232 #define true EMIT WARNING C4005
233 #define try EMIT WARNING C4005
234 #define typedef EMIT WARNING C4005
235 #define typeid EMIT WARNING C4005
236 #define typename EMIT WARNING C4005
237 #define union EMIT WARNING C4005
238 #define unsigned EMIT WARNING C4005
239 #define using EMIT WARNING C4005
240 #define virtual EMIT WARNING C4005
241 #define void EMIT WARNING C4005
242 #define volatile EMIT WARNING C4005
243 #define wchar_t EMIT WARNING C4005
244 #define while EMIT WARNING C4005
245 #define final EMIT WARNING C4005
246 #define override EMIT WARNING C4005
247 #define carries_dependency EMIT WARNING C4005
248 #define noreturn EMIT WARNING C4005
250 #error The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.