STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
xkeycheck.h
Go to the documentation of this file.
1 /* xkeycheck.h internal header */
2 #pragma once
3 #ifndef _XKEYCHECK_H
4 #define _XKEYCHECK_H
5 #ifndef RC_INVOKED
6 
7 #ifndef _ALLOW_KEYWORD_MACROS
8 
9  #if !defined(__cplusplus)
10 
11  #if defined(auto) /* check C keywords */ \
12  || defined(break) \
13  || defined(case) \
14  || defined(char) \
15  || defined(const) \
16  || defined(continue) \
17  || defined(default) \
18  || defined(do) \
19  || defined(double) \
20  || defined(else) \
21  || defined(enum) \
22  || defined(extern) \
23  || defined(float) \
24  || defined(for) \
25  || defined(goto) \
26  || defined(if) \
27  || defined(inline) \
28  || defined(int) \
29  || defined(long) \
30  || defined(register) \
31  || defined(restrict) \
32  || defined(return) \
33  || defined(short) \
34  || defined(signed) \
35  || defined(sizeof) \
36  || defined(static) \
37  || defined(struct) \
38  || defined(switch) \
39  || defined(typedef) \
40  || defined(union) \
41  || defined(unsigned) \
42  || defined(void) \
43  || defined(volatile) \
44  || defined(while) \
45  || defined(_Bool) \
46  || defined(_Complex) \
47  || defined(_Imaginary)
48 
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
86 
87  #error The C Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.
88  #endif /* defined... */
89 
90  #else /* __cplusplus is defined */
91 
92  #if defined(alignas) /* check C++ keywords */ \
93  || defined(alignof) \
94  || defined(asm) \
95  || defined(auto) \
96  || defined(bool) \
97  || defined(break) \
98  || defined(case) \
99  || defined(catch) \
100  || defined(char) \
101  || defined(char16_t) \
102  || defined(char32_t) \
103  || defined(class) \
104  || defined(const) \
105  || defined(const_cast) \
106  || defined(constexpr) \
107  || defined(continue) \
108  || defined(decltype) \
109  || defined(default) \
110  || defined(delete) \
111  || defined(do) \
112  || defined(double) \
113  || defined(dynamic_cast) \
114  || defined(else) \
115  || defined(enum) \
116  || defined(explicit) \
117  || defined(export) \
118  || defined(extern) \
119  || defined(false) \
120  || defined(float) \
121  || defined(for) \
122  || defined(friend) \
123  || defined(goto) \
124  || defined(if) \
125  || defined(inline) \
126  || defined(int) \
127  || defined(long) \
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) \
136  || defined(public) \
137  || defined(register) \
138  || defined(reinterpret_cast) \
139  || defined(return) \
140  || defined(short) \
141  || defined(signed) \
142  || defined(sizeof) \
143  || defined(static) \
144  || defined(static_assert) \
145  || defined(static_cast) \
146  || defined(struct) \
147  || defined(switch) \
148  || defined(template) \
149  || defined(this) \
150  || defined(thread_local) \
151  || defined(throw) \
152  || defined(true) \
153  || defined(try) \
154  || defined(typedef) \
155  || defined(typeid) \
156  || defined(typename) \
157  || defined(union) \
158  || defined(unsigned) \
159  || defined(using) \
160  || defined(virtual) \
161  || defined(void) \
162  || defined(volatile) \
163  || defined(wchar_t) \
164  || defined(while) \
165  || defined(final) /* check "identifiers with special meaning" */ \
166  || defined(override) /* (also known as context-sensitive keywords) */ \
167  || defined(carries_dependency) /* check attribute-tokens */ \
168  || defined(noreturn)
169 
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
210  #endif /* _ENFORCE_BAN_OF_MACRO_NEW */
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
249 
250  #error The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro.
251  #endif /* defined... */
252  #endif /* defined(__cplusplus) */
253 
254 #endif /* _ALLOW_KEYWORD_MACROS */
255 
256 #endif /* RC_INVOKED */
257 #endif /* _XKEYCHECK_H */
258 
259 /*
260  * Copyright (c) by P.J. Plauger. All rights reserved.
261  * Consult your license regarding permissions and restrictions.
262 V6.50:0009 */