]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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: | |
11fdf7f2 TL |
146 | PRINT_MACRO(_ALIGNED_NEW_SUPPORTED); |
147 | PRINT_MACRO(__ATOM__); | |
148 | PRINT_MACRO(__AVX__); | |
149 | PRINT_MACRO(__AVX2__); | |
150 | PRINT_MACRO(_CHAR_UNSIGNED); | |
151 | PRINT_MACRO(_CLR_VER); | |
152 | PRINT_MACRO(_CONTROL_FLOW_GUARD); | |
153 | PRINT_MACRO(__cplusplus_cli); | |
154 | PRINT_MACRO(__cplusplus_winrt); | |
7c673cae | 155 | PRINT_MACRO(_CPPRTTI); |
11fdf7f2 | 156 | PRINT_MACRO(_CPPUNWIND); |
7c673cae | 157 | PRINT_MACRO(_DLL); |
11fdf7f2 TL |
158 | PRINT_MACRO(_INLINE_VARIABLES_SUPPORTED); |
159 | PRINT_MACRO(_ISO_VOLATILE); | |
160 | PRINT_MACRO(_M_AMD64); | |
161 | PRINT_MACRO(_M_ARM); | |
162 | PRINT_MACRO(_M_ARM_ARMV7VE); | |
163 | PRINT_MACRO(_M_ARM_FP); | |
164 | PRINT_MACRO(_M_ARM64); | |
165 | PRINT_MACRO(_M_CEE); | |
166 | PRINT_MACRO(_M_CEE_PURE); | |
167 | PRINT_MACRO(_M_CEE_SAFE); | |
168 | PRINT_MACRO(_M_FP_EXCEPT); | |
169 | PRINT_MACRO(_M_FP_FAST); | |
170 | PRINT_MACRO(_M_FP_PRECISE); | |
171 | PRINT_MACRO(_M_FP_STRICT); | |
172 | PRINT_MACRO(_M_IX86); | |
173 | PRINT_MACRO(_M_IX86_FP); | |
174 | PRINT_MACRO(_M_X64); | |
7c673cae FG |
175 | PRINT_MACRO(_M_ALPHA); |
176 | PRINT_MACRO(_M_MPPC); | |
177 | PRINT_MACRO(_M_MRX000); | |
178 | PRINT_MACRO(_M_PPC); | |
11fdf7f2 TL |
179 | PRINT_MACRO(_MANAGED); |
180 | PRINT_MACRO(_MSC_BUILD); | |
7c673cae FG |
181 | PRINT_MACRO(_MFC_VER); |
182 | PRINT_MACRO(_MSC_EXTENSIONS); | |
183 | PRINT_MACRO(_MSC_VER); | |
184 | PRINT_MACRO(_MSC_FULL_VER); | |
b32b8144 | 185 | PRINT_MACRO(_MSVC_LANG); |
11fdf7f2 TL |
186 | PRINT_MACRO(_MSVC_WARNING_LEVEL); |
187 | PRINT_MACRO(__MSVC_RUNTIME_CHECKS); | |
7c673cae FG |
188 | PRINT_MACRO(_MT); |
189 | PRINT_MACRO(_NATIVE_WCHAR_T_DEFINED); | |
11fdf7f2 TL |
190 | PRINT_MACRO(_NOEXCEPT_TYPES_SUPPORTED); |
191 | PRINT_MACRO(_OPENMP); | |
192 | PRINT_MACRO(_PREFAST_); | |
7c673cae FG |
193 | // GNUC options: |
194 | PRINT_MACRO(__GNUC__); | |
195 | PRINT_MACRO(__GNUC_MINOR__); | |
196 | PRINT_MACRO(__GNUC_PATCHLEVEL__); | |
197 | PRINT_MACRO(__STDC_VERSION__); | |
198 | PRINT_MACRO(__GNUG__); | |
199 | PRINT_MACRO(__STRICT_ANSI__); | |
200 | PRINT_MACRO(__GXX_EXPERIMENTAL_CXX0X__); | |
201 | PRINT_MACRO(__VERSION__); | |
202 | PRINT_MACRO(__OPTIMIZE__); | |
203 | PRINT_MACRO(__CHAR_UNSIGNED__); | |
204 | PRINT_MACRO(__REGISTER_PREFIX__); | |
205 | PRINT_MACRO(__USER_LABEL_PREFIX__); | |
206 | PRINT_MACRO(__GNUPRO__); | |
207 | PRINT_MACRO(__EXCEPTIONS); | |
208 | PRINT_MACRO(__FreeBSD__); | |
209 | PRINT_MACRO(__FreeBSD_cc_version); | |
210 | PRINT_MACRO(__ELF__); | |
211 | PRINT_MACRO(__GNUPRO__); | |
212 | PRINT_MACRO(unix); | |
213 | PRINT_MACRO(bsd); | |
214 | PRINT_MACRO(vax); | |
215 | PRINT_MACRO(mc68000); | |
216 | PRINT_MACRO(m68k); | |
217 | PRINT_MACRO(M68020); | |
218 | PRINT_MACRO(_AM29K); | |
219 | PRINT_MACRO(ns32000); | |
220 | PRINT_MACRO(sun); | |
221 | PRINT_MACRO(pyr); | |
222 | PRINT_MACRO(sequent); | |
223 | PRINT_MACRO(__i386__); | |
224 | PRINT_MACRO(__sparc); | |
225 | PRINT_MACRO(__sparc__); | |
226 | PRINT_MACRO(__powerpc__); | |
227 | PRINT_MACRO(__hppa); | |
228 | PRINT_MACRO(__CYGWIN__); | |
229 | PRINT_MACRO(__MINGW32__); | |
230 | PRINT_MACRO(__GXX_RTTI); | |
11fdf7f2 TL |
231 | PRINT_MACRO(__alpha__); |
232 | PRINT_MACRO(__amd64__); | |
233 | PRINT_MACRO(__arm__); | |
234 | PRINT_MACRO(__aarch64__); | |
235 | PRINT_MACRO(__bfin); | |
236 | PRINT_MACRO(__convex__); | |
237 | PRINT_MACRO(__epiphany__); | |
238 | PRINT_MACRO(__hppa__); | |
239 | PRINT_MACRO(__ia64__); | |
240 | PRINT_MACRO(__IA64); | |
241 | PRINT_MACRO(__IA64__); | |
242 | PRINT_MACRO(__m68k__); | |
243 | PRINT_MACRO(__mips__); | |
244 | PRINT_MACRO(__powerpc); | |
245 | PRINT_MACRO(__powerpc__); | |
246 | PRINT_MACRO(__powerpc64__); | |
247 | PRINT_MACRO(__POWERPC__); | |
248 | PRINT_MACRO(__ppc__); | |
249 | PRINT_MACRO(__ppc64__); | |
250 | PRINT_MACRO(__PPC__); | |
251 | PRINT_MACRO(__PPC64__); | |
252 | PRINT_MACRO(_ARCH_PPC); | |
253 | PRINT_MACRO(_ARCH_PPC64); | |
254 | PRINT_MACRO(__sh__); | |
255 | PRINT_MACRO(__370__); | |
256 | PRINT_MACRO(__THW_370__); | |
7c673cae FG |
257 | // HP aCC: |
258 | PRINT_MACRO(__HP_aCC); | |
259 | PRINT_MACRO(_HPACC_); | |
260 | PRINT_MACRO(__LP64__); | |
261 | PRINT_MACRO(__RISC2_0__); | |
262 | PRINT_MACRO(__STDCPP__); | |
263 | PRINT_MACRO(__hppa); | |
264 | PRINT_MACRO(__hpux); | |
265 | PRINT_MACRO(__hp9000s800); | |
266 | PRINT_MACRO(__hp9000s700); | |
267 | PRINT_MACRO(_PA_RISC1_1); | |
268 | PRINT_MACRO(__HPUX_SOURCE); | |
269 | PRINT_MACRO(_INCLUDE__STDC_A1_SOURCE); | |
270 | // SGI IRIX: | |
271 | PRINT_MACRO(__sgi); | |
272 | PRINT_MACRO(_COMPILER_VERSION); | |
273 | // Sunpro: | |
274 | PRINT_MACRO(__SUNPRO_CC); | |
275 | PRINT_MACRO(__SUNPRO_CC_COMPAT); | |
276 | PRINT_MACRO(__BUILTIN_VA_ARG_INCR); | |
277 | PRINT_MACRO(__sun); | |
278 | PRINT_MACRO(__SVR4); | |
279 | PRINT_MACRO(__unix); | |
280 | PRINT_MACRO(__sparcv9); | |
281 | PRINT_MACRO(__i386); | |
282 | PRINT_MACRO(i386); | |
283 | // Metrowerks | |
284 | PRINT_MACRO(__MWERKS__); | |
285 | PRINT_MACRO(__MSL__); | |
286 | PRINT_MACRO(__MSL_CPP__); | |
287 | PRINT_MACRO(__A5__); | |
288 | PRINT_MACRO(__embedded_cplusplus); | |
289 | PRINT_MACRO(__fourbyteints__); | |
290 | PRINT_MACRO(__IEEEdoubles__); | |
291 | PRINT_MACRO(__MC68K__); | |
292 | PRINT_MACRO(__MC68020__); | |
293 | PRINT_MACRO(__MC68881__); | |
294 | PRINT_MACRO(__MIPS__); | |
295 | PRINT_MACRO(__MIPS_ISA2__); | |
296 | PRINT_MACRO(__MIPS_ISA3__); | |
297 | PRINT_MACRO(__MIPS_ISA4__); | |
298 | PRINT_MACRO(__MWBROWSER__); | |
299 | PRINT_MACRO(__profile__); | |
300 | PRINT_MACRO(__powerc); | |
301 | PRINT_MACRO(_powerc); | |
302 | PRINT_MACRO(__POWERPC__); | |
303 | PRINT_MACRO(macintosh); | |
304 | PRINT_MACRO(__MACH__); | |
305 | PRINT_MACRO(__APPLE__); | |
306 | PRINT_MACRO(__APPLE_CC__); | |
307 | // MPW (MrCpp and SCpp) | |
308 | PRINT_MACRO(__MRC__); | |
309 | PRINT_MACRO(__SC__); | |
310 | PRINT_MACRO(__FPCE__); | |
311 | PRINT_MACRO(__FPCE_IEEE__); | |
312 | PRINT_MACRO(MPW_CPLUS); | |
313 | PRINT_MACRO(MPW_C); | |
314 | PRINT_MACRO(__MC601); | |
315 | PRINT_MACRO(__POWERPC); | |
316 | PRINT_MACRO(__useAppleExts__); | |
317 | PRINT_MACRO(powerc); | |
318 | PRINT_MACRO(MC68000); | |
319 | PRINT_MACRO(THINK_PLUS); | |
320 | PRINT_MACRO(mc68881); | |
321 | PRINT_MACRO(__FAR_CODE__); | |
322 | PRINT_MACRO(__FAR_DATA__); | |
323 | PRINT_MACRO(__CFM68K__); | |
324 | // EDG | |
325 | PRINT_MACRO(__EDG__); | |
326 | PRINT_MACRO(__EDG_VERSION__); | |
327 | PRINT_MACRO(c_plusplus); // indication for strict mode | |
328 | PRINT_MACRO(_BOOL); | |
329 | PRINT_MACRO(_EXPLICIT); | |
330 | PRINT_MACRO(__SIGNED_CHARS__); | |
331 | PRINT_MACRO(_TYPENAME); | |
332 | PRINT_MACRO(_WCHAR_T); | |
333 | PRINT_MACRO(__ARRAY_OPERATORS); | |
334 | PRINT_MACRO(__EDG_ABI_COMPATIBILITY_VERSION); | |
335 | PRINT_MACRO(__EDG_IMPLICIT_USING_STD); | |
336 | PRINT_MACRO(__EDG_RUNTIME_USES_NAMESPACES); | |
337 | PRINT_MACRO(__BOOL_DEFINED); | |
338 | PRINT_MACRO(__RTTI); | |
339 | PRINT_MACRO(__PLACEMENT_DELETE); | |
340 | PRINT_MACRO(__NO_LONG_LONG); | |
341 | ||
342 | // Intel options: | |
343 | PRINT_MACRO(__INTEL__); | |
344 | PRINT_MACRO(__ICC); | |
345 | PRINT_MACRO(__ICL); | |
346 | PRINT_MACRO(__ECC); | |
347 | PRINT_MACRO(__INTEL_COMPILER); | |
348 | PRINT_MACRO(__INITIAL_POINTER_SIZE); | |
349 | PRINT_MACRO(_INTEGRAL_MAX_BITS); | |
350 | PRINT_MACRO(__INTEL_COMPILER_BUILD_DATE); | |
351 | PRINT_MACRO(__INTEL_MS_COMPAT_LEVEL); | |
352 | PRINT_MACRO(__LONG_DOUBLE_SIZE__); | |
353 | PRINT_MACRO(_M_X64); | |
354 | PRINT_MACRO(_OPENMP); | |
355 | PRINT_MACRO(_OPENMPT); | |
356 | PRINT_MACRO(_PGO_INSTRUMENT); | |
357 | PRINT_MACRO(__QMSPP_); | |
358 | PRINT_MACRO(__INTEL_RTTI__); | |
359 | PRINT_MACRO(__INTEL_CXX11_MODE__); | |
360 | ||
361 | // Cray options: | |
362 | PRINT_MACRO(_CRAYC); | |
363 | PRINT_MACRO(_RELEASE); | |
364 | PRINT_MACRO(cray); | |
365 | PRINT_MACRO(CRAY); | |
366 | PRINT_MACRO(CRAY1); | |
367 | PRINT_MACRO(_CRAY1); | |
368 | PRINT_MACRO(_CRAYMPP); | |
369 | PRINT_MACRO(_CRAYT3E); | |
370 | PRINT_MACRO(_CRAYIEEE); | |
371 | PRINT_MACRO(_ADDR32); | |
372 | PRINT_MACRO(_ADDR64); | |
373 | PRINT_MACRO(_LD64); | |
374 | PRINT_MACRO(_FASTMD); | |
375 | PRINT_MACRO(_MAXVL); | |
376 | ||
b32b8144 FG |
377 | // clang options: |
378 | PRINT_MACRO(__clang__); | |
379 | PRINT_MACRO(__clang_major__); | |
380 | PRINT_MACRO(__clang_minor__); | |
381 | PRINT_MACRO(__clang_version__); | |
382 | PRINT_MACRO(__clang_patchlevel__); | |
383 | ||
7c673cae FG |
384 | // misc compilers not covered so far: |
385 | PRINT_MACRO(__USLC__); | |
386 | PRINT_MACRO(__DECCXX); | |
387 | PRINT_MACRO(__IBMCPP__); | |
388 | PRINT_MACRO(_REENTRANT); | |
389 | PRINT_MACRO(_PTHREADS); | |
390 | PRINT_MACRO(__STDC_HOSTED__); | |
391 | PRINT_MACRO(__COMO__); | |
392 | PRINT_MACRO(__COMO_VERSION__); | |
393 | PRINT_MACRO(__DM__); | |
394 | PRINT_MACRO(__osf__); | |
395 | PRINT_MACRO(__OSF__); | |
396 | PRINT_MACRO(__QNXNTO__); | |
397 | PRINT_MACRO(__QNX__); | |
398 | PRINT_MACRO(_NTO_VERSION); | |
399 | PRINT_MACRO(__OPEN64__); | |
400 | PRINT_MACRO(__open64); | |
401 | PRINT_MACRO(__NVCC__); | |
402 | PRINT_MACRO(__CUDACC__); | |
403 | PRINT_MACRO(__CUDACC_RDC__); | |
404 | PRINT_MACRO(__CUDACC_VER_MAJOR__); | |
405 | PRINT_MACRO(__CUDACC_VER_MINOR__); | |
406 | PRINT_MACRO(__CUDACC_VER_BUILD__); | |
407 | PRINT_MACRO(__CUDACC_VER__); | |
b32b8144 FG |
408 | |
409 | // Android: | |
410 | PRINT_MACRO(ANDROID); | |
411 | PRINT_MACRO(__ANDROID__); | |
7c673cae FG |
412 | } |
413 | ||
414 | void print_stdlib_macros() | |
415 | { | |
416 | std::cout << BOOST_STDLIB << std::endl; | |
417 | #ifdef _RWSTD_VER | |
418 | // Rogue Wave 2.x config options: | |
419 | PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES); | |
420 | PRINT_MACRO(_RWSTD_ALLOCATOR); | |
421 | PRINT_MACRO(_RWSTD_BAD_ALLOC_DEFINED); | |
422 | PRINT_MACRO(_RWSTD_BAD_EXCEPTION_DEFINED); | |
423 | PRINT_MACRO(_RWSTD_BOUNDS_CHECKING); | |
424 | PRINT_MACRO(_RWSTD_COMPILE_INSTANTIATE); | |
425 | PRINT_MACRO(_RWSTD_DEFAULT_PRECISION); | |
426 | PRINT_MACRO(_RWSTD_EXCEPTION_DEFINED); | |
427 | PRINT_MACRO(_RWSTD_EXCEPTION_HANDLER_IN_STD); | |
428 | PRINT_MACRO(_RWSTD_EXCEPTION_PREDEFINED); | |
429 | PRINT_MACRO(_RWSTD_FLT_ROUNDS_IS_CONSTANT); | |
430 | PRINT_MACRO(_RWSTD_LOCALIZED_ERRORS); | |
431 | PRINT_MACRO(_RWSTD_MESSAGE); | |
432 | PRINT_MACRO(_RWSTD_MUTEXATTR_DEFAULT); | |
433 | PRINT_MACRO(_RWSTD_NO_ANSI_SPRINTF); | |
434 | PRINT_MACRO(_RWSTD_NO_ARG_MATCH); | |
435 | PRINT_MACRO(_RWSTD_NO_BAD_CAST); | |
436 | PRINT_MACRO(_RWSTD_NO_BASE_CLASS_MATCH); | |
437 | PRINT_MACRO(_RWSTD_NO_BOOL); | |
438 | PRINT_MACRO(_RWSTD_NO_BUILTIN_CTOR); | |
439 | PRINT_MACRO(_RWSTD_NO_CATOPEN_CATGETS); | |
440 | PRINT_MACRO(_RWSTD_NO_CLASS_PARTIAL_SPEC); | |
441 | PRINT_MACRO(_RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES); | |
442 | PRINT_MACRO(_RWSTD_NO_COMPLICATED_EXCEPTIONS); | |
443 | PRINT_MACRO(_RWSTD_NO_COMPLICATED_TYPEDEF); | |
444 | PRINT_MACRO(_RWSTD_NO_CONST_INST); | |
445 | PRINT_MACRO(_RWSTD_NO_CTOR_RETURN); | |
446 | PRINT_MACRO(_RWSTD_NO_DEFAULT_FOR_TPARAM); | |
447 | PRINT_MACRO(_RWSTD_NO_DEFAULT_TEMPLATE_ARGS); | |
448 | PRINT_MACRO(_RWSTD_NO_DESTROY_BUILTIN); | |
449 | PRINT_MACRO(_RWSTD_NO_DESTROY_NONBUILTIN); | |
450 | PRINT_MACRO(_RWSTD_NO_EMBEDDED_TYPEDEF); | |
451 | PRINT_MACRO(_RWSTD_NO_EX_SPEC); | |
452 | PRINT_MACRO(_RWSTD_NO_EXCEPTIONS); | |
453 | PRINT_MACRO(_RWSTD_NO_EXPLICIT); | |
454 | PRINT_MACRO(_RWSTD_NO_EXPLICIT_ARG); | |
455 | PRINT_MACRO(_RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION); | |
456 | PRINT_MACRO(_RWSTD_NO_EXPLICIT_INSTANTIATION); | |
457 | PRINT_MACRO(_RWSTD_NO_EXTENSION); | |
458 | PRINT_MACRO(_RWSTD_NO_FORWARD_SPECIALIZATIONS); | |
459 | PRINT_MACRO(_RWSTD_NO_FPOS_T); | |
460 | PRINT_MACRO(_RWSTD_NO_FRIEND_TEMPLATES); | |
461 | PRINT_MACRO(_RWSTD_NO_FUNC_PARTIAL_SPEC); | |
462 | PRINT_MACRO(_RWSTD_NO_GETTIMEOFDAY); | |
463 | PRINT_MACRO(_RWSTD_NO_GLOBAL_TZ); | |
464 | PRINT_MACRO(_RWSTD_NO_INHERITED_TYPEDEFS); | |
465 | PRINT_MACRO(_RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG); | |
466 | PRINT_MACRO(_RWSTD_NO_INT_TYPEDEF); | |
467 | PRINT_MACRO(_RWSTD_NO_LDIV); | |
468 | PRINT_MACRO(_RWSTD_NO_LEADING_UNDERSCORE); | |
469 | PRINT_MACRO(_RWSTD_NO_LOCALE); | |
470 | PRINT_MACRO(_RWSTD_NO_LONG_NAME); | |
471 | PRINT_MACRO(_RWSTD_NO_LONGDOUBLE); | |
472 | PRINT_MACRO(_RWSTD_NO_MBSTATE_T); | |
473 | PRINT_MACRO(_RWSTD_NO_MEM_CLASS_TEMPLATES); | |
474 | PRINT_MACRO(_RWSTD_NO_MEMBER_TEMPLATES); | |
475 | PRINT_MACRO(_RWSTD_NO_MEMBER_TYPE_TPARAM); | |
476 | PRINT_MACRO(_RWSTD_NO_MEMBER_WO_DEF_CTOR); | |
477 | PRINT_MACRO(_RWSTD_NO_MEMMOVE); | |
478 | PRINT_MACRO(_RWSTD_NO_MULTI_DIM_ARRAY); | |
479 | PRINT_MACRO(_RWSTD_NO_MUTABLE); | |
480 | PRINT_MACRO(_RWSTD_NO_NAME_INJECTION); | |
481 | PRINT_MACRO(_RWSTD_NO_NAMESPACE); | |
482 | PRINT_MACRO(_RWSTD_NO_NESTING_TEMPLATES); | |
483 | PRINT_MACRO(_RWSTD_NO_NEW_BRACKETS); | |
484 | PRINT_MACRO(_RWSTD_NO_NEW_DECL); | |
485 | PRINT_MACRO(_RWSTD_NO_NEW_HEADER); | |
486 | PRINT_MACRO(_RWSTD_NO_NEW_TEMPLATE_SYNTAX); | |
487 | PRINT_MACRO(_RWSTD_NO_NONCLASS_ARROW_RETURN); | |
488 | PRINT_MACRO(_RWSTD_NO_NONTYPE_ARGS); | |
489 | PRINT_MACRO(_RWSTD_NO_ONLY_NEEDED_INSTANTIATION); | |
490 | PRINT_MACRO(_RWSTD_NO_OVERLOAD_C_POW); | |
491 | PRINT_MACRO(_RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION); | |
492 | PRINT_MACRO(_RWSTD_NO_OVERLOAD_WCHAR); | |
493 | PRINT_MACRO(_RWSTD_NO_PART_SPEC_OVERLOAD); | |
494 | PRINT_MACRO(_RWSTD_NO_RET_TEMPLATE); | |
495 | PRINT_MACRO(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES); | |
496 | PRINT_MACRO(_RWSTD_NO_STATIC_CAST); | |
497 | PRINT_MACRO(_RWSTD_NO_STATIC_DEF); | |
498 | PRINT_MACRO(_RWSTD_NO_STATIC_DEF2); | |
499 | PRINT_MACRO(_RWSTD_NO_STATIC_DEF3); | |
500 | PRINT_MACRO(_RWSTD_NO_STATIC_MEM_DEF); | |
501 | PRINT_MACRO(_RWSTD_NO_STI_SIMPLE); | |
502 | PRINT_MACRO(_RWSTD_NO_STI_TEMPLATE); | |
503 | PRINT_MACRO(_RWSTD_NO_STREAM_LONG_DOUBLE); | |
504 | PRINT_MACRO(_RWSTD_NO_STRFTIME_CAPC); | |
505 | PRINT_MACRO(_RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE); | |
506 | PRINT_MACRO(_RWSTD_NO_SWPRINTF); | |
507 | PRINT_MACRO(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE); | |
508 | PRINT_MACRO(_RWSTD_NO_TEMPLATE_TEMPLATE); | |
509 | PRINT_MACRO(_RWSTD_NO_THREADS); | |
510 | PRINT_MACRO(_RWSTD_NO_THROW_SPEC_ON_NEW); | |
511 | PRINT_MACRO(_RWSTD_NO_THROW_WITH_SHARED); | |
512 | PRINT_MACRO(_RWSTD_NO_TYPEDEF_INST); | |
513 | PRINT_MACRO(_RWSTD_NO_TYPEDEF_OVERLOAD); | |
514 | PRINT_MACRO(_RWSTD_NO_TYPENAME); | |
515 | PRINT_MACRO(_RWSTD_NO_UNDEFINED_FRIEND); | |
516 | PRINT_MACRO(_RWSTD_NO_UNINITIALIZED_STATIC_DEF); | |
517 | PRINT_MACRO(_RWSTD_NO_WCHAR_H); | |
518 | PRINT_MACRO(_RWSTD_NO_WCTYPE_H); | |
519 | PRINT_MACRO(_RWSTD_NO_WIDE_CHAR); | |
520 | PRINT_MACRO(_RWSTD_NO_WINT_TYPE); | |
521 | PRINT_MACRO(_RWSTD_NO_WSTR); | |
522 | PRINT_MACRO(_RWSTD_NOT_ALL_WSTR_CFUNCTIONS); | |
523 | PRINT_MACRO(_RWSTD_POSIX_D10_THREADS); | |
524 | PRINT_MACRO(_RWSTD_POSIX_THREADS); | |
525 | PRINT_MACRO(_RWSTD_REQUIRES_IEEEFP); | |
526 | PRINT_MACRO(_RWSTD_SOLARIS_THREADS); | |
527 | PRINT_MACRO(_RWSTD_STRUCT_TM_TZ); | |
528 | PRINT_MACRO(_RWSTD_WIDE_STRING_NULL_PROBLEM); | |
529 | #elif defined(__STD_RWCOMPILER_H__) | |
530 | // Rogue Wave 1.x std lib: | |
531 | PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES); | |
532 | PRINT_MACRO(RWSTD_ALLOCATOR); | |
533 | PRINT_MACRO(RWSTD_BAD_ALLOC_DEFINED); | |
534 | PRINT_MACRO(RWSTD_BAD_EXCEPTION_DEFINED); | |
535 | PRINT_MACRO(RWSTD_BOUNDS_CHECKING); | |
536 | PRINT_MACRO(RWSTD_COMPILE_INSTANTIATE); | |
537 | PRINT_MACRO(RWSTD_DEFAULT_PRECISION); | |
538 | PRINT_MACRO(RWSTD_EXCEPTION_DEFINED); | |
539 | PRINT_MACRO(RWSTD_EXCEPTION_HANDLER_IN_STD); | |
540 | PRINT_MACRO(RWSTD_EXCEPTION_PREDEFINED); | |
541 | PRINT_MACRO(RWSTD_FLT_ROUNDS_IS_CONSTANT); | |
542 | PRINT_MACRO(RWSTD_LOCALIZED_ERRORS); | |
543 | PRINT_MACRO(RWSTD_MESSAGE); | |
544 | PRINT_MACRO(RWSTD_MUTEXATTR_DEFAULT); | |
545 | PRINT_MACRO(RWSTD_NO_ANSI_SPRINTF); | |
546 | PRINT_MACRO(RWSTD_NO_ARG_MATCH); | |
547 | PRINT_MACRO(RWSTD_NO_BAD_CAST); | |
548 | PRINT_MACRO(RWSTD_NO_BASE_CLASS_MATCH); | |
549 | PRINT_MACRO(RWSTD_NO_BOOL); | |
550 | PRINT_MACRO(RWSTD_NO_BUILTIN_CTOR); | |
551 | PRINT_MACRO(RWSTD_NO_CATOPEN_CATGETS); | |
552 | PRINT_MACRO(RWSTD_NO_CLASS_PARTIAL_SPEC); | |
553 | PRINT_MACRO(RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES); | |
554 | PRINT_MACRO(RWSTD_NO_COMPLICATED_EXCEPTIONS); | |
555 | PRINT_MACRO(RWSTD_NO_COMPLICATED_TYPEDEF); | |
556 | PRINT_MACRO(RWSTD_NO_CONST_INST); | |
557 | PRINT_MACRO(RWSTD_NO_CTOR_RETURN); | |
558 | PRINT_MACRO(RWSTD_NO_DEFAULT_FOR_TPARAM); | |
559 | PRINT_MACRO(RWSTD_NO_DEFAULT_TEMPLATE_ARGS); | |
560 | PRINT_MACRO(RWSTD_NO_DESTROY_BUILTIN); | |
561 | PRINT_MACRO(RWSTD_NO_DESTROY_NONBUILTIN); | |
562 | PRINT_MACRO(RWSTD_NO_EMBEDDED_TYPEDEF); | |
563 | PRINT_MACRO(RWSTD_NO_EX_SPEC); | |
564 | PRINT_MACRO(RWSTD_NO_EXCEPTIONS); | |
565 | PRINT_MACRO(RWSTD_NO_EXPLICIT); | |
566 | PRINT_MACRO(RWSTD_NO_EXPLICIT_ARG); | |
567 | PRINT_MACRO(RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION); | |
568 | PRINT_MACRO(RWSTD_NO_EXPLICIT_INSTANTIATION); | |
569 | PRINT_MACRO(RWSTD_NO_EXTENSION); | |
570 | PRINT_MACRO(RWSTD_NO_FORWARD_SPECIALIZATIONS); | |
571 | PRINT_MACRO(RWSTD_NO_FPOS_T); | |
572 | PRINT_MACRO(RWSTD_NO_FRIEND_TEMPLATES); | |
573 | PRINT_MACRO(RWSTD_NO_FUNC_PARTIAL_SPEC); | |
574 | PRINT_MACRO(RWSTD_NO_GETTIMEOFDAY); | |
575 | PRINT_MACRO(RWSTD_NO_GLOBAL_TZ); | |
576 | PRINT_MACRO(RWSTD_NO_INHERITED_TYPEDEFS); | |
577 | PRINT_MACRO(RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG); | |
578 | PRINT_MACRO(RWSTD_NO_INT_TYPEDEF); | |
579 | PRINT_MACRO(RWSTD_NO_LDIV); | |
580 | PRINT_MACRO(RWSTD_NO_LEADING_UNDERSCORE); | |
581 | PRINT_MACRO(RWSTD_NO_LOCALE); | |
582 | PRINT_MACRO(RWSTD_NO_LONG_NAME); | |
583 | PRINT_MACRO(RWSTD_NO_LONGDOUBLE); | |
584 | PRINT_MACRO(RWSTD_NO_MBSTATE_T); | |
585 | PRINT_MACRO(RWSTD_NO_MEM_CLASS_TEMPLATES); | |
586 | PRINT_MACRO(RWSTD_NO_MEMBER_TEMPLATES); | |
587 | PRINT_MACRO(RWSTD_NO_MEMBER_TYPE_TPARAM); | |
588 | PRINT_MACRO(RWSTD_NO_MEMBER_WO_DEF_CTOR); | |
589 | PRINT_MACRO(RWSTD_NO_MEMMOVE); | |
590 | PRINT_MACRO(RWSTD_NO_MULTI_DIM_ARRAY); | |
591 | PRINT_MACRO(RWSTD_NO_MUTABLE); | |
592 | PRINT_MACRO(RWSTD_NO_NAME_INJECTION); | |
593 | PRINT_MACRO(RWSTD_NO_NAMESPACE); | |
594 | PRINT_MACRO(RWSTD_NO_NESTING_TEMPLATES); | |
595 | PRINT_MACRO(RWSTD_NO_NEW_BRACKETS); | |
596 | PRINT_MACRO(RWSTD_NO_NEW_DECL); | |
597 | PRINT_MACRO(RWSTD_NO_NEW_HEADER); | |
598 | PRINT_MACRO(RWSTD_NO_NEW_TEMPLATE_SYNTAX); | |
599 | PRINT_MACRO(RWSTD_NO_NONCLASS_ARROW_RETURN); | |
600 | PRINT_MACRO(RWSTD_NO_NONTYPE_ARGS); | |
601 | PRINT_MACRO(RWSTD_NO_ONLY_NEEDED_INSTANTIATION); | |
602 | PRINT_MACRO(RWSTD_NO_OVERLOAD_C_POW); | |
603 | PRINT_MACRO(RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION); | |
604 | PRINT_MACRO(RWSTD_NO_OVERLOAD_WCHAR); | |
605 | PRINT_MACRO(RWSTD_NO_PART_SPEC_OVERLOAD); | |
606 | PRINT_MACRO(RWSTD_NO_RET_TEMPLATE); | |
607 | PRINT_MACRO(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES); | |
608 | PRINT_MACRO(RWSTD_NO_STATIC_CAST); | |
609 | PRINT_MACRO(RWSTD_NO_STATIC_DEF); | |
610 | PRINT_MACRO(RWSTD_NO_STATIC_DEF2); | |
611 | PRINT_MACRO(RWSTD_NO_STATIC_DEF3); | |
612 | PRINT_MACRO(RWSTD_NO_STATIC_MEM_DEF); | |
613 | PRINT_MACRO(RWSTD_NO_STI_SIMPLE); | |
614 | PRINT_MACRO(RWSTD_NO_STI_TEMPLATE); | |
615 | PRINT_MACRO(RWSTD_NO_STREAM_LONG_DOUBLE); | |
616 | PRINT_MACRO(RWSTD_NO_STRFTIME_CAPC); | |
617 | PRINT_MACRO(RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE); | |
618 | PRINT_MACRO(RWSTD_NO_SWPRINTF); | |
619 | PRINT_MACRO(RWSTD_NO_TEMPLATE_ON_RETURN_TYPE); | |
620 | PRINT_MACRO(RWSTD_NO_TEMPLATE_TEMPLATE); | |
621 | PRINT_MACRO(RWSTD_NO_THREADS); | |
622 | PRINT_MACRO(RWSTD_NO_THROW_SPEC_ON_NEW); | |
623 | PRINT_MACRO(RWSTD_NO_THROW_WITH_SHARED); | |
624 | PRINT_MACRO(RWSTD_NO_TYPEDEF_INST); | |
625 | PRINT_MACRO(RWSTD_NO_TYPEDEF_OVERLOAD); | |
626 | PRINT_MACRO(RWSTD_NO_TYPENAME); | |
627 | PRINT_MACRO(RWSTD_NO_UNDEFINED_FRIEND); | |
628 | PRINT_MACRO(RWSTD_NO_UNINITIALIZED_STATIC_DEF); | |
629 | PRINT_MACRO(RWSTD_NO_WCHAR_H); | |
630 | PRINT_MACRO(RWSTD_NO_WCTYPE_H); | |
631 | PRINT_MACRO(RWSTD_NO_WIDE_CHAR); | |
632 | PRINT_MACRO(RWSTD_NO_WINT_TYPE); | |
633 | PRINT_MACRO(RWSTD_NO_WSTR); | |
634 | PRINT_MACRO(RWSTD_NOT_ALL_WSTR_CFUNCTIONS); | |
635 | PRINT_MACRO(RWSTD_POSIX_D10_THREADS); | |
636 | PRINT_MACRO(RWSTD_POSIX_THREADS); | |
637 | PRINT_MACRO(RWSTD_REQUIRES_IEEEFP); | |
638 | PRINT_MACRO(RWSTD_SOLARIS_THREADS); | |
639 | PRINT_MACRO(RWSTD_STRUCT_TM_TZ); | |
640 | PRINT_MACRO(RWSTD_WIDE_STRING_NULL_PROBLEM); | |
641 | #endif | |
642 | // Dinkumware options: | |
643 | PRINT_MACRO(_CPPLIB_VER); | |
11fdf7f2 TL |
644 | PRINT_MACRO(_MSVC_STL_VERSION); // VS2017 15.5+ |
645 | PRINT_MACRO(_MSVC_STL_UPDATE); // VS2017 15.5+ | |
7c673cae FG |
646 | PRINT_MACRO(_GLOBAL_USING); |
647 | PRINT_MACRO(_HAS_EXCEPTIONS); | |
648 | PRINT_MACRO(_HAS_MEMBER_TEMPLATES_REBIND); | |
649 | PRINT_MACRO(_HAS_TEMPLATE_PARTIAL_ORDERING); | |
11fdf7f2 TL |
650 | // https://blogs.msdn.microsoft.com/vcblog/2016/08/12/stl-fixes-in-vs-2015-update-3/ |
651 | PRINT_MACRO(_HAS_CXX17); | |
652 | PRINT_MACRO(_HAS_AUTO_PTR_ETC); | |
653 | PRINT_MACRO(_HAS_OLD_IOSTREAMS_MEMBERS); | |
654 | PRINT_MACRO(_HAS_FUNCTION_ASSIGN); | |
655 | PRINT_MACRO(_HAS_TR1_NAMESPACE); | |
656 | PRINT_MACRO(_HAS_IDENTITY_STRUCT); | |
657 | // VS2017 15.5+ | |
658 | PRINT_MACRO(_HAS_STATIC_RTTI); | |
659 | PRINT_MACRO(_HAS_UNEXPECTED); | |
660 | PRINT_MACRO(_HAS_STD_BYTE); | |
661 | PRINT_MACRO(_HAS_FUNCTION_ALLOCATOR_SUPPORT); | |
662 | PRINT_MACRO(_HAS_TR2_SYS_NAMESPACE); | |
663 | PRINT_MACRO(_ENFORCE_MATCHING_ALLOCATORS); | |
664 | PRINT_MACRO(_HAS_HAS_UNIQUE_OBJECT_REPRESENTATIONS); | |
665 | PRINT_MACRO(_HAS_INLINE_VARIABLES); | |
666 | PRINT_MACRO(_HAS_ALIGNED_NEW); | |
667 | PRINT_MACRO(_HAS_NOEXCEPT_FUNCTION_TYPES); | |
668 | PRINT_MACRO(_ITERATOR_DEBUG_LEVEL); | |
669 | PRINT_MACRO(_HAS_ITERATOR_DEBUGGING); | |
670 | PRINT_MACRO(_ITERATOR_DEBUG_ARRAY_OVERLOADS); | |
7c673cae FG |
671 | // Libc++: |
672 | PRINT_MACRO(_LIBCPP_VERSION); | |
673 | // STLPort and generic SGI STL options: | |
674 | PRINT_MACRO(__SGI_STL_NO_ARROW_OPERATOR); | |
675 | PRINT_MACRO(__SGI_STL_OWN_IOSTREAMS); | |
676 | PRINT_MACRO(__SGI_STL_PORT); | |
677 | PRINT_MACRO(__STL_AUTOMATIC_TYPE_TRAITS); | |
678 | PRINT_MACRO(__STL_BASE_MATCH_BUG); | |
679 | PRINT_MACRO(__STL_BASE_TYPEDEF_BUG); | |
680 | PRINT_MACRO(__STL_BASE_TYPEDEF_OUTSIDE_BUG); | |
681 | PRINT_MACRO(__STL_BROKEN_USING_DIRECTIVE); | |
682 | PRINT_MACRO(__STL_CONST_CONSTRUCTOR_BUG); | |
683 | PRINT_MACRO(__STL_DEBUG); | |
684 | PRINT_MACRO(__STL_DEBUG_ALLOC); | |
685 | PRINT_MACRO(__STL_DEFAULT_CONSTRUCTOR_BUG); | |
686 | PRINT_MACRO(__STL_DEFAULT_TYPE_PARAM); | |
687 | PRINT_MACRO(__STL_DONT_REDEFINE_STD); | |
688 | PRINT_MACRO(__STL_DONT_USE_BOOL_TYPEDEF); | |
689 | PRINT_MACRO(__STL_HAS_NO_EXCEPTIONS); | |
690 | PRINT_MACRO(__STL_HAS_NO_NAMESPACES); | |
691 | PRINT_MACRO(__STL_HAS_NO_NEW_C_HEADERS); | |
692 | PRINT_MACRO(__STL_HAS_NO_NEW_IOSTREAMS); | |
693 | PRINT_MACRO(__STL_IMPORT_VENDOR_CSTD); | |
694 | PRINT_MACRO(__STL_LIMITED_DEFAULT_TEMPLATES); | |
695 | PRINT_MACRO(__STL_LINK_TIME_INSTANTIATION); | |
696 | PRINT_MACRO(__STL_LONG_LONG); | |
697 | PRINT_MACRO(__STL_LOOP_INLINE_PROBLEMS); | |
698 | PRINT_MACRO(__STL_MEMBER_POINTER_PARAM_BUG); | |
699 | PRINT_MACRO(__STL_NEED_EXPLICIT); | |
700 | PRINT_MACRO(__STL_NEED_MUTABLE); | |
701 | PRINT_MACRO(__STL_NEED_TYPENAME); | |
702 | PRINT_MACRO(__STL_NESTED_TYPE_PARAM_BUG); | |
703 | PRINT_MACRO(__STL_NO_BAD_ALLOC); | |
704 | PRINT_MACRO(__STL_NO_BOOL); | |
705 | PRINT_MACRO(__STL_NO_CLASS_PARTIAL_SPECIALIZATION); | |
706 | PRINT_MACRO(__STL_NO_CSTD_FUNCTION_IMPORTS); | |
707 | PRINT_MACRO(__STL_NO_DEFAULT_NON_TYPE_PARAM); | |
708 | PRINT_MACRO(__STL_NO_EXCEPTION_HEADER); | |
709 | PRINT_MACRO(__STL_NO_EXCEPTION_SPEC); | |
710 | PRINT_MACRO(__STL_NO_EXCEPTIONS); | |
711 | PRINT_MACRO(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS); | |
712 | PRINT_MACRO(__STL_NO_FRIEND_TEMPLATES); | |
713 | PRINT_MACRO(__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER); | |
714 | PRINT_MACRO(__STL_NO_IOSTREAMS); | |
715 | PRINT_MACRO(__STL_NO_LONG_DOUBLE); | |
716 | PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_CLASSES); | |
717 | PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_KEYWORD); | |
718 | PRINT_MACRO(__STL_NO_MEMBER_TEMPLATES); | |
719 | PRINT_MACRO(__STL_NO_METHOD_SPECIALIZATION); | |
720 | PRINT_MACRO(__STL_NO_NAMESPACES); | |
721 | PRINT_MACRO(__STL_NO_NEW_IOSTREAMS); | |
722 | PRINT_MACRO(__STL_NO_NEW_NEW_HEADER); | |
723 | PRINT_MACRO(__STL_NO_NEW_STYLE_CASTS); | |
724 | PRINT_MACRO(__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX); | |
725 | PRINT_MACRO(__STL_NO_QUALIFIED_FRIENDS); | |
726 | PRINT_MACRO(__STL_NO_RELOPS_NAMESPACE); | |
727 | PRINT_MACRO(__STL_NO_SGI_IOSTREAMS); | |
728 | PRINT_MACRO(__STL_NO_STATIC_TEMPLATE_DATA); | |
729 | PRINT_MACRO(__STL_NO_TEMPLATE_CONVERSIONS); | |
730 | PRINT_MACRO(__STL_NO_WCHAR_T); | |
731 | PRINT_MACRO(__STL_NON_TYPE_TMPL_PARAM_BUG); | |
732 | PRINT_MACRO(__STL_NONTEMPL_BASE_MATCH_BUG); | |
733 | PRINT_MACRO(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS); | |
734 | PRINT_MACRO(__STL_RAND48); | |
735 | PRINT_MACRO(__STL_STATIC_ARRAY_BUG); | |
736 | PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG); | |
737 | PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG); | |
738 | PRINT_MACRO(__STL_THROW_RETURN_BUG); | |
739 | PRINT_MACRO(__STL_TRIVIAL_CONSTRUCTOR_BUG); | |
740 | PRINT_MACRO(__STL_TRIVIAL_DESTRUCTOR_BUG); | |
741 | PRINT_MACRO(__STL_UNINITIALIZABLE_PRIVATE); | |
742 | PRINT_MACRO(__STL_USE_ABBREVS); | |
743 | PRINT_MACRO(__STL_USE_DEFALLOC); | |
744 | PRINT_MACRO(__STL_USE_MALLOC); | |
745 | PRINT_MACRO(__STL_USE_NEW_C_HEADERS); | |
746 | PRINT_MACRO(__STL_USE_NEW_IOSTREAMS); | |
747 | PRINT_MACRO(__STL_USE_NEWALLOC); | |
748 | PRINT_MACRO(__STL_USE_OWN_NAMESPACE); | |
749 | PRINT_MACRO(__STL_USE_SGI_ALLOCATORS); | |
750 | PRINT_MACRO(__STL_WCHAR_T_IS_USHORT); | |
751 | PRINT_MACRO(__STL_WEAK_ATTRIBUTE); | |
752 | PRINT_MACRO(__STL_YVALS_H); | |
753 | PRINT_MACRO(_NOTHREADS); | |
754 | PRINT_MACRO(_PTHREADS); | |
755 | #if defined(__SGI_STL_PORT) && (__SGI_STL_PORT > 0x0400) | |
756 | PRINT_MACRO(_STLP_AUTOMATIC_TYPE_TRAITS); | |
757 | PRINT_MACRO(_STLP_BASE_MATCH_BUG); | |
758 | PRINT_MACRO(_STLP_BASE_TYPEDEF_BUG); | |
759 | PRINT_MACRO(_STLP_BASE_TYPEDEF_OUTSIDE_BUG); | |
760 | PRINT_MACRO(_STLP_BROKEN_USING_DIRECTIVE); | |
761 | PRINT_MACRO(_STLP_CONST_CONSTRUCTOR_BUG); | |
762 | PRINT_MACRO(_STLP_DEBUG); | |
763 | PRINT_MACRO(_STLP_DEBUG_ALLOC); | |
764 | PRINT_MACRO(_STLP_DEFAULT_CONSTRUCTOR_BUG); | |
765 | PRINT_MACRO(_STLP_DEFAULT_TYPE_PARAM); | |
766 | PRINT_MACRO(_STLP_DONT_REDEFINE_STD); | |
767 | PRINT_MACRO(_STLP_DONT_USE_BOOL_TYPEDEF); | |
768 | PRINT_MACRO(_STLP_HAS_NO_EXCEPTIONS); | |
769 | PRINT_MACRO(_STLP_HAS_NO_NAMESPACES); | |
770 | PRINT_MACRO(_STLP_HAS_NO_NEW_C_HEADERS); | |
771 | PRINT_MACRO(_STLP_HAS_NO_NEW_IOSTREAMS); | |
772 | PRINT_MACRO(_STLP_IMPORT_VENDOR_CSTD); | |
773 | PRINT_MACRO(_STLP_LIMITED_DEFAULT_TEMPLATES); | |
774 | PRINT_MACRO(_STLP_LINK_TIME_INSTANTIATION); | |
775 | PRINT_MACRO(_STLP_LONG_LONG); | |
776 | PRINT_MACRO(_STLP_LOOP_INLINE_PROBLEMS); | |
777 | PRINT_MACRO(_STLP_MEMBER_POINTER_PARAM_BUG); | |
778 | PRINT_MACRO(_STLP_NEED_EXPLICIT); | |
779 | PRINT_MACRO(_STLP_NEED_MUTABLE); | |
780 | PRINT_MACRO(_STLP_NEED_TYPENAME); | |
781 | PRINT_MACRO(_STLP_NESTED_TYPE_PARAM_BUG); | |
782 | PRINT_MACRO(_STLP_NO_ARROW_OPERATOR); | |
783 | PRINT_MACRO(_STLP_NO_BAD_ALLOC); | |
784 | PRINT_MACRO(_STLP_NO_BOOL); | |
785 | PRINT_MACRO(_STLP_NO_CLASS_PARTIAL_SPECIALIZATION); | |
786 | PRINT_MACRO(_STLP_NO_CSTD_FUNCTION_IMPORTS); | |
787 | PRINT_MACRO(_STLP_NO_DEFAULT_NON_TYPE_PARAM); | |
788 | PRINT_MACRO(_STLP_NO_EXCEPTION_HEADER); | |
789 | PRINT_MACRO(_STLP_NO_EXCEPTION_SPEC); | |
790 | PRINT_MACRO(_STLP_NO_EXCEPTIONS); | |
791 | PRINT_MACRO(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS); | |
792 | PRINT_MACRO(_STLP_NO_FRIEND_TEMPLATES); | |
793 | PRINT_MACRO(_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER); | |
794 | PRINT_MACRO(_STLP_NO_IOSTREAMS); | |
795 | PRINT_MACRO(_STLP_NO_LONG_DOUBLE); | |
796 | PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_CLASSES); | |
797 | PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_KEYWORD); | |
798 | PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATES); | |
799 | PRINT_MACRO(_STLP_NO_METHOD_SPECIALIZATION); | |
800 | PRINT_MACRO(_STLP_NO_NAMESPACES); | |
801 | PRINT_MACRO(_STLP_NO_NEW_IOSTREAMS); | |
802 | PRINT_MACRO(_STLP_NO_NEW_NEW_HEADER); | |
803 | PRINT_MACRO(_STLP_NO_NEW_STYLE_CASTS); | |
804 | PRINT_MACRO(_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX); | |
805 | PRINT_MACRO(_STLP_NO_QUALIFIED_FRIENDS); | |
806 | PRINT_MACRO(_STLP_NO_RELOPS_NAMESPACE); | |
807 | PRINT_MACRO(_STLP_NO_SGI_IOSTREAMS); | |
808 | PRINT_MACRO(_STLP_NO_STATIC_TEMPLATE_DATA); | |
809 | PRINT_MACRO(_STLP_NO_TEMPLATE_CONVERSIONS); | |
810 | PRINT_MACRO(_STLP_NO_WCHAR_T); | |
811 | PRINT_MACRO(_STLP_NON_TYPE_TMPL_PARAM_BUG); | |
812 | PRINT_MACRO(_STLP_NONTEMPL_BASE_MATCH_BUG); | |
813 | PRINT_MACRO(_STLP_OWN_IOSTREAMS); | |
814 | PRINT_MACRO(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS); | |
815 | PRINT_MACRO(_STLP_RAND48); | |
816 | PRINT_MACRO(_STLP_STATIC_ARRAY_BUG); | |
817 | PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG); | |
818 | PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG); | |
819 | PRINT_MACRO(_STLP_THROW_RETURN_BUG); | |
820 | PRINT_MACRO(_STLP_TRIVIAL_CONSTRUCTOR_BUG); | |
821 | PRINT_MACRO(_STLP_TRIVIAL_DESTRUCTOR_BUG); | |
822 | PRINT_MACRO(_STLP_UNINITIALIZABLE_PRIVATE); | |
823 | PRINT_MACRO(_STLP_USE_ABBREVS); | |
824 | PRINT_MACRO(_STLP_USE_DEFALLOC); | |
825 | PRINT_MACRO(_STLP_USE_MALLOC); | |
826 | PRINT_MACRO(_STLP_USE_NEW_C_HEADERS); | |
827 | PRINT_MACRO(_STLP_USE_NEWALLOC); | |
828 | PRINT_MACRO(_STLP_USE_OWN_NAMESPACE); | |
829 | PRINT_MACRO(_STLP_USE_SGI_ALLOCATORS); | |
830 | PRINT_MACRO(_STLP_WCHAR_T_IS_USHORT); | |
831 | PRINT_MACRO(_STLP_WEAK_ATTRIBUTE); | |
832 | PRINT_MACRO(_STLP_YVALS_H); | |
833 | #endif | |
834 | PRINT_MACRO(__GLIBCPP__); | |
835 | PRINT_MACRO(_GLIBCPP_USE_WCHAR_T); | |
836 | PRINT_MACRO(_GLIBCPP_VERSION); | |
837 | PRINT_MACRO(__GLIBCXX__); | |
838 | PRINT_MACRO(_GLIBCXX_USE_WCHAR_T); | |
839 | PRINT_MACRO(_GLIBCXX_VERSION); | |
840 | PRINT_MACRO(_GLIBCXX_USE_LONG_LONG); | |
841 | PRINT_MACRO(_GLIBCXX_USE_NLS); | |
842 | PRINT_MACRO(_GLIBCXX_USE_C99_MATH); | |
843 | PRINT_MACRO(_GLIBCXX_USE_C99); | |
844 | PRINT_MACRO(_GLIBCXX_CONCEPT_CHECKS); | |
845 | PRINT_MACRO(_GLIBCXX_USE_LFS); | |
846 | PRINT_MACRO(_GLIBCXX_SYMVER); | |
847 | PRINT_MACRO(_GLIBCXX_MEM_LIMITS); | |
848 | PRINT_MACRO(_GLIBCXX_HOSTED); | |
849 | PRINT_MACRO(_GLIBCXX_SJLJ_EXCEPTIONS); | |
11fdf7f2 | 850 | PRINT_MACRO(_GLIBCXX_RELEASE); |
f67539c2 | 851 | PRINT_MACRO(_GLIBCXX_USE_FLOAT128); |
7c673cae FG |
852 | |
853 | // Modena C++ standard library | |
854 | PRINT_MACRO(MSIPL_ANSI_HEADER); | |
855 | PRINT_MACRO(MSIPL_BOOL_BUILTIN); | |
856 | PRINT_MACRO(MSIPL_DEF_EXPLICIT); | |
857 | PRINT_MACRO(MSIPL_DEF_TEMPARG); | |
858 | PRINT_MACRO(MSIPL_EXPINST_ALLOWED); | |
859 | PRINT_MACRO(MSIPL_EXPLICIT_FUNC_TEMPLATE_ARG); | |
860 | PRINT_MACRO(MISPL_EXPLICIT_TEMPLATE_ARGUMENT); | |
861 | PRINT_MACRO(MSIPL_FUNC_TEMPLATE_DEFARG); | |
862 | PRINT_MACRO(MSIPL_MEMBER_TEMPLATE); | |
863 | PRINT_MACRO(MSIPL_MULTITHREAD); | |
864 | PRINT_MACRO(MSIPL_NON_TYPE_TEMPARG); | |
865 | PRINT_MACRO(MSIPL_PARTIAL_TEMPL); | |
866 | PRINT_MACRO(MSIPL_STATIC_CONST_INIT); | |
867 | PRINT_MACRO(MSIPL_TEMPL_NEWSPEC); | |
868 | PRINT_MACRO(MSIPL_TYPENAME); | |
869 | PRINT_MACRO(MSIPL_USING_NAMESPACE); | |
870 | PRINT_MACRO(MSIPL_WCHART); | |
871 | } | |
872 | ||
873 | void print_platform_macros() | |
874 | { | |
875 | std::cout << "Detected Platform: " << BOOST_PLATFORM << std::endl; | |
876 | // signedness: | |
877 | PRINT_SIGN(char); | |
878 | PRINT_SIGN(wchar_t); | |
879 | // byte ordering: | |
880 | PRINT_ORDER(short); | |
881 | PRINT_ORDER(int); | |
882 | PRINT_ORDER(long); | |
883 | // sizes: | |
884 | PRINT_EXPRESSION(sizeof(wchar_t)); | |
885 | PRINT_EXPRESSION(sizeof(short)); | |
886 | PRINT_EXPRESSION(sizeof(int)); | |
887 | PRINT_EXPRESSION(sizeof(long)); | |
888 | PRINT_EXPRESSION(sizeof(size_t)); | |
889 | PRINT_EXPRESSION(sizeof(ptrdiff_t)); | |
890 | PRINT_EXPRESSION(sizeof(void*)); | |
891 | PRINT_EXPRESSION(sizeof(void(*)(void))); | |
892 | PRINT_EXPRESSION(sizeof(float)); | |
893 | PRINT_EXPRESSION(sizeof(double)); | |
894 | PRINT_EXPRESSION(sizeof(long double)); | |
895 | // limits: | |
896 | PRINT_MACRO(CHAR_BIT); | |
897 | PRINT_MACRO(CHAR_MAX); | |
898 | PRINT_MACRO(WCHAR_MAX); | |
899 | PRINT_MACRO(SHRT_MAX); | |
900 | PRINT_MACRO(INT_MAX); | |
901 | PRINT_MACRO(LONG_MAX); | |
902 | PRINT_MACRO(LLONG_MAX); | |
903 | PRINT_MACRO(LONG_LONG_MAX); | |
904 | PRINT_MACRO(LONGLONG_MAX); | |
905 | PRINT_MACRO(ULLONG_MAX); // <boost/cstdint.hpp> uses these, so we need to know them | |
906 | PRINT_MACRO(ULONG_LONG_MAX); | |
907 | PRINT_MACRO(ULONGLONG_MAX); | |
908 | // general C99: | |
909 | PRINT_MACRO(__STDC_IEC_559__); | |
910 | PRINT_MACRO(__STDC_IEC_559_COMPLEX__); | |
911 | PRINT_MACRO(__STDC_ISO_10646__); | |
912 | // GNU: | |
913 | PRINT_MACRO(__GLIBC__); | |
914 | PRINT_MACRO(__GLIBC_MINOR__); | |
915 | PRINT_MACRO(__GNU_LIBRARY__); | |
916 | PRINT_MACRO(_BSD_SOURCE); | |
917 | PRINT_MACRO(_GNU_SOURCE); | |
918 | PRINT_MACRO(_ISOC99_SOURCE); | |
919 | PRINT_MACRO(_ISOC9X_SOURCE); | |
920 | PRINT_MACRO(_LARGEFILE_SOURCE); | |
921 | PRINT_MACRO(_LARGEFILE64_SOURCE); | |
922 | PRINT_MACRO(_SVID_SOURCE); | |
923 | PRINT_MACRO(_THREAD_SAFE); | |
924 | PRINT_MACRO(_XOPEN_SOURCE_EXTENDED); | |
925 | PRINT_MACRO(XPG); | |
926 | PRINT_MACRO(__MINGW32_MAJOR_VERSION); | |
927 | PRINT_MACRO(__MINGW32_MINOR_VERSION); | |
928 | // POSIX: | |
929 | PRINT_MACRO(_POSIX_ADVISORY_INFO); | |
930 | PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO); | |
931 | PRINT_MACRO(_POSIX_BARRIERS); | |
932 | PRINT_MACRO(_POSIX_C_SOURCE); | |
933 | PRINT_MACRO(_POSIX_CHOWN_RESTRICTED); | |
934 | PRINT_MACRO(_POSIX_CLOCK_SELECTION); | |
935 | PRINT_MACRO(_POSIX_CPUTIME); | |
936 | PRINT_MACRO(_POSIX_FSYNC); | |
937 | PRINT_MACRO(_POSIX_JOB_CONTROL); | |
938 | PRINT_MACRO(_POSIX_MAPPED_FILES); | |
939 | PRINT_MACRO(_POSIX_MEMLOCK); | |
940 | PRINT_MACRO(_POSIX_MEMLOCK_RANGE); | |
941 | PRINT_MACRO(_POSIX_MEMORY_PROTECTION); | |
942 | PRINT_MACRO(_POSIX_MESSAGE_PASSING); | |
943 | PRINT_MACRO(_POSIX_MONOTONIC_CLOCK); | |
944 | PRINT_MACRO(_POSIX_NO_TRUNC); | |
945 | PRINT_MACRO(_POSIX_PRIORITIZED_IO); | |
946 | PRINT_MACRO(_POSIX_PRIORITY_SCHEDULING); | |
947 | PRINT_MACRO(_POSIX_RAW_SOCKETS); | |
948 | PRINT_MACRO(_POSIX_READER_WRITER_LOCKS); | |
949 | PRINT_MACRO(_POSIX_REALTIME_SIGNALS); | |
950 | PRINT_MACRO(_POSIX_REGEXP); | |
951 | PRINT_MACRO(_POSIX_SAVED_IDS); | |
952 | PRINT_MACRO(_POSIX_SEMAPHORES); | |
953 | PRINT_MACRO(_POSIX_SHARED_MEMORY_OBJECTS); | |
954 | PRINT_MACRO(_POSIX_SHELL); | |
955 | PRINT_MACRO(_POSIX_SOURCE); | |
956 | PRINT_MACRO(_POSIX_SPAWN); | |
957 | PRINT_MACRO(_POSIX_SPIN_LOCKS); | |
958 | PRINT_MACRO(_POSIX_SPORADIC_SERVER); | |
959 | PRINT_MACRO(_POSIX_SYNCHRONIZED_IO); | |
960 | PRINT_MACRO(_POSIX_THREAD_ATTR_STACKADDR); | |
961 | PRINT_MACRO(_POSIX_THREAD_ATTR_STACKSIZE); | |
962 | PRINT_MACRO(_POSIX_THREAD_CPUTIME); | |
963 | PRINT_MACRO(_POSIX_THREAD_PRIO_INHERIT); | |
964 | PRINT_MACRO(_POSIX_THREAD_PRIO_PROTECT); | |
965 | PRINT_MACRO(_POSIX_THREAD_PRIORITY_SCHEDULING); | |
966 | PRINT_MACRO(_POSIX_THREAD_PROCESS_SHARED); | |
967 | PRINT_MACRO(_POSIX_THREAD_SAFE_FUNCTIONS); | |
968 | PRINT_MACRO(_POSIX_THREAD_SPORADIC_SERVER); | |
969 | PRINT_MACRO(_POSIX_THREADS); | |
970 | PRINT_MACRO(_POSIX_TIMEOUTS); | |
971 | PRINT_MACRO(_POSIX_TIMERS); | |
972 | PRINT_MACRO(_POSIX_TRACE); | |
973 | PRINT_MACRO(_POSIX_TRACE_EVENT_FILTER); | |
974 | PRINT_MACRO(_POSIX_TRACE_INHERIT); | |
975 | PRINT_MACRO(_POSIX_TRACE_LOG); | |
976 | PRINT_MACRO(_POSIX_TYPED_MEMORY_OBJECTS); | |
977 | PRINT_MACRO(_POSIX_VDISABLE); | |
978 | PRINT_MACRO(_POSIX_VERSION); | |
979 | PRINT_MACRO(_POSIX2_C_BIND); | |
980 | PRINT_MACRO(_POSIX2_C_DEV); | |
981 | PRINT_MACRO(_POSIX2_CHAR_TERM); | |
982 | PRINT_MACRO(_POSIX2_FORT_DEV); | |
983 | PRINT_MACRO(_POSIX2_FORT_RUN); | |
984 | PRINT_MACRO(_POSIX2_LOCALEDEF); | |
985 | PRINT_MACRO(_POSIX2_PBS); | |
986 | PRINT_MACRO(_POSIX2_PBS_ACCOUNTING); | |
987 | PRINT_MACRO(_POSIX2_PBS_CHECKPOINT); | |
988 | PRINT_MACRO(_POSIX2_PBS_LOCATE); | |
989 | PRINT_MACRO(_POSIX2_PBS_MESSAGE); | |
990 | PRINT_MACRO(_POSIX2_PBS_TRACK); | |
991 | PRINT_MACRO(_POSIX2_SW_DEV); | |
992 | PRINT_MACRO(_POSIX2_UPE); | |
993 | PRINT_MACRO(_POSIX2_VERSION); | |
994 | PRINT_MACRO(_V6_ILP32_OFF32); | |
995 | PRINT_MACRO(_V6_ILP32_OFFBIG); | |
996 | PRINT_MACRO(_V6_LP64_OFF64); | |
997 | PRINT_MACRO(_V6_LPBIG_OFFBIG); | |
998 | PRINT_MACRO(_XBS5_ILP32_OFF32); | |
999 | PRINT_MACRO(_XBS5_ILP32_OFFBIG); | |
1000 | PRINT_MACRO(_XBS5_LP64_OFF64); | |
1001 | PRINT_MACRO(_XBS5_LPBIG_OFFBIG); | |
1002 | PRINT_MACRO(_XOPEN_CRYPT); | |
1003 | PRINT_MACRO(_XOPEN_ENH_I18N); | |
1004 | PRINT_MACRO(_XOPEN_LEGACY); | |
1005 | PRINT_MACRO(_XOPEN_REALTIME); | |
1006 | PRINT_MACRO(_XOPEN_REALTIME_THREADS); | |
1007 | PRINT_MACRO(_XOPEN_SHM); | |
1008 | PRINT_MACRO(_XOPEN_SOURCE); | |
1009 | PRINT_MACRO(_XOPEN_STREAMS); | |
1010 | PRINT_MACRO(_XOPEN_UNIX); | |
1011 | PRINT_MACRO(_XOPEN_VERSION); | |
1012 | // Misc: | |
1013 | PRINT_MACRO(__USE_BSD); | |
1014 | PRINT_MACRO(_FILE_OFFSET_BITS); | |
1015 | } | |
1016 | ||
1017 | void print_boost_macros() | |
1018 | { | |
1019 | std::cout << "Boost version " << BOOST_STRINGIZE(BOOST_VERSION) << std::endl; | |
1020 | // config setup macros first: | |
1021 | PRINT_MACRO(BOOST_USER_CONFIG); | |
1022 | PRINT_MACRO(BOOST_COMPILER_CONFIG); | |
1023 | PRINT_MACRO(BOOST_STDLIB_CONFIG); | |
1024 | PRINT_MACRO(BOOST_PLATFORM_CONFIG); | |
1025 | PRINT_MACRO(BOOST_NO_CONFIG); | |
1026 | PRINT_MACRO(BOOST_NO_USER_CONFIG); | |
1027 | PRINT_MACRO(BOOST_NO_COMPILER_CONFIG); | |
1028 | PRINT_MACRO(BOOST_NO_STDLIB_CONFIG); | |
1029 | PRINT_MACRO(BOOST_NO_PLATFORM_CONFIG); | |
1030 | // then defect and feature macros: | |
1031 | PRINT_MACRO(BOOST_DISABLE_THREADS); | |
1032 | PRINT_MACRO(BOOST_DISABLE_WIN32); | |
1033 | PRINT_MACRO(BOOST_HAS_THREADS); | |
1034 | PRINT_MACRO(BOOST_WINDOWS); | |
1035 | ||
1036 | // BEGIN GENERATED BLOCK DO NOT EDIT THIS!!!!!! | |
1037 | PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG); | |
1038 | PRINT_MACRO(BOOST_DEDUCED_TYPENAME); | |
1039 | PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL); | |
1040 | PRINT_MACRO(BOOST_HAS_BETHREADS); | |
1041 | PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME); | |
1042 | PRINT_MACRO(BOOST_HAS_DIRENT_H); | |
1043 | PRINT_MACRO(BOOST_HAS_EXPM1); | |
1044 | PRINT_MACRO(BOOST_HAS_FLOAT128); | |
1045 | PRINT_MACRO(BOOST_HAS_FTIME); | |
1046 | PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME); | |
1047 | PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY); | |
1048 | PRINT_MACRO(BOOST_HAS_HASH); | |
1049 | PRINT_MACRO(BOOST_HAS_INT128); | |
1050 | PRINT_MACRO(BOOST_HAS_LOG1P); | |
1051 | PRINT_MACRO(BOOST_HAS_LONG_LONG); | |
1052 | PRINT_MACRO(BOOST_HAS_MACRO_USE_FACET); | |
1053 | PRINT_MACRO(BOOST_HAS_MS_INT64); | |
1054 | PRINT_MACRO(BOOST_HAS_NANOSLEEP); | |
1055 | PRINT_MACRO(BOOST_HAS_NL_TYPES_H); | |
1056 | PRINT_MACRO(BOOST_HAS_NRVO); | |
1057 | PRINT_MACRO(BOOST_HAS_PARTIAL_STD_ALLOCATOR); | |
92f5a8d4 | 1058 | PRINT_MACRO(BOOST_HAS_PRAGMA_DETECT_MISMATCH); |
7c673cae FG |
1059 | PRINT_MACRO(BOOST_HAS_PTHREADS); |
1060 | PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP); | |
1061 | PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE); | |
1062 | PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD); | |
1063 | PRINT_MACRO(BOOST_HAS_RVALUE_REFS); | |
1064 | PRINT_MACRO(BOOST_HAS_SCHED_YIELD); | |
1065 | PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS); | |
1066 | PRINT_MACRO(BOOST_HAS_SIGACTION); | |
1067 | PRINT_MACRO(BOOST_HAS_SLIST); | |
1068 | PRINT_MACRO(BOOST_HAS_STATIC_ASSERT); | |
1069 | PRINT_MACRO(BOOST_HAS_STDINT_H); | |
1070 | PRINT_MACRO(BOOST_HAS_STLP_USE_FACET); | |
7c673cae FG |
1071 | PRINT_MACRO(BOOST_HAS_TWO_ARG_USE_FACET); |
1072 | PRINT_MACRO(BOOST_HAS_UNISTD_H); | |
1073 | PRINT_MACRO(BOOST_HAS_VARIADIC_TMPL); | |
1074 | PRINT_MACRO(BOOST_HAS_WINTHREADS); | |
1075 | PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES); | |
1076 | PRINT_MACRO(BOOST_MSVC_STD_ITERATOR); | |
1077 | PRINT_MACRO(BOOST_NO_ADL_BARRIER); | |
1078 | PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP); | |
1079 | PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS); | |
1080 | PRINT_MACRO(BOOST_NO_AUTO_PTR); | |
1081 | PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION); | |
1082 | PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS); | |
1083 | PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS); | |
1084 | PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS); | |
1085 | PRINT_MACRO(BOOST_NO_CWCHAR); | |
1086 | PRINT_MACRO(BOOST_NO_CWCTYPE); | |
1087 | PRINT_MACRO(BOOST_NO_CXX11_ADDRESSOF); | |
1088 | PRINT_MACRO(BOOST_NO_CXX11_ALIGNAS); | |
1089 | PRINT_MACRO(BOOST_NO_CXX11_ALLOCATOR); | |
1090 | PRINT_MACRO(BOOST_NO_CXX11_ATOMIC_SMART_PTR); | |
1091 | PRINT_MACRO(BOOST_NO_CXX11_AUTO_DECLARATIONS); | |
1092 | PRINT_MACRO(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS); | |
1093 | PRINT_MACRO(BOOST_NO_CXX11_CHAR16_T); | |
1094 | PRINT_MACRO(BOOST_NO_CXX11_CHAR32_T); | |
1095 | PRINT_MACRO(BOOST_NO_CXX11_CONSTEXPR); | |
1096 | PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE); | |
1097 | PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE_N3276); | |
1098 | PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS); | |
11fdf7f2 | 1099 | PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_MOVES); |
7c673cae FG |
1100 | PRINT_MACRO(BOOST_NO_CXX11_DELETED_FUNCTIONS); |
1101 | PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS); | |
1102 | PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE); | |
1103 | PRINT_MACRO(BOOST_NO_CXX11_FINAL); | |
1104 | PRINT_MACRO(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS); | |
1105 | PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS); | |
1106 | PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY); | |
1107 | PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC); | |
1108 | PRINT_MACRO(BOOST_NO_CXX11_HDR_CHRONO); | |
1109 | PRINT_MACRO(BOOST_NO_CXX11_HDR_CODECVT); | |
1110 | PRINT_MACRO(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE); | |
92f5a8d4 | 1111 | PRINT_MACRO(BOOST_NO_CXX11_HDR_EXCEPTION); |
7c673cae FG |
1112 | PRINT_MACRO(BOOST_NO_CXX11_HDR_FORWARD_LIST); |
1113 | PRINT_MACRO(BOOST_NO_CXX11_HDR_FUNCTIONAL); | |
1114 | PRINT_MACRO(BOOST_NO_CXX11_HDR_FUTURE); | |
1115 | PRINT_MACRO(BOOST_NO_CXX11_HDR_INITIALIZER_LIST); | |
1116 | PRINT_MACRO(BOOST_NO_CXX11_HDR_MUTEX); | |
1117 | PRINT_MACRO(BOOST_NO_CXX11_HDR_RANDOM); | |
1118 | PRINT_MACRO(BOOST_NO_CXX11_HDR_RATIO); | |
1119 | PRINT_MACRO(BOOST_NO_CXX11_HDR_REGEX); | |
1120 | PRINT_MACRO(BOOST_NO_CXX11_HDR_SYSTEM_ERROR); | |
1121 | PRINT_MACRO(BOOST_NO_CXX11_HDR_THREAD); | |
1122 | PRINT_MACRO(BOOST_NO_CXX11_HDR_TUPLE); | |
1123 | PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPEINDEX); | |
1124 | PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPE_TRAITS); | |
1125 | PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_MAP); | |
1126 | PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_SET); | |
1127 | PRINT_MACRO(BOOST_NO_CXX11_INLINE_NAMESPACES); | |
1128 | PRINT_MACRO(BOOST_NO_CXX11_LAMBDAS); | |
1129 | PRINT_MACRO(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS); | |
1130 | PRINT_MACRO(BOOST_NO_CXX11_NOEXCEPT); | |
1131 | PRINT_MACRO(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS); | |
1132 | PRINT_MACRO(BOOST_NO_CXX11_NULLPTR); | |
1133 | PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS); | |
20effc67 | 1134 | PRINT_MACRO(BOOST_NO_CXX11_OVERRIDE); |
b32b8144 | 1135 | PRINT_MACRO(BOOST_NO_CXX11_POINTER_TRAITS); |
7c673cae FG |
1136 | PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR); |
1137 | PRINT_MACRO(BOOST_NO_CXX11_RAW_LITERALS); | |
1138 | PRINT_MACRO(BOOST_NO_CXX11_REF_QUALIFIERS); | |
1139 | PRINT_MACRO(BOOST_NO_CXX11_RVALUE_REFERENCES); | |
1140 | PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS); | |
b32b8144 | 1141 | PRINT_MACRO(BOOST_NO_CXX11_SFINAE_EXPR); |
7c673cae FG |
1142 | PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR); |
1143 | PRINT_MACRO(BOOST_NO_CXX11_STATIC_ASSERT); | |
1144 | PRINT_MACRO(BOOST_NO_CXX11_STD_ALIGN); | |
1145 | PRINT_MACRO(BOOST_NO_CXX11_TEMPLATE_ALIASES); | |
1146 | PRINT_MACRO(BOOST_NO_CXX11_THREAD_LOCAL); | |
1147 | PRINT_MACRO(BOOST_NO_CXX11_TRAILING_RESULT_TYPES); | |
1148 | PRINT_MACRO(BOOST_NO_CXX11_UNICODE_LITERALS); | |
1149 | PRINT_MACRO(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX); | |
1150 | PRINT_MACRO(BOOST_NO_CXX11_USER_DEFINED_LITERALS); | |
1151 | PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_MACROS); | |
1152 | PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_TEMPLATES); | |
1153 | PRINT_MACRO(BOOST_NO_CXX14_AGGREGATE_NSDMI); | |
1154 | PRINT_MACRO(BOOST_NO_CXX14_BINARY_LITERALS); | |
1155 | PRINT_MACRO(BOOST_NO_CXX14_CONSTEXPR); | |
1156 | PRINT_MACRO(BOOST_NO_CXX14_DECLTYPE_AUTO); | |
1157 | PRINT_MACRO(BOOST_NO_CXX14_DIGIT_SEPARATORS); | |
1158 | PRINT_MACRO(BOOST_NO_CXX14_GENERIC_LAMBDAS); | |
1159 | PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX); | |
1160 | PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES); | |
1161 | PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION); | |
b32b8144 | 1162 | PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE); |
7c673cae | 1163 | PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES); |
b32b8144 | 1164 | PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS); |
92f5a8d4 TL |
1165 | PRINT_MACRO(BOOST_NO_CXX17_HDR_OPTIONAL); |
1166 | PRINT_MACRO(BOOST_NO_CXX17_HDR_STRING_VIEW); | |
1167 | PRINT_MACRO(BOOST_NO_CXX17_HDR_VARIANT); | |
1168 | PRINT_MACRO(BOOST_NO_CXX17_IF_CONSTEXPR); | |
b32b8144 FG |
1169 | PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES); |
1170 | PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS); | |
1171 | PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY); | |
7c673cae | 1172 | PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE); |
b32b8144 FG |
1173 | PRINT_MACRO(BOOST_NO_CXX17_STRUCTURED_BINDINGS); |
1174 | PRINT_MACRO(BOOST_NO_CXX98_BINDERS); | |
1175 | PRINT_MACRO(BOOST_NO_CXX98_FUNCTION_BASE); | |
1176 | PRINT_MACRO(BOOST_NO_CXX98_RANDOM_SHUFFLE); | |
7c673cae FG |
1177 | PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS); |
1178 | PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS); | |
1179 | PRINT_MACRO(BOOST_NO_EXCEPTIONS); | |
1180 | PRINT_MACRO(BOOST_NO_EXCEPTION_STD_NAMESPACE); | |
1181 | PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS); | |
1182 | PRINT_MACRO(BOOST_NO_FENV_H); | |
1183 | PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING); | |
1184 | PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS); | |
1185 | PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION); | |
1186 | PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T); | |
1187 | PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T); | |
1188 | PRINT_MACRO(BOOST_NO_IOSFWD); | |
1189 | PRINT_MACRO(BOOST_NO_IOSTREAM); | |
1190 | PRINT_MACRO(BOOST_NO_IS_ABSTRACT); | |
1191 | PRINT_MACRO(BOOST_NO_LIMITS); | |
1192 | PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS); | |
1193 | PRINT_MACRO(BOOST_NO_LONG_LONG); | |
1194 | PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS); | |
1195 | PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS); | |
1196 | PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES); | |
1197 | PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_FRIENDS); | |
1198 | PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD); | |
1199 | PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS); | |
1200 | PRINT_MACRO(BOOST_NO_NESTED_FRIENDSHIP); | |
1201 | PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE); | |
1202 | PRINT_MACRO(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS); | |
1203 | PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST); | |
1204 | PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS); | |
1205 | PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE); | |
b32b8144 | 1206 | PRINT_MACRO(BOOST_NO_RESTRICT_REFERENCES); |
7c673cae FG |
1207 | PRINT_MACRO(BOOST_NO_RTTI); |
1208 | PRINT_MACRO(BOOST_NO_SFINAE); | |
1209 | PRINT_MACRO(BOOST_NO_SFINAE_EXPR); | |
1210 | PRINT_MACRO(BOOST_NO_STDC_NAMESPACE); | |
1211 | PRINT_MACRO(BOOST_NO_STD_ALLOCATOR); | |
1212 | PRINT_MACRO(BOOST_NO_STD_DISTANCE); | |
1213 | PRINT_MACRO(BOOST_NO_STD_ITERATOR); | |
1214 | PRINT_MACRO(BOOST_NO_STD_ITERATOR_TRAITS); | |
1215 | PRINT_MACRO(BOOST_NO_STD_LOCALE); | |
1216 | PRINT_MACRO(BOOST_NO_STD_MESSAGES); | |
1217 | PRINT_MACRO(BOOST_NO_STD_MIN_MAX); | |
1218 | PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN); | |
1219 | PRINT_MACRO(BOOST_NO_STD_TYPEINFO); | |
1220 | PRINT_MACRO(BOOST_NO_STD_USE_FACET); | |
1221 | PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF); | |
1222 | PRINT_MACRO(BOOST_NO_STD_WSTRING); | |
1223 | PRINT_MACRO(BOOST_NO_STRINGSTREAM); | |
1224 | PRINT_MACRO(BOOST_NO_SWPRINTF); | |
1225 | PRINT_MACRO(BOOST_NO_TEMPLATED_IOSTREAMS); | |
1226 | PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS); | |
1227 | PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION); | |
1228 | PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES); | |
1229 | PRINT_MACRO(BOOST_NO_TWO_PHASE_NAME_LOOKUP); | |
1230 | PRINT_MACRO(BOOST_NO_TYPEID); | |
1231 | PRINT_MACRO(BOOST_NO_TYPENAME_WITH_CTOR); | |
1232 | PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION); | |
1233 | PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE); | |
1234 | PRINT_MACRO(BOOST_NO_USING_TEMPLATE); | |
1235 | PRINT_MACRO(BOOST_NO_VOID_RETURNS); | |
1236 | ||
1237 | ||
20effc67 | 1238 | |
7c673cae FG |
1239 | // END GENERATED BLOCK |
1240 | ||
1241 | PRINT_MACRO(BOOST_INTEL); | |
1242 | PRINT_MACRO(BOOST_MSVC); | |
11fdf7f2 TL |
1243 | PRINT_MACRO(BOOST_GCC); |
1244 | PRINT_MACRO(BOOST_LIBSTDCXX_VERSION); | |
7c673cae FG |
1245 | PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE); |
1246 | PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0)); | |
1247 | PRINT_MACRO(BOOST_CONSTEXPR); | |
1248 | PRINT_MACRO(BOOST_CONSTEXPR_OR_CONST); | |
1249 | PRINT_MACRO(BOOST_STATIC_CONSTEXPR); | |
1250 | PRINT_MACRO(BOOST_NOEXCEPT); | |
1251 | PRINT_MACRO(BOOST_FORCEINLINE); | |
1252 | PRINT_MACRO(BOOST_NOINLINE); | |
1253 | PRINT_MACRO(BOOST_FALLTHROUGH); | |
b32b8144 FG |
1254 | PRINT_MACRO(BOOST_MAY_ALIAS); |
1255 | PRINT_MACRO(BOOST_NO_MAY_ALIAS); | |
92f5a8d4 TL |
1256 | PRINT_MACRO(BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS); |
1257 | PRINT_MACRO(BOOST_ATTRIBUTE_UNUSED); | |
1258 | PRINT_MACRO(BOOST_UNLIKELY); | |
1259 | PRINT_MACRO(BOOST_NORETURN); | |
7c673cae FG |
1260 | } |
1261 | ||
11fdf7f2 TL |
1262 | void print_sd6_macros() |
1263 | { | |
1264 | // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0096r5.html | |
1265 | ||
92f5a8d4 TL |
1266 | // C++20: |
1267 | PRINT_MACRO(__cpp_aggregate_paren_init); | |
1268 | PRINT_MACRO(__cpp_char8_t); | |
1269 | PRINT_MACRO(__cpp_char8_type); | |
1270 | PRINT_MACRO(__cpp_conditional_explicit); | |
1271 | PRINT_MACRO(__cpp_coroutines); | |
1272 | PRINT_MACRO(__cpp_impl_destroying_delete); | |
1273 | PRINT_MACRO(__cpp_impl_three_way_comparison); | |
1274 | PRINT_MACRO(__cpp_nontype_template_parameter_class); | |
1275 | ||
11fdf7f2 TL |
1276 | // C++17: |
1277 | PRINT_MACRO(__cpp_hex_float); | |
1278 | PRINT_MACRO(__cpp_inline_variables); | |
1279 | PRINT_MACRO(__cpp_aligned_new); | |
1280 | PRINT_MACRO(__cpp_guaranteed_copy_elision); | |
1281 | PRINT_MACRO(__cpp_noexcept_function_type); | |
1282 | PRINT_MACRO(__cpp_fold_expressions); | |
1283 | PRINT_MACRO(__cpp_capture_star_this); | |
1284 | PRINT_MACRO(__cpp_constexpr); | |
1285 | PRINT_MACRO(__cpp_if_constexpr); | |
1286 | PRINT_MACRO(__cpp_range_based_for); | |
1287 | PRINT_MACRO(__cpp_static_assert); | |
1288 | PRINT_MACRO(__cpp_deduction_guides); | |
1289 | PRINT_MACRO(__cpp_nontype_template_parameter_auto); | |
1290 | PRINT_MACRO(__cpp_namespace_attributes); | |
1291 | PRINT_MACRO(__cpp_enumerator_attributes); | |
1292 | PRINT_MACRO(__cpp_inheriting_constructors); | |
1293 | PRINT_MACRO(__cpp_variadic_using); | |
1294 | PRINT_MACRO(__cpp_structured_bindings); | |
1295 | PRINT_MACRO(__cpp_aggregate_bases); | |
1296 | PRINT_MACRO(__cpp_nontype_template_args); | |
1297 | PRINT_MACRO(__cpp_template_template_args); | |
1298 | ||
1299 | // C++14: | |
1300 | PRINT_MACRO(__cpp_binary_literals); | |
1301 | PRINT_MACRO(__cpp_init_captures); | |
1302 | PRINT_MACRO(__cpp_generic_lambdas); | |
1303 | PRINT_MACRO(__cpp_sized_deallocation); | |
1304 | PRINT_MACRO(__cpp_decltype_auto); | |
1305 | PRINT_MACRO(__cpp_return_type_deduction); | |
1306 | PRINT_MACRO(__cpp_aggregate_nsdmi); | |
1307 | PRINT_MACRO(__cpp_variable_templates); | |
1308 | ||
1309 | // C++11: | |
1310 | PRINT_MACRO(__cpp_unicode_characters); | |
1311 | PRINT_MACRO(__cpp_raw_strings); | |
1312 | PRINT_MACRO(__cpp_unicode_literals); | |
1313 | PRINT_MACRO(__cpp_user_defined_literals); | |
1314 | PRINT_MACRO(__cpp_threadsafe_static_init); | |
1315 | PRINT_MACRO(__cpp_lambdas); | |
1316 | PRINT_MACRO(__cpp_decltype); | |
1317 | PRINT_MACRO(__cpp_attributes); | |
1318 | PRINT_MACRO(__cpp_rvalue_references); | |
1319 | PRINT_MACRO(__cpp_variadic_templates); | |
1320 | PRINT_MACRO(__cpp_initializer_lists); | |
1321 | PRINT_MACRO(__cpp_delegating_constructors); | |
1322 | PRINT_MACRO(__cpp_nsdmi); | |
1323 | PRINT_MACRO(__cpp_ref_qualifiers); | |
1324 | PRINT_MACRO(__cpp_alias_templates); | |
1325 | ||
1326 | // C++98: | |
1327 | PRINT_MACRO(__cpp_rtti); | |
1328 | PRINT_MACRO(__cpp_exceptions); | |
1329 | } | |
1330 | ||
7c673cae FG |
1331 | void print_separator() |
1332 | { | |
1333 | std::cout << | |
1334 | "\n\n*********************************************************************\n\n"; | |
1335 | } | |
1336 | ||
1337 | int main() | |
1338 | { | |
1339 | ||
1340 | // boost compiler workaround defines | |
1341 | print_compiler_macros(); | |
1342 | print_separator(); | |
1343 | print_stdlib_macros(); | |
1344 | print_separator(); | |
1345 | print_platform_macros(); | |
1346 | print_separator(); | |
1347 | print_boost_macros(); | |
11fdf7f2 TL |
1348 | print_separator(); |
1349 | print_sd6_macros(); | |
7c673cae FG |
1350 | |
1351 | return 0; | |
1352 | } |