]>
Commit | Line | Data |
---|---|---|
1 | // Boost config.hpp configuration test program file -----------------------// | |
2 | ||
3 | // (C) Copyright John Maddock 2001 - 2003. | |
4 | // (C) Copyright Jens Maurer 2001. | |
5 | // (C) Copyright Peter Dimov 2001. | |
6 | // (C) Copyright Darin Adler 2001. | |
7 | // (C) Copyright Beman Dawes 2002. | |
8 | // Use, modification and distribution are subject to the | |
9 | // Boost Software License, Version 1.0. (See accompanying file | |
10 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
11 | ||
12 | // See http://www.boost.org/libs/config for most recent version. | |
13 | // | |
14 | // Revision $Id$ | |
15 | // | |
16 | ||
17 | #include <boost/config.hpp> | |
18 | #include <boost/version.hpp> | |
19 | #include <iostream> | |
20 | #include <iomanip> | |
21 | #include <string.h> | |
22 | #include <limits.h> | |
23 | #include <stdlib.h> | |
24 | #include <stddef.h> | |
25 | ||
26 | #ifdef BOOST_HAS_UNISTD_H | |
27 | #include <unistd.h> | |
28 | #endif | |
29 | ||
30 | #if defined(__MINGW32__) | |
31 | # include <_mingw.h> | |
32 | #endif | |
33 | ||
34 | static unsigned int indent = 4; | |
35 | static unsigned int width = 40; | |
36 | ||
37 | using std::cout; | |
38 | using std::istream; | |
39 | ||
40 | void print_macro(const char* name, const char* value) | |
41 | { | |
42 | // if name == value+1 then then macro is not defined, | |
43 | // in which case we don't print anything: | |
44 | if(0 != strcmp(name, value+1)) | |
45 | { | |
46 | for(unsigned i = 0; i < indent; ++i) std::cout.put(' '); | |
47 | std::cout << std::setw(width); | |
48 | cout.setf(istream::left, istream::adjustfield); | |
49 | std::cout << name; | |
50 | if(value[1]) | |
51 | { | |
52 | // macro has a value: | |
53 | std::cout << value << "\n"; | |
54 | } | |
55 | else | |
56 | { | |
57 | // macro is defined but has no value: | |
58 | std::cout << " [no value]\n"; | |
59 | } | |
60 | } | |
61 | } | |
62 | ||
63 | #define PRINT_MACRO(X) print_macro(#X, BOOST_STRINGIZE(=X)) | |
64 | ||
65 | template <class T> | |
66 | void print_expression(const char* expression, T val) | |
67 | { | |
68 | for(unsigned i = 0; i < indent; ++i) std::cout.put(' '); | |
69 | std::cout << std::setw(width); | |
70 | std::cout.setf(istream::left, istream::adjustfield); | |
71 | std::cout << expression << "=" << val << std::endl; | |
72 | } | |
73 | ||
74 | #define PRINT_EXPRESSION(E) print_expression(#E, E); | |
75 | ||
76 | template <class T> | |
77 | void print_byte_order(const char* what, T /* t */ ) | |
78 | { | |
79 | T val = 0; | |
80 | unsigned i; | |
81 | for(i = 1; i < sizeof(T); ++i) | |
82 | { | |
83 | val |= (CHAR_BIT * static_cast<T>(i)) << (CHAR_BIT * static_cast<T>(i)); | |
84 | } | |
85 | const char* p = reinterpret_cast<const char*>(&val); | |
86 | ||
87 | for(i = 0; i < indent; ++i) std::cout.put(' '); | |
88 | std::cout << std::setw(width); | |
89 | std::cout.setf(istream::left, istream::adjustfield); | |
90 | std::cout << what << "="; | |
91 | for(i = 0; i < sizeof(T); ++i) | |
92 | { | |
93 | std::cout << (int)p[i] << " "; | |
94 | } | |
95 | std::cout << std::endl; | |
96 | } | |
97 | ||
98 | #define PRINT_ORDER(T) print_byte_order(BOOST_STRINGIZE(byte order for type T), T()) | |
99 | ||
100 | template <class T> | |
101 | void print_sign(const char* what, T t) | |
102 | { | |
103 | t = static_cast<T>(-1); // cast suppresses warnings | |
104 | for(unsigned i = 0; i < indent; ++i) std::cout.put(' '); | |
105 | std::cout << "Type " << what << " is " << ((t > 0) ? "unsigned" : "signed") << std::endl; | |
106 | } | |
107 | ||
108 | #define PRINT_SIGN(T) print_sign(#T, T()) | |
109 | ||
110 | ||
111 | void print_compiler_macros() | |
112 | { | |
113 | std::cout << BOOST_COMPILER << "\n"; | |
114 | // Borland options: | |
115 | PRINT_MACRO(__BORLANDC__); | |
116 | PRINT_MACRO(__CDECL__); | |
117 | PRINT_MACRO(_CHAR_UNSIGNED); | |
118 | PRINT_MACRO(__CODEGUARD__); | |
119 | PRINT_MACRO(__CONSOLE__); | |
120 | PRINT_MACRO(_CPPUNWIND); | |
121 | PRINT_MACRO(__cplusplus); | |
122 | PRINT_MACRO(__FLAT__); | |
123 | PRINT_MACRO(__FUNC__); | |
124 | PRINT_MACRO(_M_IX86); | |
125 | PRINT_MACRO(__MSDOS__); | |
126 | PRINT_MACRO(__MT__ ); | |
127 | PRINT_MACRO(__PASCAL__); | |
128 | PRINT_MACRO(__STDC__); | |
129 | PRINT_MACRO(__TLS__); | |
130 | PRINT_MACRO(_WCHAR_T); | |
131 | PRINT_MACRO(_Windows); | |
132 | PRINT_MACRO(__WIN32__); | |
133 | PRINT_MACRO(_WIN32); | |
134 | PRINT_MACRO(_WIN64); | |
135 | PRINT_MACRO(_WIN32_WCE); | |
136 | PRINT_MACRO(WIN32); | |
137 | PRINT_MACRO(_RTLDLL); | |
138 | PRINT_MACRO(__DEBUG); | |
139 | ||
140 | // Internal MSVC 7 error workaround (Peter Dimov) | |
141 | ||
142 | #ifndef _NATIVE_WCHAR_T_DEFINED | |
143 | PRINT_MACRO(_WCHAR_T_DEFINED); | |
144 | #endif | |
145 | // MSVC macros: | |
146 | PRINT_MACRO(_CPPRTTI); | |
147 | PRINT_MACRO(_DLL); | |
148 | PRINT_MACRO(_M_ALPHA); | |
149 | PRINT_MACRO(_M_MPPC); | |
150 | PRINT_MACRO(_M_MRX000); | |
151 | PRINT_MACRO(_M_PPC); | |
152 | PRINT_MACRO(_MFC_VER); | |
153 | PRINT_MACRO(_MSC_EXTENSIONS); | |
154 | PRINT_MACRO(_MSC_VER); | |
155 | PRINT_MACRO(_MSC_FULL_VER); | |
156 | PRINT_MACRO(_MSVC_LANG); | |
157 | PRINT_MACRO(_MT); | |
158 | PRINT_MACRO(_NATIVE_WCHAR_T_DEFINED); | |
159 | // GNUC options: | |
160 | PRINT_MACRO(__GNUC__); | |
161 | PRINT_MACRO(__GNUC_MINOR__); | |
162 | PRINT_MACRO(__GNUC_PATCHLEVEL__); | |
163 | PRINT_MACRO(__STDC_VERSION__); | |
164 | PRINT_MACRO(__GNUG__); | |
165 | PRINT_MACRO(__STRICT_ANSI__); | |
166 | PRINT_MACRO(__GXX_EXPERIMENTAL_CXX0X__); | |
167 | PRINT_MACRO(__VERSION__); | |
168 | PRINT_MACRO(__OPTIMIZE__); | |
169 | PRINT_MACRO(__CHAR_UNSIGNED__); | |
170 | PRINT_MACRO(__REGISTER_PREFIX__); | |
171 | PRINT_MACRO(__USER_LABEL_PREFIX__); | |
172 | PRINT_MACRO(__GNUPRO__); | |
173 | PRINT_MACRO(__EXCEPTIONS); | |
174 | PRINT_MACRO(__FreeBSD__); | |
175 | PRINT_MACRO(__FreeBSD_cc_version); | |
176 | PRINT_MACRO(__ELF__); | |
177 | PRINT_MACRO(__GNUPRO__); | |
178 | PRINT_MACRO(unix); | |
179 | PRINT_MACRO(bsd); | |
180 | PRINT_MACRO(vax); | |
181 | PRINT_MACRO(mc68000); | |
182 | PRINT_MACRO(m68k); | |
183 | PRINT_MACRO(M68020); | |
184 | PRINT_MACRO(_AM29K); | |
185 | PRINT_MACRO(ns32000); | |
186 | PRINT_MACRO(sun); | |
187 | PRINT_MACRO(pyr); | |
188 | PRINT_MACRO(sequent); | |
189 | PRINT_MACRO(__i386__); | |
190 | PRINT_MACRO(__sparc); | |
191 | PRINT_MACRO(__sparc__); | |
192 | PRINT_MACRO(__powerpc__); | |
193 | PRINT_MACRO(__hppa); | |
194 | PRINT_MACRO(__CYGWIN__); | |
195 | PRINT_MACRO(__MINGW32__); | |
196 | PRINT_MACRO(__GXX_RTTI); | |
197 | // HP aCC: | |
198 | PRINT_MACRO(__HP_aCC); | |
199 | PRINT_MACRO(_HPACC_); | |
200 | PRINT_MACRO(__LP64__); | |
201 | PRINT_MACRO(__RISC2_0__); | |
202 | PRINT_MACRO(__STDCPP__); | |
203 | PRINT_MACRO(__hppa); | |
204 | PRINT_MACRO(__hpux); | |
205 | PRINT_MACRO(__hp9000s800); | |
206 | PRINT_MACRO(__hp9000s700); | |
207 | PRINT_MACRO(_PA_RISC1_1); | |
208 | PRINT_MACRO(__HPUX_SOURCE); | |
209 | PRINT_MACRO(_INCLUDE__STDC_A1_SOURCE); | |
210 | // SGI IRIX: | |
211 | PRINT_MACRO(__sgi); | |
212 | PRINT_MACRO(_COMPILER_VERSION); | |
213 | // Sunpro: | |
214 | PRINT_MACRO(__SUNPRO_CC); | |
215 | PRINT_MACRO(__SUNPRO_CC_COMPAT); | |
216 | PRINT_MACRO(__BUILTIN_VA_ARG_INCR); | |
217 | PRINT_MACRO(__sun); | |
218 | PRINT_MACRO(__SVR4); | |
219 | PRINT_MACRO(__unix); | |
220 | PRINT_MACRO(__sparcv9); | |
221 | PRINT_MACRO(__i386); | |
222 | PRINT_MACRO(i386); | |
223 | // Metrowerks | |
224 | PRINT_MACRO(__MWERKS__); | |
225 | PRINT_MACRO(__MSL__); | |
226 | PRINT_MACRO(__MSL_CPP__); | |
227 | PRINT_MACRO(__A5__); | |
228 | PRINT_MACRO(__embedded_cplusplus); | |
229 | PRINT_MACRO(__fourbyteints__); | |
230 | PRINT_MACRO(__IEEEdoubles__); | |
231 | PRINT_MACRO(__MC68K__); | |
232 | PRINT_MACRO(__MC68020__); | |
233 | PRINT_MACRO(__MC68881__); | |
234 | PRINT_MACRO(__MIPS__); | |
235 | PRINT_MACRO(__MIPS_ISA2__); | |
236 | PRINT_MACRO(__MIPS_ISA3__); | |
237 | PRINT_MACRO(__MIPS_ISA4__); | |
238 | PRINT_MACRO(__MWBROWSER__); | |
239 | PRINT_MACRO(__profile__); | |
240 | PRINT_MACRO(__powerc); | |
241 | PRINT_MACRO(_powerc); | |
242 | PRINT_MACRO(__POWERPC__); | |
243 | PRINT_MACRO(macintosh); | |
244 | PRINT_MACRO(__MACH__); | |
245 | PRINT_MACRO(__APPLE__); | |
246 | PRINT_MACRO(__APPLE_CC__); | |
247 | // MPW (MrCpp and SCpp) | |
248 | PRINT_MACRO(__MRC__); | |
249 | PRINT_MACRO(__SC__); | |
250 | PRINT_MACRO(__FPCE__); | |
251 | PRINT_MACRO(__FPCE_IEEE__); | |
252 | PRINT_MACRO(MPW_CPLUS); | |
253 | PRINT_MACRO(MPW_C); | |
254 | PRINT_MACRO(__MC601); | |
255 | PRINT_MACRO(__POWERPC); | |
256 | PRINT_MACRO(__useAppleExts__); | |
257 | PRINT_MACRO(powerc); | |
258 | PRINT_MACRO(MC68000); | |
259 | PRINT_MACRO(THINK_PLUS); | |
260 | PRINT_MACRO(mc68881); | |
261 | PRINT_MACRO(__FAR_CODE__); | |
262 | PRINT_MACRO(__FAR_DATA__); | |
263 | PRINT_MACRO(__CFM68K__); | |
264 | // EDG | |
265 | PRINT_MACRO(__EDG__); | |
266 | PRINT_MACRO(__EDG_VERSION__); | |
267 | PRINT_MACRO(c_plusplus); // indication for strict mode | |
268 | PRINT_MACRO(_BOOL); | |
269 | PRINT_MACRO(_EXPLICIT); | |
270 | PRINT_MACRO(__SIGNED_CHARS__); | |
271 | PRINT_MACRO(_TYPENAME); | |
272 | PRINT_MACRO(_WCHAR_T); | |
273 | PRINT_MACRO(__ARRAY_OPERATORS); | |
274 | PRINT_MACRO(__EDG_ABI_COMPATIBILITY_VERSION); | |
275 | PRINT_MACRO(__EDG_IMPLICIT_USING_STD); | |
276 | PRINT_MACRO(__EDG_RUNTIME_USES_NAMESPACES); | |
277 | PRINT_MACRO(__BOOL_DEFINED); | |
278 | PRINT_MACRO(__RTTI); | |
279 | PRINT_MACRO(__PLACEMENT_DELETE); | |
280 | PRINT_MACRO(__NO_LONG_LONG); | |
281 | ||
282 | // Intel options: | |
283 | PRINT_MACRO(__INTEL__); | |
284 | PRINT_MACRO(__ICC); | |
285 | PRINT_MACRO(__ICL); | |
286 | PRINT_MACRO(__ECC); | |
287 | PRINT_MACRO(__INTEL_COMPILER); | |
288 | PRINT_MACRO(__INITIAL_POINTER_SIZE); | |
289 | PRINT_MACRO(_INTEGRAL_MAX_BITS); | |
290 | PRINT_MACRO(__INTEL_COMPILER_BUILD_DATE); | |
291 | PRINT_MACRO(__INTEL_MS_COMPAT_LEVEL); | |
292 | PRINT_MACRO(__LONG_DOUBLE_SIZE__); | |
293 | PRINT_MACRO(_M_X64); | |
294 | PRINT_MACRO(_OPENMP); | |
295 | PRINT_MACRO(_OPENMPT); | |
296 | PRINT_MACRO(_PGO_INSTRUMENT); | |
297 | PRINT_MACRO(__QMSPP_); | |
298 | PRINT_MACRO(__INTEL_RTTI__); | |
299 | PRINT_MACRO(__INTEL_CXX11_MODE__); | |
300 | ||
301 | // Cray options: | |
302 | PRINT_MACRO(_CRAYC); | |
303 | PRINT_MACRO(_RELEASE); | |
304 | PRINT_MACRO(cray); | |
305 | PRINT_MACRO(CRAY); | |
306 | PRINT_MACRO(CRAY1); | |
307 | PRINT_MACRO(_CRAY1); | |
308 | PRINT_MACRO(_CRAYMPP); | |
309 | PRINT_MACRO(_CRAYT3E); | |
310 | PRINT_MACRO(_CRAYIEEE); | |
311 | PRINT_MACRO(_ADDR32); | |
312 | PRINT_MACRO(_ADDR64); | |
313 | PRINT_MACRO(_LD64); | |
314 | PRINT_MACRO(_FASTMD); | |
315 | PRINT_MACRO(_MAXVL); | |
316 | ||
317 | // clang options: | |
318 | PRINT_MACRO(__clang__); | |
319 | PRINT_MACRO(__clang_major__); | |
320 | PRINT_MACRO(__clang_minor__); | |
321 | PRINT_MACRO(__clang_version__); | |
322 | PRINT_MACRO(__clang_patchlevel__); | |
323 | ||
324 | // misc compilers not covered so far: | |
325 | PRINT_MACRO(__USLC__); | |
326 | PRINT_MACRO(__DECCXX); | |
327 | PRINT_MACRO(__IBMCPP__); | |
328 | PRINT_MACRO(_REENTRANT); | |
329 | PRINT_MACRO(_PTHREADS); | |
330 | PRINT_MACRO(__STDC_HOSTED__); | |
331 | PRINT_MACRO(__COMO__); | |
332 | PRINT_MACRO(__COMO_VERSION__); | |
333 | PRINT_MACRO(__DM__); | |
334 | PRINT_MACRO(__osf__); | |
335 | PRINT_MACRO(__OSF__); | |
336 | PRINT_MACRO(__QNXNTO__); | |
337 | PRINT_MACRO(__QNX__); | |
338 | PRINT_MACRO(_NTO_VERSION); | |
339 | PRINT_MACRO(__OPEN64__); | |
340 | PRINT_MACRO(__open64); | |
341 | PRINT_MACRO(__NVCC__); | |
342 | PRINT_MACRO(__CUDACC__); | |
343 | PRINT_MACRO(__CUDACC_RDC__); | |
344 | PRINT_MACRO(__CUDACC_VER_MAJOR__); | |
345 | PRINT_MACRO(__CUDACC_VER_MINOR__); | |
346 | PRINT_MACRO(__CUDACC_VER_BUILD__); | |
347 | PRINT_MACRO(__CUDACC_VER__); | |
348 | ||
349 | // Android: | |
350 | PRINT_MACRO(ANDROID); | |
351 | PRINT_MACRO(__ANDROID__); | |
352 | } | |
353 | ||
354 | void print_stdlib_macros() | |
355 | { | |
356 | std::cout << BOOST_STDLIB << std::endl; | |
357 | #ifdef _RWSTD_VER | |
358 | // Rogue Wave 2.x config options: | |
359 | PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES); | |
360 | PRINT_MACRO(_RWSTD_ALLOCATOR); | |
361 | PRINT_MACRO(_RWSTD_BAD_ALLOC_DEFINED); | |
362 | PRINT_MACRO(_RWSTD_BAD_EXCEPTION_DEFINED); | |
363 | PRINT_MACRO(_RWSTD_BOUNDS_CHECKING); | |
364 | PRINT_MACRO(_RWSTD_COMPILE_INSTANTIATE); | |
365 | PRINT_MACRO(_RWSTD_DEFAULT_PRECISION); | |
366 | PRINT_MACRO(_RWSTD_EXCEPTION_DEFINED); | |
367 | PRINT_MACRO(_RWSTD_EXCEPTION_HANDLER_IN_STD); | |
368 | PRINT_MACRO(_RWSTD_EXCEPTION_PREDEFINED); | |
369 | PRINT_MACRO(_RWSTD_FLT_ROUNDS_IS_CONSTANT); | |
370 | PRINT_MACRO(_RWSTD_LOCALIZED_ERRORS); | |
371 | PRINT_MACRO(_RWSTD_MESSAGE); | |
372 | PRINT_MACRO(_RWSTD_MUTEXATTR_DEFAULT); | |
373 | PRINT_MACRO(_RWSTD_NO_ANSI_SPRINTF); | |
374 | PRINT_MACRO(_RWSTD_NO_ARG_MATCH); | |
375 | PRINT_MACRO(_RWSTD_NO_BAD_CAST); | |
376 | PRINT_MACRO(_RWSTD_NO_BASE_CLASS_MATCH); | |
377 | PRINT_MACRO(_RWSTD_NO_BOOL); | |
378 | PRINT_MACRO(_RWSTD_NO_BUILTIN_CTOR); | |
379 | PRINT_MACRO(_RWSTD_NO_CATOPEN_CATGETS); | |
380 | PRINT_MACRO(_RWSTD_NO_CLASS_PARTIAL_SPEC); | |
381 | PRINT_MACRO(_RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES); | |
382 | PRINT_MACRO(_RWSTD_NO_COMPLICATED_EXCEPTIONS); | |
383 | PRINT_MACRO(_RWSTD_NO_COMPLICATED_TYPEDEF); | |
384 | PRINT_MACRO(_RWSTD_NO_CONST_INST); | |
385 | PRINT_MACRO(_RWSTD_NO_CTOR_RETURN); | |
386 | PRINT_MACRO(_RWSTD_NO_DEFAULT_FOR_TPARAM); | |
387 | PRINT_MACRO(_RWSTD_NO_DEFAULT_TEMPLATE_ARGS); | |
388 | PRINT_MACRO(_RWSTD_NO_DESTROY_BUILTIN); | |
389 | PRINT_MACRO(_RWSTD_NO_DESTROY_NONBUILTIN); | |
390 | PRINT_MACRO(_RWSTD_NO_EMBEDDED_TYPEDEF); | |
391 | PRINT_MACRO(_RWSTD_NO_EX_SPEC); | |
392 | PRINT_MACRO(_RWSTD_NO_EXCEPTIONS); | |
393 | PRINT_MACRO(_RWSTD_NO_EXPLICIT); | |
394 | PRINT_MACRO(_RWSTD_NO_EXPLICIT_ARG); | |
395 | PRINT_MACRO(_RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION); | |
396 | PRINT_MACRO(_RWSTD_NO_EXPLICIT_INSTANTIATION); | |
397 | PRINT_MACRO(_RWSTD_NO_EXTENSION); | |
398 | PRINT_MACRO(_RWSTD_NO_FORWARD_SPECIALIZATIONS); | |
399 | PRINT_MACRO(_RWSTD_NO_FPOS_T); | |
400 | PRINT_MACRO(_RWSTD_NO_FRIEND_TEMPLATES); | |
401 | PRINT_MACRO(_RWSTD_NO_FUNC_PARTIAL_SPEC); | |
402 | PRINT_MACRO(_RWSTD_NO_GETTIMEOFDAY); | |
403 | PRINT_MACRO(_RWSTD_NO_GLOBAL_TZ); | |
404 | PRINT_MACRO(_RWSTD_NO_INHERITED_TYPEDEFS); | |
405 | PRINT_MACRO(_RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG); | |
406 | PRINT_MACRO(_RWSTD_NO_INT_TYPEDEF); | |
407 | PRINT_MACRO(_RWSTD_NO_LDIV); | |
408 | PRINT_MACRO(_RWSTD_NO_LEADING_UNDERSCORE); | |
409 | PRINT_MACRO(_RWSTD_NO_LOCALE); | |
410 | PRINT_MACRO(_RWSTD_NO_LONG_NAME); | |
411 | PRINT_MACRO(_RWSTD_NO_LONGDOUBLE); | |
412 | PRINT_MACRO(_RWSTD_NO_MBSTATE_T); | |
413 | PRINT_MACRO(_RWSTD_NO_MEM_CLASS_TEMPLATES); | |
414 | PRINT_MACRO(_RWSTD_NO_MEMBER_TEMPLATES); | |
415 | PRINT_MACRO(_RWSTD_NO_MEMBER_TYPE_TPARAM); | |
416 | PRINT_MACRO(_RWSTD_NO_MEMBER_WO_DEF_CTOR); | |
417 | PRINT_MACRO(_RWSTD_NO_MEMMOVE); | |
418 | PRINT_MACRO(_RWSTD_NO_MULTI_DIM_ARRAY); | |
419 | PRINT_MACRO(_RWSTD_NO_MUTABLE); | |
420 | PRINT_MACRO(_RWSTD_NO_NAME_INJECTION); | |
421 | PRINT_MACRO(_RWSTD_NO_NAMESPACE); | |
422 | PRINT_MACRO(_RWSTD_NO_NESTING_TEMPLATES); | |
423 | PRINT_MACRO(_RWSTD_NO_NEW_BRACKETS); | |
424 | PRINT_MACRO(_RWSTD_NO_NEW_DECL); | |
425 | PRINT_MACRO(_RWSTD_NO_NEW_HEADER); | |
426 | PRINT_MACRO(_RWSTD_NO_NEW_TEMPLATE_SYNTAX); | |
427 | PRINT_MACRO(_RWSTD_NO_NONCLASS_ARROW_RETURN); | |
428 | PRINT_MACRO(_RWSTD_NO_NONTYPE_ARGS); | |
429 | PRINT_MACRO(_RWSTD_NO_ONLY_NEEDED_INSTANTIATION); | |
430 | PRINT_MACRO(_RWSTD_NO_OVERLOAD_C_POW); | |
431 | PRINT_MACRO(_RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION); | |
432 | PRINT_MACRO(_RWSTD_NO_OVERLOAD_WCHAR); | |
433 | PRINT_MACRO(_RWSTD_NO_PART_SPEC_OVERLOAD); | |
434 | PRINT_MACRO(_RWSTD_NO_RET_TEMPLATE); | |
435 | PRINT_MACRO(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES); | |
436 | PRINT_MACRO(_RWSTD_NO_STATIC_CAST); | |
437 | PRINT_MACRO(_RWSTD_NO_STATIC_DEF); | |
438 | PRINT_MACRO(_RWSTD_NO_STATIC_DEF2); | |
439 | PRINT_MACRO(_RWSTD_NO_STATIC_DEF3); | |
440 | PRINT_MACRO(_RWSTD_NO_STATIC_MEM_DEF); | |
441 | PRINT_MACRO(_RWSTD_NO_STI_SIMPLE); | |
442 | PRINT_MACRO(_RWSTD_NO_STI_TEMPLATE); | |
443 | PRINT_MACRO(_RWSTD_NO_STREAM_LONG_DOUBLE); | |
444 | PRINT_MACRO(_RWSTD_NO_STRFTIME_CAPC); | |
445 | PRINT_MACRO(_RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE); | |
446 | PRINT_MACRO(_RWSTD_NO_SWPRINTF); | |
447 | PRINT_MACRO(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE); | |
448 | PRINT_MACRO(_RWSTD_NO_TEMPLATE_TEMPLATE); | |
449 | PRINT_MACRO(_RWSTD_NO_THREADS); | |
450 | PRINT_MACRO(_RWSTD_NO_THROW_SPEC_ON_NEW); | |
451 | PRINT_MACRO(_RWSTD_NO_THROW_WITH_SHARED); | |
452 | PRINT_MACRO(_RWSTD_NO_TYPEDEF_INST); | |
453 | PRINT_MACRO(_RWSTD_NO_TYPEDEF_OVERLOAD); | |
454 | PRINT_MACRO(_RWSTD_NO_TYPENAME); | |
455 | PRINT_MACRO(_RWSTD_NO_UNDEFINED_FRIEND); | |
456 | PRINT_MACRO(_RWSTD_NO_UNINITIALIZED_STATIC_DEF); | |
457 | PRINT_MACRO(_RWSTD_NO_WCHAR_H); | |
458 | PRINT_MACRO(_RWSTD_NO_WCTYPE_H); | |
459 | PRINT_MACRO(_RWSTD_NO_WIDE_CHAR); | |
460 | PRINT_MACRO(_RWSTD_NO_WINT_TYPE); | |
461 | PRINT_MACRO(_RWSTD_NO_WSTR); | |
462 | PRINT_MACRO(_RWSTD_NOT_ALL_WSTR_CFUNCTIONS); | |
463 | PRINT_MACRO(_RWSTD_POSIX_D10_THREADS); | |
464 | PRINT_MACRO(_RWSTD_POSIX_THREADS); | |
465 | PRINT_MACRO(_RWSTD_REQUIRES_IEEEFP); | |
466 | PRINT_MACRO(_RWSTD_SOLARIS_THREADS); | |
467 | PRINT_MACRO(_RWSTD_STRUCT_TM_TZ); | |
468 | PRINT_MACRO(_RWSTD_WIDE_STRING_NULL_PROBLEM); | |
469 | #elif defined(__STD_RWCOMPILER_H__) | |
470 | // Rogue Wave 1.x std lib: | |
471 | PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES); | |
472 | PRINT_MACRO(RWSTD_ALLOCATOR); | |
473 | PRINT_MACRO(RWSTD_BAD_ALLOC_DEFINED); | |
474 | PRINT_MACRO(RWSTD_BAD_EXCEPTION_DEFINED); | |
475 | PRINT_MACRO(RWSTD_BOUNDS_CHECKING); | |
476 | PRINT_MACRO(RWSTD_COMPILE_INSTANTIATE); | |
477 | PRINT_MACRO(RWSTD_DEFAULT_PRECISION); | |
478 | PRINT_MACRO(RWSTD_EXCEPTION_DEFINED); | |
479 | PRINT_MACRO(RWSTD_EXCEPTION_HANDLER_IN_STD); | |
480 | PRINT_MACRO(RWSTD_EXCEPTION_PREDEFINED); | |
481 | PRINT_MACRO(RWSTD_FLT_ROUNDS_IS_CONSTANT); | |
482 | PRINT_MACRO(RWSTD_LOCALIZED_ERRORS); | |
483 | PRINT_MACRO(RWSTD_MESSAGE); | |
484 | PRINT_MACRO(RWSTD_MUTEXATTR_DEFAULT); | |
485 | PRINT_MACRO(RWSTD_NO_ANSI_SPRINTF); | |
486 | PRINT_MACRO(RWSTD_NO_ARG_MATCH); | |
487 | PRINT_MACRO(RWSTD_NO_BAD_CAST); | |
488 | PRINT_MACRO(RWSTD_NO_BASE_CLASS_MATCH); | |
489 | PRINT_MACRO(RWSTD_NO_BOOL); | |
490 | PRINT_MACRO(RWSTD_NO_BUILTIN_CTOR); | |
491 | PRINT_MACRO(RWSTD_NO_CATOPEN_CATGETS); | |
492 | PRINT_MACRO(RWSTD_NO_CLASS_PARTIAL_SPEC); | |
493 | PRINT_MACRO(RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES); | |
494 | PRINT_MACRO(RWSTD_NO_COMPLICATED_EXCEPTIONS); | |
495 | PRINT_MACRO(RWSTD_NO_COMPLICATED_TYPEDEF); | |
496 | PRINT_MACRO(RWSTD_NO_CONST_INST); | |
497 | PRINT_MACRO(RWSTD_NO_CTOR_RETURN); | |
498 | PRINT_MACRO(RWSTD_NO_DEFAULT_FOR_TPARAM); | |
499 | PRINT_MACRO(RWSTD_NO_DEFAULT_TEMPLATE_ARGS); | |
500 | PRINT_MACRO(RWSTD_NO_DESTROY_BUILTIN); | |
501 | PRINT_MACRO(RWSTD_NO_DESTROY_NONBUILTIN); | |
502 | PRINT_MACRO(RWSTD_NO_EMBEDDED_TYPEDEF); | |
503 | PRINT_MACRO(RWSTD_NO_EX_SPEC); | |
504 | PRINT_MACRO(RWSTD_NO_EXCEPTIONS); | |
505 | PRINT_MACRO(RWSTD_NO_EXPLICIT); | |
506 | PRINT_MACRO(RWSTD_NO_EXPLICIT_ARG); | |
507 | PRINT_MACRO(RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION); | |
508 | PRINT_MACRO(RWSTD_NO_EXPLICIT_INSTANTIATION); | |
509 | PRINT_MACRO(RWSTD_NO_EXTENSION); | |
510 | PRINT_MACRO(RWSTD_NO_FORWARD_SPECIALIZATIONS); | |
511 | PRINT_MACRO(RWSTD_NO_FPOS_T); | |
512 | PRINT_MACRO(RWSTD_NO_FRIEND_TEMPLATES); | |
513 | PRINT_MACRO(RWSTD_NO_FUNC_PARTIAL_SPEC); | |
514 | PRINT_MACRO(RWSTD_NO_GETTIMEOFDAY); | |
515 | PRINT_MACRO(RWSTD_NO_GLOBAL_TZ); | |
516 | PRINT_MACRO(RWSTD_NO_INHERITED_TYPEDEFS); | |
517 | PRINT_MACRO(RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG); | |
518 | PRINT_MACRO(RWSTD_NO_INT_TYPEDEF); | |
519 | PRINT_MACRO(RWSTD_NO_LDIV); | |
520 | PRINT_MACRO(RWSTD_NO_LEADING_UNDERSCORE); | |
521 | PRINT_MACRO(RWSTD_NO_LOCALE); | |
522 | PRINT_MACRO(RWSTD_NO_LONG_NAME); | |
523 | PRINT_MACRO(RWSTD_NO_LONGDOUBLE); | |
524 | PRINT_MACRO(RWSTD_NO_MBSTATE_T); | |
525 | PRINT_MACRO(RWSTD_NO_MEM_CLASS_TEMPLATES); | |
526 | PRINT_MACRO(RWSTD_NO_MEMBER_TEMPLATES); | |
527 | PRINT_MACRO(RWSTD_NO_MEMBER_TYPE_TPARAM); | |
528 | PRINT_MACRO(RWSTD_NO_MEMBER_WO_DEF_CTOR); | |
529 | PRINT_MACRO(RWSTD_NO_MEMMOVE); | |
530 | PRINT_MACRO(RWSTD_NO_MULTI_DIM_ARRAY); | |
531 | PRINT_MACRO(RWSTD_NO_MUTABLE); | |
532 | PRINT_MACRO(RWSTD_NO_NAME_INJECTION); | |
533 | PRINT_MACRO(RWSTD_NO_NAMESPACE); | |
534 | PRINT_MACRO(RWSTD_NO_NESTING_TEMPLATES); | |
535 | PRINT_MACRO(RWSTD_NO_NEW_BRACKETS); | |
536 | PRINT_MACRO(RWSTD_NO_NEW_DECL); | |
537 | PRINT_MACRO(RWSTD_NO_NEW_HEADER); | |
538 | PRINT_MACRO(RWSTD_NO_NEW_TEMPLATE_SYNTAX); | |
539 | PRINT_MACRO(RWSTD_NO_NONCLASS_ARROW_RETURN); | |
540 | PRINT_MACRO(RWSTD_NO_NONTYPE_ARGS); | |
541 | PRINT_MACRO(RWSTD_NO_ONLY_NEEDED_INSTANTIATION); | |
542 | PRINT_MACRO(RWSTD_NO_OVERLOAD_C_POW); | |
543 | PRINT_MACRO(RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION); | |
544 | PRINT_MACRO(RWSTD_NO_OVERLOAD_WCHAR); | |
545 | PRINT_MACRO(RWSTD_NO_PART_SPEC_OVERLOAD); | |
546 | PRINT_MACRO(RWSTD_NO_RET_TEMPLATE); | |
547 | PRINT_MACRO(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES); | |
548 | PRINT_MACRO(RWSTD_NO_STATIC_CAST); | |
549 | PRINT_MACRO(RWSTD_NO_STATIC_DEF); | |
550 | PRINT_MACRO(RWSTD_NO_STATIC_DEF2); | |
551 | PRINT_MACRO(RWSTD_NO_STATIC_DEF3); | |
552 | PRINT_MACRO(RWSTD_NO_STATIC_MEM_DEF); | |
553 | PRINT_MACRO(RWSTD_NO_STI_SIMPLE); | |
554 | PRINT_MACRO(RWSTD_NO_STI_TEMPLATE); | |
555 | PRINT_MACRO(RWSTD_NO_STREAM_LONG_DOUBLE); | |
556 | PRINT_MACRO(RWSTD_NO_STRFTIME_CAPC); | |
557 | PRINT_MACRO(RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE); | |
558 | PRINT_MACRO(RWSTD_NO_SWPRINTF); | |
559 | PRINT_MACRO(RWSTD_NO_TEMPLATE_ON_RETURN_TYPE); | |
560 | PRINT_MACRO(RWSTD_NO_TEMPLATE_TEMPLATE); | |
561 | PRINT_MACRO(RWSTD_NO_THREADS); | |
562 | PRINT_MACRO(RWSTD_NO_THROW_SPEC_ON_NEW); | |
563 | PRINT_MACRO(RWSTD_NO_THROW_WITH_SHARED); | |
564 | PRINT_MACRO(RWSTD_NO_TYPEDEF_INST); | |
565 | PRINT_MACRO(RWSTD_NO_TYPEDEF_OVERLOAD); | |
566 | PRINT_MACRO(RWSTD_NO_TYPENAME); | |
567 | PRINT_MACRO(RWSTD_NO_UNDEFINED_FRIEND); | |
568 | PRINT_MACRO(RWSTD_NO_UNINITIALIZED_STATIC_DEF); | |
569 | PRINT_MACRO(RWSTD_NO_WCHAR_H); | |
570 | PRINT_MACRO(RWSTD_NO_WCTYPE_H); | |
571 | PRINT_MACRO(RWSTD_NO_WIDE_CHAR); | |
572 | PRINT_MACRO(RWSTD_NO_WINT_TYPE); | |
573 | PRINT_MACRO(RWSTD_NO_WSTR); | |
574 | PRINT_MACRO(RWSTD_NOT_ALL_WSTR_CFUNCTIONS); | |
575 | PRINT_MACRO(RWSTD_POSIX_D10_THREADS); | |
576 | PRINT_MACRO(RWSTD_POSIX_THREADS); | |
577 | PRINT_MACRO(RWSTD_REQUIRES_IEEEFP); | |
578 | PRINT_MACRO(RWSTD_SOLARIS_THREADS); | |
579 | PRINT_MACRO(RWSTD_STRUCT_TM_TZ); | |
580 | PRINT_MACRO(RWSTD_WIDE_STRING_NULL_PROBLEM); | |
581 | #endif | |
582 | // Dinkumware options: | |
583 | PRINT_MACRO(_CPPLIB_VER); | |
584 | PRINT_MACRO(_GLOBAL_USING); | |
585 | PRINT_MACRO(_HAS_EXCEPTIONS); | |
586 | PRINT_MACRO(_HAS_MEMBER_TEMPLATES_REBIND); | |
587 | PRINT_MACRO(_HAS_TEMPLATE_PARTIAL_ORDERING); | |
588 | // Libc++: | |
589 | PRINT_MACRO(_LIBCPP_VERSION); | |
590 | // STLPort and generic SGI STL options: | |
591 | PRINT_MACRO(__SGI_STL_NO_ARROW_OPERATOR); | |
592 | PRINT_MACRO(__SGI_STL_OWN_IOSTREAMS); | |
593 | PRINT_MACRO(__SGI_STL_PORT); | |
594 | PRINT_MACRO(__STL_AUTOMATIC_TYPE_TRAITS); | |
595 | PRINT_MACRO(__STL_BASE_MATCH_BUG); | |
596 | PRINT_MACRO(__STL_BASE_TYPEDEF_BUG); | |
597 | PRINT_MACRO(__STL_BASE_TYPEDEF_OUTSIDE_BUG); | |
598 | PRINT_MACRO(__STL_BROKEN_USING_DIRECTIVE); | |
599 | PRINT_MACRO(__STL_CONST_CONSTRUCTOR_BUG); | |
600 | PRINT_MACRO(__STL_DEBUG); | |
601 | PRINT_MACRO(__STL_DEBUG_ALLOC); | |
602 | PRINT_MACRO(__STL_DEFAULT_CONSTRUCTOR_BUG); | |
603 | PRINT_MACRO(__STL_DEFAULT_TYPE_PARAM); | |
604 | PRINT_MACRO(__STL_DONT_REDEFINE_STD); | |
605 | PRINT_MACRO(__STL_DONT_USE_BOOL_TYPEDEF); | |
606 | PRINT_MACRO(__STL_HAS_NO_EXCEPTIONS); | |
607 | PRINT_MACRO(__STL_HAS_NO_NAMESPACES); | |
608 | PRINT_MACRO(__STL_HAS_NO_NEW_C_HEADERS); | |
609 | PRINT_MACRO(__STL_HAS_NO_NEW_IOSTREAMS); | |
610 | PRINT_MACRO(__STL_IMPORT_VENDOR_CSTD); | |
611 | PRINT_MACRO(__STL_LIMITED_DEFAULT_TEMPLATES); | |
612 | PRINT_MACRO(__STL_LINK_TIME_INSTANTIATION); | |
613 | PRINT_MACRO(__STL_LONG_LONG); | |
614 | PRINT_MACRO(__STL_LOOP_INLINE_PROBLEMS); | |
615 | PRINT_MACRO(__STL_MEMBER_POINTER_PARAM_BUG); | |
616 | PRINT_MACRO(__STL_NEED_EXPLICIT); | |
617 | PRINT_MACRO(__STL_NEED_MUTABLE); | |
618 | PRINT_MACRO(__STL_NEED_TYPENAME); | |
619 | PRINT_MACRO(__STL_NESTED_TYPE_PARAM_BUG); | |
620 | PRINT_MACRO(__STL_NO_BAD_ALLOC); | |
621 | PRINT_MACRO(__STL_NO_BOOL); | |
622 | PRINT_MACRO(__STL_NO_CLASS_PARTIAL_SPECIALIZATION); | |
623 | PRINT_MACRO(__STL_NO_CSTD_FUNCTION_IMPORTS); | |
624 | PRINT_MACRO(__STL_NO_DEFAULT_NON_TYPE_PARAM); | |
625 | PRINT_MACRO(__STL_NO_EXCEPTION_HEADER); | |
626 | PRINT_MACRO(__STL_NO_EXCEPTION_SPEC); | |
627 | PRINT_MACRO(__STL_NO_EXCEPTIONS); | |
628 | PRINT_MACRO(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS); | |
629 | PRINT_MACRO(__STL_NO_FRIEND_TEMPLATES); | |
630 | PRINT_MACRO(__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER); | |
631 | PRINT_MACRO(__STL_NO_IOSTREAMS); | |
632 | PRINT_MACRO(__STL_NO_LONG_DOUBLE); | |
633 | PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_CLASSES); | |
634 | PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_KEYWORD); | |
635 | PRINT_MACRO(__STL_NO_MEMBER_TEMPLATES); | |
636 | PRINT_MACRO(__STL_NO_METHOD_SPECIALIZATION); | |
637 | PRINT_MACRO(__STL_NO_NAMESPACES); | |
638 | PRINT_MACRO(__STL_NO_NEW_IOSTREAMS); | |
639 | PRINT_MACRO(__STL_NO_NEW_NEW_HEADER); | |
640 | PRINT_MACRO(__STL_NO_NEW_STYLE_CASTS); | |
641 | PRINT_MACRO(__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX); | |
642 | PRINT_MACRO(__STL_NO_QUALIFIED_FRIENDS); | |
643 | PRINT_MACRO(__STL_NO_RELOPS_NAMESPACE); | |
644 | PRINT_MACRO(__STL_NO_SGI_IOSTREAMS); | |
645 | PRINT_MACRO(__STL_NO_STATIC_TEMPLATE_DATA); | |
646 | PRINT_MACRO(__STL_NO_TEMPLATE_CONVERSIONS); | |
647 | PRINT_MACRO(__STL_NO_WCHAR_T); | |
648 | PRINT_MACRO(__STL_NON_TYPE_TMPL_PARAM_BUG); | |
649 | PRINT_MACRO(__STL_NONTEMPL_BASE_MATCH_BUG); | |
650 | PRINT_MACRO(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS); | |
651 | PRINT_MACRO(__STL_RAND48); | |
652 | PRINT_MACRO(__STL_STATIC_ARRAY_BUG); | |
653 | PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG); | |
654 | PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG); | |
655 | PRINT_MACRO(__STL_THROW_RETURN_BUG); | |
656 | PRINT_MACRO(__STL_TRIVIAL_CONSTRUCTOR_BUG); | |
657 | PRINT_MACRO(__STL_TRIVIAL_DESTRUCTOR_BUG); | |
658 | PRINT_MACRO(__STL_UNINITIALIZABLE_PRIVATE); | |
659 | PRINT_MACRO(__STL_USE_ABBREVS); | |
660 | PRINT_MACRO(__STL_USE_DEFALLOC); | |
661 | PRINT_MACRO(__STL_USE_MALLOC); | |
662 | PRINT_MACRO(__STL_USE_NEW_C_HEADERS); | |
663 | PRINT_MACRO(__STL_USE_NEW_IOSTREAMS); | |
664 | PRINT_MACRO(__STL_USE_NEWALLOC); | |
665 | PRINT_MACRO(__STL_USE_OWN_NAMESPACE); | |
666 | PRINT_MACRO(__STL_USE_SGI_ALLOCATORS); | |
667 | PRINT_MACRO(__STL_WCHAR_T_IS_USHORT); | |
668 | PRINT_MACRO(__STL_WEAK_ATTRIBUTE); | |
669 | PRINT_MACRO(__STL_YVALS_H); | |
670 | PRINT_MACRO(_NOTHREADS); | |
671 | PRINT_MACRO(_PTHREADS); | |
672 | #if defined(__SGI_STL_PORT) && (__SGI_STL_PORT > 0x0400) | |
673 | PRINT_MACRO(_STLP_AUTOMATIC_TYPE_TRAITS); | |
674 | PRINT_MACRO(_STLP_BASE_MATCH_BUG); | |
675 | PRINT_MACRO(_STLP_BASE_TYPEDEF_BUG); | |
676 | PRINT_MACRO(_STLP_BASE_TYPEDEF_OUTSIDE_BUG); | |
677 | PRINT_MACRO(_STLP_BROKEN_USING_DIRECTIVE); | |
678 | PRINT_MACRO(_STLP_CONST_CONSTRUCTOR_BUG); | |
679 | PRINT_MACRO(_STLP_DEBUG); | |
680 | PRINT_MACRO(_STLP_DEBUG_ALLOC); | |
681 | PRINT_MACRO(_STLP_DEFAULT_CONSTRUCTOR_BUG); | |
682 | PRINT_MACRO(_STLP_DEFAULT_TYPE_PARAM); | |
683 | PRINT_MACRO(_STLP_DONT_REDEFINE_STD); | |
684 | PRINT_MACRO(_STLP_DONT_USE_BOOL_TYPEDEF); | |
685 | PRINT_MACRO(_STLP_HAS_NO_EXCEPTIONS); | |
686 | PRINT_MACRO(_STLP_HAS_NO_NAMESPACES); | |
687 | PRINT_MACRO(_STLP_HAS_NO_NEW_C_HEADERS); | |
688 | PRINT_MACRO(_STLP_HAS_NO_NEW_IOSTREAMS); | |
689 | PRINT_MACRO(_STLP_IMPORT_VENDOR_CSTD); | |
690 | PRINT_MACRO(_STLP_LIMITED_DEFAULT_TEMPLATES); | |
691 | PRINT_MACRO(_STLP_LINK_TIME_INSTANTIATION); | |
692 | PRINT_MACRO(_STLP_LONG_LONG); | |
693 | PRINT_MACRO(_STLP_LOOP_INLINE_PROBLEMS); | |
694 | PRINT_MACRO(_STLP_MEMBER_POINTER_PARAM_BUG); | |
695 | PRINT_MACRO(_STLP_NEED_EXPLICIT); | |
696 | PRINT_MACRO(_STLP_NEED_MUTABLE); | |
697 | PRINT_MACRO(_STLP_NEED_TYPENAME); | |
698 | PRINT_MACRO(_STLP_NESTED_TYPE_PARAM_BUG); | |
699 | PRINT_MACRO(_STLP_NO_ARROW_OPERATOR); | |
700 | PRINT_MACRO(_STLP_NO_BAD_ALLOC); | |
701 | PRINT_MACRO(_STLP_NO_BOOL); | |
702 | PRINT_MACRO(_STLP_NO_CLASS_PARTIAL_SPECIALIZATION); | |
703 | PRINT_MACRO(_STLP_NO_CSTD_FUNCTION_IMPORTS); | |
704 | PRINT_MACRO(_STLP_NO_DEFAULT_NON_TYPE_PARAM); | |
705 | PRINT_MACRO(_STLP_NO_EXCEPTION_HEADER); | |
706 | PRINT_MACRO(_STLP_NO_EXCEPTION_SPEC); | |
707 | PRINT_MACRO(_STLP_NO_EXCEPTIONS); | |
708 | PRINT_MACRO(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS); | |
709 | PRINT_MACRO(_STLP_NO_FRIEND_TEMPLATES); | |
710 | PRINT_MACRO(_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER); | |
711 | PRINT_MACRO(_STLP_NO_IOSTREAMS); | |
712 | PRINT_MACRO(_STLP_NO_LONG_DOUBLE); | |
713 | PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_CLASSES); | |
714 | PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_KEYWORD); | |
715 | PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATES); | |
716 | PRINT_MACRO(_STLP_NO_METHOD_SPECIALIZATION); | |
717 | PRINT_MACRO(_STLP_NO_NAMESPACES); | |
718 | PRINT_MACRO(_STLP_NO_NEW_IOSTREAMS); | |
719 | PRINT_MACRO(_STLP_NO_NEW_NEW_HEADER); | |
720 | PRINT_MACRO(_STLP_NO_NEW_STYLE_CASTS); | |
721 | PRINT_MACRO(_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX); | |
722 | PRINT_MACRO(_STLP_NO_QUALIFIED_FRIENDS); | |
723 | PRINT_MACRO(_STLP_NO_RELOPS_NAMESPACE); | |
724 | PRINT_MACRO(_STLP_NO_SGI_IOSTREAMS); | |
725 | PRINT_MACRO(_STLP_NO_STATIC_TEMPLATE_DATA); | |
726 | PRINT_MACRO(_STLP_NO_TEMPLATE_CONVERSIONS); | |
727 | PRINT_MACRO(_STLP_NO_WCHAR_T); | |
728 | PRINT_MACRO(_STLP_NON_TYPE_TMPL_PARAM_BUG); | |
729 | PRINT_MACRO(_STLP_NONTEMPL_BASE_MATCH_BUG); | |
730 | PRINT_MACRO(_STLP_OWN_IOSTREAMS); | |
731 | PRINT_MACRO(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS); | |
732 | PRINT_MACRO(_STLP_RAND48); | |
733 | PRINT_MACRO(_STLP_STATIC_ARRAY_BUG); | |
734 | PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG); | |
735 | PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG); | |
736 | PRINT_MACRO(_STLP_THROW_RETURN_BUG); | |
737 | PRINT_MACRO(_STLP_TRIVIAL_CONSTRUCTOR_BUG); | |
738 | PRINT_MACRO(_STLP_TRIVIAL_DESTRUCTOR_BUG); | |
739 | PRINT_MACRO(_STLP_UNINITIALIZABLE_PRIVATE); | |
740 | PRINT_MACRO(_STLP_USE_ABBREVS); | |
741 | PRINT_MACRO(_STLP_USE_DEFALLOC); | |
742 | PRINT_MACRO(_STLP_USE_MALLOC); | |
743 | PRINT_MACRO(_STLP_USE_NEW_C_HEADERS); | |
744 | PRINT_MACRO(_STLP_USE_NEWALLOC); | |
745 | PRINT_MACRO(_STLP_USE_OWN_NAMESPACE); | |
746 | PRINT_MACRO(_STLP_USE_SGI_ALLOCATORS); | |
747 | PRINT_MACRO(_STLP_WCHAR_T_IS_USHORT); | |
748 | PRINT_MACRO(_STLP_WEAK_ATTRIBUTE); | |
749 | PRINT_MACRO(_STLP_YVALS_H); | |
750 | #endif | |
751 | PRINT_MACRO(__GLIBCPP__); | |
752 | PRINT_MACRO(_GLIBCPP_USE_WCHAR_T); | |
753 | PRINT_MACRO(_GLIBCPP_VERSION); | |
754 | PRINT_MACRO(__GLIBCXX__); | |
755 | PRINT_MACRO(_GLIBCXX_USE_WCHAR_T); | |
756 | PRINT_MACRO(_GLIBCXX_VERSION); | |
757 | PRINT_MACRO(_GLIBCXX_USE_LONG_LONG); | |
758 | PRINT_MACRO(_GLIBCXX_USE_NLS); | |
759 | PRINT_MACRO(_GLIBCXX_USE_C99_MATH); | |
760 | PRINT_MACRO(_GLIBCXX_USE_C99); | |
761 | PRINT_MACRO(_GLIBCXX_CONCEPT_CHECKS); | |
762 | PRINT_MACRO(_GLIBCXX_USE_LFS); | |
763 | PRINT_MACRO(_GLIBCXX_SYMVER); | |
764 | PRINT_MACRO(_GLIBCXX_MEM_LIMITS); | |
765 | PRINT_MACRO(_GLIBCXX_HOSTED); | |
766 | PRINT_MACRO(_GLIBCXX_SJLJ_EXCEPTIONS); | |
767 | ||
768 | // Modena C++ standard library | |
769 | PRINT_MACRO(MSIPL_ANSI_HEADER); | |
770 | PRINT_MACRO(MSIPL_BOOL_BUILTIN); | |
771 | PRINT_MACRO(MSIPL_DEF_EXPLICIT); | |
772 | PRINT_MACRO(MSIPL_DEF_TEMPARG); | |
773 | PRINT_MACRO(MSIPL_EXPINST_ALLOWED); | |
774 | PRINT_MACRO(MSIPL_EXPLICIT_FUNC_TEMPLATE_ARG); | |
775 | PRINT_MACRO(MISPL_EXPLICIT_TEMPLATE_ARGUMENT); | |
776 | PRINT_MACRO(MSIPL_FUNC_TEMPLATE_DEFARG); | |
777 | PRINT_MACRO(MSIPL_MEMBER_TEMPLATE); | |
778 | PRINT_MACRO(MSIPL_MULTITHREAD); | |
779 | PRINT_MACRO(MSIPL_NON_TYPE_TEMPARG); | |
780 | PRINT_MACRO(MSIPL_PARTIAL_TEMPL); | |
781 | PRINT_MACRO(MSIPL_STATIC_CONST_INIT); | |
782 | PRINT_MACRO(MSIPL_TEMPL_NEWSPEC); | |
783 | PRINT_MACRO(MSIPL_TYPENAME); | |
784 | PRINT_MACRO(MSIPL_USING_NAMESPACE); | |
785 | PRINT_MACRO(MSIPL_WCHART); | |
786 | } | |
787 | ||
788 | void print_platform_macros() | |
789 | { | |
790 | std::cout << "Detected Platform: " << BOOST_PLATFORM << std::endl; | |
791 | // signedness: | |
792 | PRINT_SIGN(char); | |
793 | PRINT_SIGN(wchar_t); | |
794 | // byte ordering: | |
795 | PRINT_ORDER(short); | |
796 | PRINT_ORDER(int); | |
797 | PRINT_ORDER(long); | |
798 | // sizes: | |
799 | PRINT_EXPRESSION(sizeof(wchar_t)); | |
800 | PRINT_EXPRESSION(sizeof(short)); | |
801 | PRINT_EXPRESSION(sizeof(int)); | |
802 | PRINT_EXPRESSION(sizeof(long)); | |
803 | PRINT_EXPRESSION(sizeof(size_t)); | |
804 | PRINT_EXPRESSION(sizeof(ptrdiff_t)); | |
805 | PRINT_EXPRESSION(sizeof(void*)); | |
806 | PRINT_EXPRESSION(sizeof(void(*)(void))); | |
807 | PRINT_EXPRESSION(sizeof(float)); | |
808 | PRINT_EXPRESSION(sizeof(double)); | |
809 | PRINT_EXPRESSION(sizeof(long double)); | |
810 | // limits: | |
811 | PRINT_MACRO(CHAR_BIT); | |
812 | PRINT_MACRO(CHAR_MAX); | |
813 | PRINT_MACRO(WCHAR_MAX); | |
814 | PRINT_MACRO(SHRT_MAX); | |
815 | PRINT_MACRO(INT_MAX); | |
816 | PRINT_MACRO(LONG_MAX); | |
817 | PRINT_MACRO(LLONG_MAX); | |
818 | PRINT_MACRO(LONG_LONG_MAX); | |
819 | PRINT_MACRO(LONGLONG_MAX); | |
820 | PRINT_MACRO(ULLONG_MAX); // <boost/cstdint.hpp> uses these, so we need to know them | |
821 | PRINT_MACRO(ULONG_LONG_MAX); | |
822 | PRINT_MACRO(ULONGLONG_MAX); | |
823 | // general C99: | |
824 | PRINT_MACRO(__STDC_IEC_559__); | |
825 | PRINT_MACRO(__STDC_IEC_559_COMPLEX__); | |
826 | PRINT_MACRO(__STDC_ISO_10646__); | |
827 | // GNU: | |
828 | PRINT_MACRO(__GLIBC__); | |
829 | PRINT_MACRO(__GLIBC_MINOR__); | |
830 | PRINT_MACRO(__GNU_LIBRARY__); | |
831 | PRINT_MACRO(_BSD_SOURCE); | |
832 | PRINT_MACRO(_GNU_SOURCE); | |
833 | PRINT_MACRO(_ISOC99_SOURCE); | |
834 | PRINT_MACRO(_ISOC9X_SOURCE); | |
835 | PRINT_MACRO(_LARGEFILE_SOURCE); | |
836 | PRINT_MACRO(_LARGEFILE64_SOURCE); | |
837 | PRINT_MACRO(_SVID_SOURCE); | |
838 | PRINT_MACRO(_THREAD_SAFE); | |
839 | PRINT_MACRO(_XOPEN_SOURCE_EXTENDED); | |
840 | PRINT_MACRO(XPG); | |
841 | PRINT_MACRO(__MINGW32_MAJOR_VERSION); | |
842 | PRINT_MACRO(__MINGW32_MINOR_VERSION); | |
843 | // POSIX: | |
844 | PRINT_MACRO(_POSIX_ADVISORY_INFO); | |
845 | PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO); | |
846 | PRINT_MACRO(_POSIX_BARRIERS); | |
847 | PRINT_MACRO(_POSIX_C_SOURCE); | |
848 | PRINT_MACRO(_POSIX_CHOWN_RESTRICTED); | |
849 | PRINT_MACRO(_POSIX_CLOCK_SELECTION); | |
850 | PRINT_MACRO(_POSIX_CPUTIME); | |
851 | PRINT_MACRO(_POSIX_FSYNC); | |
852 | PRINT_MACRO(_POSIX_JOB_CONTROL); | |
853 | PRINT_MACRO(_POSIX_MAPPED_FILES); | |
854 | PRINT_MACRO(_POSIX_MEMLOCK); | |
855 | PRINT_MACRO(_POSIX_MEMLOCK_RANGE); | |
856 | PRINT_MACRO(_POSIX_MEMORY_PROTECTION); | |
857 | PRINT_MACRO(_POSIX_MESSAGE_PASSING); | |
858 | PRINT_MACRO(_POSIX_MONOTONIC_CLOCK); | |
859 | PRINT_MACRO(_POSIX_NO_TRUNC); | |
860 | PRINT_MACRO(_POSIX_PRIORITIZED_IO); | |
861 | PRINT_MACRO(_POSIX_PRIORITY_SCHEDULING); | |
862 | PRINT_MACRO(_POSIX_RAW_SOCKETS); | |
863 | PRINT_MACRO(_POSIX_READER_WRITER_LOCKS); | |
864 | PRINT_MACRO(_POSIX_REALTIME_SIGNALS); | |
865 | PRINT_MACRO(_POSIX_REGEXP); | |
866 | PRINT_MACRO(_POSIX_SAVED_IDS); | |
867 | PRINT_MACRO(_POSIX_SEMAPHORES); | |
868 | PRINT_MACRO(_POSIX_SHARED_MEMORY_OBJECTS); | |
869 | PRINT_MACRO(_POSIX_SHELL); | |
870 | PRINT_MACRO(_POSIX_SOURCE); | |
871 | PRINT_MACRO(_POSIX_SPAWN); | |
872 | PRINT_MACRO(_POSIX_SPIN_LOCKS); | |
873 | PRINT_MACRO(_POSIX_SPORADIC_SERVER); | |
874 | PRINT_MACRO(_POSIX_SYNCHRONIZED_IO); | |
875 | PRINT_MACRO(_POSIX_THREAD_ATTR_STACKADDR); | |
876 | PRINT_MACRO(_POSIX_THREAD_ATTR_STACKSIZE); | |
877 | PRINT_MACRO(_POSIX_THREAD_CPUTIME); | |
878 | PRINT_MACRO(_POSIX_THREAD_PRIO_INHERIT); | |
879 | PRINT_MACRO(_POSIX_THREAD_PRIO_PROTECT); | |
880 | PRINT_MACRO(_POSIX_THREAD_PRIORITY_SCHEDULING); | |
881 | PRINT_MACRO(_POSIX_THREAD_PROCESS_SHARED); | |
882 | PRINT_MACRO(_POSIX_THREAD_SAFE_FUNCTIONS); | |
883 | PRINT_MACRO(_POSIX_THREAD_SPORADIC_SERVER); | |
884 | PRINT_MACRO(_POSIX_THREADS); | |
885 | PRINT_MACRO(_POSIX_TIMEOUTS); | |
886 | PRINT_MACRO(_POSIX_TIMERS); | |
887 | PRINT_MACRO(_POSIX_TRACE); | |
888 | PRINT_MACRO(_POSIX_TRACE_EVENT_FILTER); | |
889 | PRINT_MACRO(_POSIX_TRACE_INHERIT); | |
890 | PRINT_MACRO(_POSIX_TRACE_LOG); | |
891 | PRINT_MACRO(_POSIX_TYPED_MEMORY_OBJECTS); | |
892 | PRINT_MACRO(_POSIX_VDISABLE); | |
893 | PRINT_MACRO(_POSIX_VERSION); | |
894 | PRINT_MACRO(_POSIX2_C_BIND); | |
895 | PRINT_MACRO(_POSIX2_C_DEV); | |
896 | PRINT_MACRO(_POSIX2_CHAR_TERM); | |
897 | PRINT_MACRO(_POSIX2_FORT_DEV); | |
898 | PRINT_MACRO(_POSIX2_FORT_RUN); | |
899 | PRINT_MACRO(_POSIX2_LOCALEDEF); | |
900 | PRINT_MACRO(_POSIX2_PBS); | |
901 | PRINT_MACRO(_POSIX2_PBS_ACCOUNTING); | |
902 | PRINT_MACRO(_POSIX2_PBS_CHECKPOINT); | |
903 | PRINT_MACRO(_POSIX2_PBS_LOCATE); | |
904 | PRINT_MACRO(_POSIX2_PBS_MESSAGE); | |
905 | PRINT_MACRO(_POSIX2_PBS_TRACK); | |
906 | PRINT_MACRO(_POSIX2_SW_DEV); | |
907 | PRINT_MACRO(_POSIX2_UPE); | |
908 | PRINT_MACRO(_POSIX2_VERSION); | |
909 | PRINT_MACRO(_V6_ILP32_OFF32); | |
910 | PRINT_MACRO(_V6_ILP32_OFFBIG); | |
911 | PRINT_MACRO(_V6_LP64_OFF64); | |
912 | PRINT_MACRO(_V6_LPBIG_OFFBIG); | |
913 | PRINT_MACRO(_XBS5_ILP32_OFF32); | |
914 | PRINT_MACRO(_XBS5_ILP32_OFFBIG); | |
915 | PRINT_MACRO(_XBS5_LP64_OFF64); | |
916 | PRINT_MACRO(_XBS5_LPBIG_OFFBIG); | |
917 | PRINT_MACRO(_XOPEN_CRYPT); | |
918 | PRINT_MACRO(_XOPEN_ENH_I18N); | |
919 | PRINT_MACRO(_XOPEN_LEGACY); | |
920 | PRINT_MACRO(_XOPEN_REALTIME); | |
921 | PRINT_MACRO(_XOPEN_REALTIME_THREADS); | |
922 | PRINT_MACRO(_XOPEN_SHM); | |
923 | PRINT_MACRO(_XOPEN_SOURCE); | |
924 | PRINT_MACRO(_XOPEN_STREAMS); | |
925 | PRINT_MACRO(_XOPEN_UNIX); | |
926 | PRINT_MACRO(_XOPEN_VERSION); | |
927 | // Misc: | |
928 | PRINT_MACRO(__USE_BSD); | |
929 | PRINT_MACRO(_FILE_OFFSET_BITS); | |
930 | } | |
931 | ||
932 | void print_boost_macros() | |
933 | { | |
934 | std::cout << "Boost version " << BOOST_STRINGIZE(BOOST_VERSION) << std::endl; | |
935 | // config setup macros first: | |
936 | PRINT_MACRO(BOOST_USER_CONFIG); | |
937 | PRINT_MACRO(BOOST_COMPILER_CONFIG); | |
938 | PRINT_MACRO(BOOST_STDLIB_CONFIG); | |
939 | PRINT_MACRO(BOOST_PLATFORM_CONFIG); | |
940 | PRINT_MACRO(BOOST_NO_CONFIG); | |
941 | PRINT_MACRO(BOOST_NO_USER_CONFIG); | |
942 | PRINT_MACRO(BOOST_NO_COMPILER_CONFIG); | |
943 | PRINT_MACRO(BOOST_NO_STDLIB_CONFIG); | |
944 | PRINT_MACRO(BOOST_NO_PLATFORM_CONFIG); | |
945 | // then defect and feature macros: | |
946 | PRINT_MACRO(BOOST_DISABLE_THREADS); | |
947 | PRINT_MACRO(BOOST_DISABLE_WIN32); | |
948 | PRINT_MACRO(BOOST_HAS_THREADS); | |
949 | PRINT_MACRO(BOOST_WINDOWS); | |
950 | ||
951 | // BEGIN GENERATED BLOCK DO NOT EDIT THIS!!!!!! | |
952 | PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG); | |
953 | PRINT_MACRO(BOOST_DEDUCED_TYPENAME); | |
954 | PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL); | |
955 | PRINT_MACRO(BOOST_HAS_BETHREADS); | |
956 | PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME); | |
957 | PRINT_MACRO(BOOST_HAS_DIRENT_H); | |
958 | PRINT_MACRO(BOOST_HAS_EXPM1); | |
959 | PRINT_MACRO(BOOST_HAS_FLOAT128); | |
960 | PRINT_MACRO(BOOST_HAS_FTIME); | |
961 | PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME); | |
962 | PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY); | |
963 | PRINT_MACRO(BOOST_HAS_HASH); | |
964 | PRINT_MACRO(BOOST_HAS_INT128); | |
965 | PRINT_MACRO(BOOST_HAS_LOG1P); | |
966 | PRINT_MACRO(BOOST_HAS_LONG_LONG); | |
967 | PRINT_MACRO(BOOST_HAS_MACRO_USE_FACET); | |
968 | PRINT_MACRO(BOOST_HAS_MS_INT64); | |
969 | PRINT_MACRO(BOOST_HAS_NANOSLEEP); | |
970 | PRINT_MACRO(BOOST_HAS_NL_TYPES_H); | |
971 | PRINT_MACRO(BOOST_HAS_NRVO); | |
972 | PRINT_MACRO(BOOST_HAS_PARTIAL_STD_ALLOCATOR); | |
973 | PRINT_MACRO(BOOST_HAS_PTHREADS); | |
974 | PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP); | |
975 | PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE); | |
976 | PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD); | |
977 | PRINT_MACRO(BOOST_HAS_RVALUE_REFS); | |
978 | PRINT_MACRO(BOOST_HAS_SCHED_YIELD); | |
979 | PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS); | |
980 | PRINT_MACRO(BOOST_HAS_SIGACTION); | |
981 | PRINT_MACRO(BOOST_HAS_SLIST); | |
982 | PRINT_MACRO(BOOST_HAS_STATIC_ASSERT); | |
983 | PRINT_MACRO(BOOST_HAS_STDINT_H); | |
984 | PRINT_MACRO(BOOST_HAS_STLP_USE_FACET); | |
985 | PRINT_MACRO(BOOST_HAS_TWO_ARG_USE_FACET); | |
986 | PRINT_MACRO(BOOST_HAS_UNISTD_H); | |
987 | PRINT_MACRO(BOOST_HAS_VARIADIC_TMPL); | |
988 | PRINT_MACRO(BOOST_HAS_WINTHREADS); | |
989 | PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES); | |
990 | PRINT_MACRO(BOOST_MSVC_STD_ITERATOR); | |
991 | PRINT_MACRO(BOOST_NO_ADL_BARRIER); | |
992 | PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP); | |
993 | PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS); | |
994 | PRINT_MACRO(BOOST_NO_AUTO_PTR); | |
995 | PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION); | |
996 | PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS); | |
997 | PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS); | |
998 | PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS); | |
999 | PRINT_MACRO(BOOST_NO_CWCHAR); | |
1000 | PRINT_MACRO(BOOST_NO_CWCTYPE); | |
1001 | PRINT_MACRO(BOOST_NO_CXX11_ADDRESSOF); | |
1002 | PRINT_MACRO(BOOST_NO_CXX11_ALIGNAS); | |
1003 | PRINT_MACRO(BOOST_NO_CXX11_ALLOCATOR); | |
1004 | PRINT_MACRO(BOOST_NO_CXX11_ATOMIC_SMART_PTR); | |
1005 | PRINT_MACRO(BOOST_NO_CXX11_AUTO_DECLARATIONS); | |
1006 | PRINT_MACRO(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS); | |
1007 | PRINT_MACRO(BOOST_NO_CXX11_CHAR16_T); | |
1008 | PRINT_MACRO(BOOST_NO_CXX11_CHAR32_T); | |
1009 | PRINT_MACRO(BOOST_NO_CXX11_CONSTEXPR); | |
1010 | PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE); | |
1011 | PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE_N3276); | |
1012 | PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS); | |
1013 | PRINT_MACRO(BOOST_NO_CXX11_DELETED_FUNCTIONS); | |
1014 | PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS); | |
1015 | PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE); | |
1016 | PRINT_MACRO(BOOST_NO_CXX11_FINAL); | |
1017 | PRINT_MACRO(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS); | |
1018 | PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS); | |
1019 | PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY); | |
1020 | PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC); | |
1021 | PRINT_MACRO(BOOST_NO_CXX11_HDR_CHRONO); | |
1022 | PRINT_MACRO(BOOST_NO_CXX11_HDR_CODECVT); | |
1023 | PRINT_MACRO(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE); | |
1024 | PRINT_MACRO(BOOST_NO_CXX11_HDR_FORWARD_LIST); | |
1025 | PRINT_MACRO(BOOST_NO_CXX11_HDR_FUNCTIONAL); | |
1026 | PRINT_MACRO(BOOST_NO_CXX11_HDR_FUTURE); | |
1027 | PRINT_MACRO(BOOST_NO_CXX11_HDR_INITIALIZER_LIST); | |
1028 | PRINT_MACRO(BOOST_NO_CXX11_HDR_MUTEX); | |
1029 | PRINT_MACRO(BOOST_NO_CXX11_HDR_RANDOM); | |
1030 | PRINT_MACRO(BOOST_NO_CXX11_HDR_RATIO); | |
1031 | PRINT_MACRO(BOOST_NO_CXX11_HDR_REGEX); | |
1032 | PRINT_MACRO(BOOST_NO_CXX11_HDR_SYSTEM_ERROR); | |
1033 | PRINT_MACRO(BOOST_NO_CXX11_HDR_THREAD); | |
1034 | PRINT_MACRO(BOOST_NO_CXX11_HDR_TUPLE); | |
1035 | PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPEINDEX); | |
1036 | PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPE_TRAITS); | |
1037 | PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_MAP); | |
1038 | PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_SET); | |
1039 | PRINT_MACRO(BOOST_NO_CXX11_INLINE_NAMESPACES); | |
1040 | PRINT_MACRO(BOOST_NO_CXX11_LAMBDAS); | |
1041 | PRINT_MACRO(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS); | |
1042 | PRINT_MACRO(BOOST_NO_CXX11_NOEXCEPT); | |
1043 | PRINT_MACRO(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS); | |
1044 | PRINT_MACRO(BOOST_NO_CXX11_NULLPTR); | |
1045 | PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS); | |
1046 | PRINT_MACRO(BOOST_NO_CXX11_POINTER_TRAITS); | |
1047 | PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR); | |
1048 | PRINT_MACRO(BOOST_NO_CXX11_RAW_LITERALS); | |
1049 | PRINT_MACRO(BOOST_NO_CXX11_REF_QUALIFIERS); | |
1050 | PRINT_MACRO(BOOST_NO_CXX11_RVALUE_REFERENCES); | |
1051 | PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS); | |
1052 | PRINT_MACRO(BOOST_NO_CXX11_SFINAE_EXPR); | |
1053 | PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR); | |
1054 | PRINT_MACRO(BOOST_NO_CXX11_STATIC_ASSERT); | |
1055 | PRINT_MACRO(BOOST_NO_CXX11_STD_ALIGN); | |
1056 | PRINT_MACRO(BOOST_NO_CXX11_TEMPLATE_ALIASES); | |
1057 | PRINT_MACRO(BOOST_NO_CXX11_THREAD_LOCAL); | |
1058 | PRINT_MACRO(BOOST_NO_CXX11_TRAILING_RESULT_TYPES); | |
1059 | PRINT_MACRO(BOOST_NO_CXX11_UNICODE_LITERALS); | |
1060 | PRINT_MACRO(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX); | |
1061 | PRINT_MACRO(BOOST_NO_CXX11_USER_DEFINED_LITERALS); | |
1062 | PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_MACROS); | |
1063 | PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_TEMPLATES); | |
1064 | PRINT_MACRO(BOOST_NO_CXX14_AGGREGATE_NSDMI); | |
1065 | PRINT_MACRO(BOOST_NO_CXX14_BINARY_LITERALS); | |
1066 | PRINT_MACRO(BOOST_NO_CXX14_CONSTEXPR); | |
1067 | PRINT_MACRO(BOOST_NO_CXX14_DECLTYPE_AUTO); | |
1068 | PRINT_MACRO(BOOST_NO_CXX14_DIGIT_SEPARATORS); | |
1069 | PRINT_MACRO(BOOST_NO_CXX14_GENERIC_LAMBDAS); | |
1070 | PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX); | |
1071 | PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES); | |
1072 | PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION); | |
1073 | PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE); | |
1074 | PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES); | |
1075 | PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS); | |
1076 | PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES); | |
1077 | PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS); | |
1078 | PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY); | |
1079 | PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE); | |
1080 | PRINT_MACRO(BOOST_NO_CXX17_STRUCTURED_BINDINGS); | |
1081 | PRINT_MACRO(BOOST_NO_CXX98_BINDERS); | |
1082 | PRINT_MACRO(BOOST_NO_CXX98_FUNCTION_BASE); | |
1083 | PRINT_MACRO(BOOST_NO_CXX98_RANDOM_SHUFFLE); | |
1084 | PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS); | |
1085 | PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS); | |
1086 | PRINT_MACRO(BOOST_NO_EXCEPTIONS); | |
1087 | PRINT_MACRO(BOOST_NO_EXCEPTION_STD_NAMESPACE); | |
1088 | PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS); | |
1089 | PRINT_MACRO(BOOST_NO_FENV_H); | |
1090 | PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING); | |
1091 | PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS); | |
1092 | PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION); | |
1093 | PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T); | |
1094 | PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T); | |
1095 | PRINT_MACRO(BOOST_NO_IOSFWD); | |
1096 | PRINT_MACRO(BOOST_NO_IOSTREAM); | |
1097 | PRINT_MACRO(BOOST_NO_IS_ABSTRACT); | |
1098 | PRINT_MACRO(BOOST_NO_LIMITS); | |
1099 | PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS); | |
1100 | PRINT_MACRO(BOOST_NO_LONG_LONG); | |
1101 | PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS); | |
1102 | PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS); | |
1103 | PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES); | |
1104 | PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_FRIENDS); | |
1105 | PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD); | |
1106 | PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS); | |
1107 | PRINT_MACRO(BOOST_NO_NESTED_FRIENDSHIP); | |
1108 | PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE); | |
1109 | PRINT_MACRO(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS); | |
1110 | PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST); | |
1111 | PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS); | |
1112 | PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE); | |
1113 | PRINT_MACRO(BOOST_NO_RESTRICT_REFERENCES); | |
1114 | PRINT_MACRO(BOOST_NO_RTTI); | |
1115 | PRINT_MACRO(BOOST_NO_SFINAE); | |
1116 | PRINT_MACRO(BOOST_NO_SFINAE_EXPR); | |
1117 | PRINT_MACRO(BOOST_NO_STDC_NAMESPACE); | |
1118 | PRINT_MACRO(BOOST_NO_STD_ALLOCATOR); | |
1119 | PRINT_MACRO(BOOST_NO_STD_DISTANCE); | |
1120 | PRINT_MACRO(BOOST_NO_STD_ITERATOR); | |
1121 | PRINT_MACRO(BOOST_NO_STD_ITERATOR_TRAITS); | |
1122 | PRINT_MACRO(BOOST_NO_STD_LOCALE); | |
1123 | PRINT_MACRO(BOOST_NO_STD_MESSAGES); | |
1124 | PRINT_MACRO(BOOST_NO_STD_MIN_MAX); | |
1125 | PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN); | |
1126 | PRINT_MACRO(BOOST_NO_STD_TYPEINFO); | |
1127 | PRINT_MACRO(BOOST_NO_STD_USE_FACET); | |
1128 | PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF); | |
1129 | PRINT_MACRO(BOOST_NO_STD_WSTRING); | |
1130 | PRINT_MACRO(BOOST_NO_STRINGSTREAM); | |
1131 | PRINT_MACRO(BOOST_NO_SWPRINTF); | |
1132 | PRINT_MACRO(BOOST_NO_TEMPLATED_IOSTREAMS); | |
1133 | PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS); | |
1134 | PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION); | |
1135 | PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES); | |
1136 | PRINT_MACRO(BOOST_NO_TWO_PHASE_NAME_LOOKUP); | |
1137 | PRINT_MACRO(BOOST_NO_TYPEID); | |
1138 | PRINT_MACRO(BOOST_NO_TYPENAME_WITH_CTOR); | |
1139 | PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION); | |
1140 | PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE); | |
1141 | PRINT_MACRO(BOOST_NO_USING_TEMPLATE); | |
1142 | PRINT_MACRO(BOOST_NO_VOID_RETURNS); | |
1143 | ||
1144 | ||
1145 | // END GENERATED BLOCK | |
1146 | ||
1147 | PRINT_MACRO(BOOST_INTEL); | |
1148 | PRINT_MACRO(BOOST_MSVC); | |
1149 | PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE); | |
1150 | PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0)); | |
1151 | PRINT_MACRO(BOOST_CONSTEXPR); | |
1152 | PRINT_MACRO(BOOST_CONSTEXPR_OR_CONST); | |
1153 | PRINT_MACRO(BOOST_STATIC_CONSTEXPR); | |
1154 | PRINT_MACRO(BOOST_NOEXCEPT); | |
1155 | PRINT_MACRO(BOOST_FORCEINLINE); | |
1156 | PRINT_MACRO(BOOST_NOINLINE); | |
1157 | PRINT_MACRO(BOOST_FALLTHROUGH); | |
1158 | PRINT_MACRO(BOOST_MAY_ALIAS); | |
1159 | PRINT_MACRO(BOOST_NO_MAY_ALIAS); | |
1160 | } | |
1161 | ||
1162 | void print_separator() | |
1163 | { | |
1164 | std::cout << | |
1165 | "\n\n*********************************************************************\n\n"; | |
1166 | } | |
1167 | ||
1168 | int main() | |
1169 | { | |
1170 | ||
1171 | // boost compiler workaround defines | |
1172 | print_compiler_macros(); | |
1173 | print_separator(); | |
1174 | print_stdlib_macros(); | |
1175 | print_separator(); | |
1176 | print_platform_macros(); | |
1177 | print_separator(); | |
1178 | print_boost_macros(); | |
1179 | ||
1180 | return 0; | |
1181 | } |