1 // Boost config.hpp configuration test program file -----------------------//
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)
12 // See http://www.boost.org/libs/config for most recent version.
17 #include <boost/config.hpp>
18 #include <boost/version.hpp>
26 #ifdef BOOST_HAS_UNISTD_H
30 #if defined(__MINGW32__)
34 static unsigned int indent
= 4;
35 static unsigned int width
= 40;
40 void print_macro(const char* name
, const char* value
)
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))
46 for(unsigned i
= 0; i
< indent
; ++i
) std::cout
.put(' ');
47 std::cout
<< std::setw(width
);
48 cout
.setf(istream::left
, istream::adjustfield
);
53 std::cout
<< value
<< "\n";
57 // macro is defined but has no value:
58 std::cout
<< " [no value]\n";
63 #define PRINT_MACRO(X) print_macro(#X, BOOST_STRINGIZE(=X))
66 void print_expression(const char* expression
, T val
)
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
;
74 #define PRINT_EXPRESSION(E) print_expression(#E, E);
77 void print_byte_order(const char* what
, T
/* t */ )
81 for(i
= 1; i
< sizeof(T
); ++i
)
83 val
|= (CHAR_BIT
* static_cast<T
>(i
)) << (CHAR_BIT
* static_cast<T
>(i
));
85 const char* p
= reinterpret_cast<const char*>(&val
);
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
)
93 std::cout
<< (int)p
[i
] << " ";
95 std::cout
<< std::endl
;
98 #define PRINT_ORDER(T) print_byte_order(BOOST_STRINGIZE(byte order for type T), T())
101 void print_sign(const char* what
, T t
)
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
;
108 #define PRINT_SIGN(T) print_sign(#T, T())
111 void print_compiler_macros()
113 std::cout
<< BOOST_COMPILER
<< "\n";
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__
);
135 PRINT_MACRO(_WIN32_WCE
);
137 PRINT_MACRO(_RTLDLL
);
138 PRINT_MACRO(__DEBUG
);
140 // Internal MSVC 7 error workaround (Peter Dimov)
142 #ifndef _NATIVE_WCHAR_T_DEFINED
143 PRINT_MACRO(_WCHAR_T_DEFINED
);
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
);
155 PRINT_MACRO(_CPPRTTI
);
156 PRINT_MACRO(_CPPUNWIND
);
158 PRINT_MACRO(_INLINE_VARIABLES_SUPPORTED
);
159 PRINT_MACRO(_ISO_VOLATILE
);
160 PRINT_MACRO(_M_AMD64
);
162 PRINT_MACRO(_M_ARM_ARMV7VE
);
163 PRINT_MACRO(_M_ARM_FP
);
164 PRINT_MACRO(_M_ARM64
);
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
);
175 PRINT_MACRO(_M_ALPHA
);
176 PRINT_MACRO(_M_MPPC
);
177 PRINT_MACRO(_M_MRX000
);
179 PRINT_MACRO(_MANAGED
);
180 PRINT_MACRO(_MSC_BUILD
);
181 PRINT_MACRO(_MFC_VER
);
182 PRINT_MACRO(_MSC_EXTENSIONS
);
183 PRINT_MACRO(_MSC_VER
);
184 PRINT_MACRO(_MSC_FULL_VER
);
185 PRINT_MACRO(_MSVC_LANG
);
186 PRINT_MACRO(_MSVC_WARNING_LEVEL
);
187 PRINT_MACRO(__MSVC_RUNTIME_CHECKS
);
189 PRINT_MACRO(_NATIVE_WCHAR_T_DEFINED
);
190 PRINT_MACRO(_NOEXCEPT_TYPES_SUPPORTED
);
191 PRINT_MACRO(_OPENMP
);
192 PRINT_MACRO(_PREFAST_
);
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__
);
215 PRINT_MACRO(mc68000
);
219 PRINT_MACRO(ns32000
);
222 PRINT_MACRO(sequent
);
223 PRINT_MACRO(__i386__
);
224 PRINT_MACRO(__sparc
);
225 PRINT_MACRO(__sparc__
);
226 PRINT_MACRO(__powerpc__
);
228 PRINT_MACRO(__CYGWIN__
);
229 PRINT_MACRO(__MINGW32__
);
230 PRINT_MACRO(__GXX_RTTI
);
231 PRINT_MACRO(__alpha__
);
232 PRINT_MACRO(__amd64__
);
233 PRINT_MACRO(__arm__
);
234 PRINT_MACRO(__aarch64__
);
236 PRINT_MACRO(__convex__
);
237 PRINT_MACRO(__epiphany__
);
238 PRINT_MACRO(__hppa__
);
239 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
);
255 PRINT_MACRO(__370__
);
256 PRINT_MACRO(__THW_370__
);
258 PRINT_MACRO(__HP_aCC
);
259 PRINT_MACRO(_HPACC_
);
260 PRINT_MACRO(__LP64__
);
261 PRINT_MACRO(__RISC2_0__
);
262 PRINT_MACRO(__STDCPP__
);
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
);
272 PRINT_MACRO(_COMPILER_VERSION
);
274 PRINT_MACRO(__SUNPRO_CC
);
275 PRINT_MACRO(__SUNPRO_CC_COMPAT
);
276 PRINT_MACRO(__BUILTIN_VA_ARG_INCR
);
280 PRINT_MACRO(__sparcv9
);
284 PRINT_MACRO(__MWERKS__
);
285 PRINT_MACRO(__MSL__
);
286 PRINT_MACRO(__MSL_CPP__
);
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__
);
310 PRINT_MACRO(__FPCE__
);
311 PRINT_MACRO(__FPCE_IEEE__
);
312 PRINT_MACRO(MPW_CPLUS
);
314 PRINT_MACRO(__MC601
);
315 PRINT_MACRO(__POWERPC
);
316 PRINT_MACRO(__useAppleExts__
);
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__
);
325 PRINT_MACRO(__EDG__
);
326 PRINT_MACRO(__EDG_VERSION__
);
327 PRINT_MACRO(c_plusplus
); // indication for strict mode
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
);
339 PRINT_MACRO(__PLACEMENT_DELETE
);
340 PRINT_MACRO(__NO_LONG_LONG
);
343 PRINT_MACRO(__INTEL__
);
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__
);
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__
);
363 PRINT_MACRO(_RELEASE
);
368 PRINT_MACRO(_CRAYMPP
);
369 PRINT_MACRO(_CRAYT3E
);
370 PRINT_MACRO(_CRAYIEEE
);
371 PRINT_MACRO(_ADDR32
);
372 PRINT_MACRO(_ADDR64
);
374 PRINT_MACRO(_FASTMD
);
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 PRINT_MACRO(__apple_build_version__
);
385 // misc compilers not covered so far:
386 PRINT_MACRO(__USLC__
);
387 PRINT_MACRO(__DECCXX
);
388 PRINT_MACRO(__IBMCPP__
);
389 PRINT_MACRO(_REENTRANT
);
390 PRINT_MACRO(_PTHREADS
);
391 PRINT_MACRO(__STDC_HOSTED__
);
392 PRINT_MACRO(__COMO__
);
393 PRINT_MACRO(__COMO_VERSION__
);
395 PRINT_MACRO(__osf__
);
396 PRINT_MACRO(__OSF__
);
397 PRINT_MACRO(__QNXNTO__
);
398 PRINT_MACRO(__QNX__
);
399 PRINT_MACRO(_NTO_VERSION
);
400 PRINT_MACRO(__OPEN64__
);
401 PRINT_MACRO(__open64
);
402 PRINT_MACRO(__NVCC__
);
403 PRINT_MACRO(__CUDACC__
);
404 PRINT_MACRO(__CUDACC_RDC__
);
405 PRINT_MACRO(__CUDACC_VER_MAJOR__
);
406 PRINT_MACRO(__CUDACC_VER_MINOR__
);
407 PRINT_MACRO(__CUDACC_VER_BUILD__
);
408 PRINT_MACRO(__CUDACC_VER__
);
411 PRINT_MACRO(ANDROID
);
412 PRINT_MACRO(__ANDROID__
);
415 void print_stdlib_macros()
417 std::cout
<< BOOST_STDLIB
<< std::endl
;
419 // Rogue Wave 2.x config options:
420 PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES
);
421 PRINT_MACRO(_RWSTD_ALLOCATOR
);
422 PRINT_MACRO(_RWSTD_BAD_ALLOC_DEFINED
);
423 PRINT_MACRO(_RWSTD_BAD_EXCEPTION_DEFINED
);
424 PRINT_MACRO(_RWSTD_BOUNDS_CHECKING
);
425 PRINT_MACRO(_RWSTD_COMPILE_INSTANTIATE
);
426 PRINT_MACRO(_RWSTD_DEFAULT_PRECISION
);
427 PRINT_MACRO(_RWSTD_EXCEPTION_DEFINED
);
428 PRINT_MACRO(_RWSTD_EXCEPTION_HANDLER_IN_STD
);
429 PRINT_MACRO(_RWSTD_EXCEPTION_PREDEFINED
);
430 PRINT_MACRO(_RWSTD_FLT_ROUNDS_IS_CONSTANT
);
431 PRINT_MACRO(_RWSTD_LOCALIZED_ERRORS
);
432 PRINT_MACRO(_RWSTD_MESSAGE
);
433 PRINT_MACRO(_RWSTD_MUTEXATTR_DEFAULT
);
434 PRINT_MACRO(_RWSTD_NO_ANSI_SPRINTF
);
435 PRINT_MACRO(_RWSTD_NO_ARG_MATCH
);
436 PRINT_MACRO(_RWSTD_NO_BAD_CAST
);
437 PRINT_MACRO(_RWSTD_NO_BASE_CLASS_MATCH
);
438 PRINT_MACRO(_RWSTD_NO_BOOL
);
439 PRINT_MACRO(_RWSTD_NO_BUILTIN_CTOR
);
440 PRINT_MACRO(_RWSTD_NO_CATOPEN_CATGETS
);
441 PRINT_MACRO(_RWSTD_NO_CLASS_PARTIAL_SPEC
);
442 PRINT_MACRO(_RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES
);
443 PRINT_MACRO(_RWSTD_NO_COMPLICATED_EXCEPTIONS
);
444 PRINT_MACRO(_RWSTD_NO_COMPLICATED_TYPEDEF
);
445 PRINT_MACRO(_RWSTD_NO_CONST_INST
);
446 PRINT_MACRO(_RWSTD_NO_CTOR_RETURN
);
447 PRINT_MACRO(_RWSTD_NO_DEFAULT_FOR_TPARAM
);
448 PRINT_MACRO(_RWSTD_NO_DEFAULT_TEMPLATE_ARGS
);
449 PRINT_MACRO(_RWSTD_NO_DESTROY_BUILTIN
);
450 PRINT_MACRO(_RWSTD_NO_DESTROY_NONBUILTIN
);
451 PRINT_MACRO(_RWSTD_NO_EMBEDDED_TYPEDEF
);
452 PRINT_MACRO(_RWSTD_NO_EX_SPEC
);
453 PRINT_MACRO(_RWSTD_NO_EXCEPTIONS
);
454 PRINT_MACRO(_RWSTD_NO_EXPLICIT
);
455 PRINT_MACRO(_RWSTD_NO_EXPLICIT_ARG
);
456 PRINT_MACRO(_RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION
);
457 PRINT_MACRO(_RWSTD_NO_EXPLICIT_INSTANTIATION
);
458 PRINT_MACRO(_RWSTD_NO_EXTENSION
);
459 PRINT_MACRO(_RWSTD_NO_FORWARD_SPECIALIZATIONS
);
460 PRINT_MACRO(_RWSTD_NO_FPOS_T
);
461 PRINT_MACRO(_RWSTD_NO_FRIEND_TEMPLATES
);
462 PRINT_MACRO(_RWSTD_NO_FUNC_PARTIAL_SPEC
);
463 PRINT_MACRO(_RWSTD_NO_GETTIMEOFDAY
);
464 PRINT_MACRO(_RWSTD_NO_GLOBAL_TZ
);
465 PRINT_MACRO(_RWSTD_NO_INHERITED_TYPEDEFS
);
466 PRINT_MACRO(_RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG
);
467 PRINT_MACRO(_RWSTD_NO_INT_TYPEDEF
);
468 PRINT_MACRO(_RWSTD_NO_LDIV
);
469 PRINT_MACRO(_RWSTD_NO_LEADING_UNDERSCORE
);
470 PRINT_MACRO(_RWSTD_NO_LOCALE
);
471 PRINT_MACRO(_RWSTD_NO_LONG_NAME
);
472 PRINT_MACRO(_RWSTD_NO_LONGDOUBLE
);
473 PRINT_MACRO(_RWSTD_NO_MBSTATE_T
);
474 PRINT_MACRO(_RWSTD_NO_MEM_CLASS_TEMPLATES
);
475 PRINT_MACRO(_RWSTD_NO_MEMBER_TEMPLATES
);
476 PRINT_MACRO(_RWSTD_NO_MEMBER_TYPE_TPARAM
);
477 PRINT_MACRO(_RWSTD_NO_MEMBER_WO_DEF_CTOR
);
478 PRINT_MACRO(_RWSTD_NO_MEMMOVE
);
479 PRINT_MACRO(_RWSTD_NO_MULTI_DIM_ARRAY
);
480 PRINT_MACRO(_RWSTD_NO_MUTABLE
);
481 PRINT_MACRO(_RWSTD_NO_NAME_INJECTION
);
482 PRINT_MACRO(_RWSTD_NO_NAMESPACE
);
483 PRINT_MACRO(_RWSTD_NO_NESTING_TEMPLATES
);
484 PRINT_MACRO(_RWSTD_NO_NEW_BRACKETS
);
485 PRINT_MACRO(_RWSTD_NO_NEW_DECL
);
486 PRINT_MACRO(_RWSTD_NO_NEW_HEADER
);
487 PRINT_MACRO(_RWSTD_NO_NEW_TEMPLATE_SYNTAX
);
488 PRINT_MACRO(_RWSTD_NO_NONCLASS_ARROW_RETURN
);
489 PRINT_MACRO(_RWSTD_NO_NONTYPE_ARGS
);
490 PRINT_MACRO(_RWSTD_NO_ONLY_NEEDED_INSTANTIATION
);
491 PRINT_MACRO(_RWSTD_NO_OVERLOAD_C_POW
);
492 PRINT_MACRO(_RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION
);
493 PRINT_MACRO(_RWSTD_NO_OVERLOAD_WCHAR
);
494 PRINT_MACRO(_RWSTD_NO_PART_SPEC_OVERLOAD
);
495 PRINT_MACRO(_RWSTD_NO_RET_TEMPLATE
);
496 PRINT_MACRO(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES
);
497 PRINT_MACRO(_RWSTD_NO_STATIC_CAST
);
498 PRINT_MACRO(_RWSTD_NO_STATIC_DEF
);
499 PRINT_MACRO(_RWSTD_NO_STATIC_DEF2
);
500 PRINT_MACRO(_RWSTD_NO_STATIC_DEF3
);
501 PRINT_MACRO(_RWSTD_NO_STATIC_MEM_DEF
);
502 PRINT_MACRO(_RWSTD_NO_STI_SIMPLE
);
503 PRINT_MACRO(_RWSTD_NO_STI_TEMPLATE
);
504 PRINT_MACRO(_RWSTD_NO_STREAM_LONG_DOUBLE
);
505 PRINT_MACRO(_RWSTD_NO_STRFTIME_CAPC
);
506 PRINT_MACRO(_RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE
);
507 PRINT_MACRO(_RWSTD_NO_SWPRINTF
);
508 PRINT_MACRO(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
);
509 PRINT_MACRO(_RWSTD_NO_TEMPLATE_TEMPLATE
);
510 PRINT_MACRO(_RWSTD_NO_THREADS
);
511 PRINT_MACRO(_RWSTD_NO_THROW_SPEC_ON_NEW
);
512 PRINT_MACRO(_RWSTD_NO_THROW_WITH_SHARED
);
513 PRINT_MACRO(_RWSTD_NO_TYPEDEF_INST
);
514 PRINT_MACRO(_RWSTD_NO_TYPEDEF_OVERLOAD
);
515 PRINT_MACRO(_RWSTD_NO_TYPENAME
);
516 PRINT_MACRO(_RWSTD_NO_UNDEFINED_FRIEND
);
517 PRINT_MACRO(_RWSTD_NO_UNINITIALIZED_STATIC_DEF
);
518 PRINT_MACRO(_RWSTD_NO_WCHAR_H
);
519 PRINT_MACRO(_RWSTD_NO_WCTYPE_H
);
520 PRINT_MACRO(_RWSTD_NO_WIDE_CHAR
);
521 PRINT_MACRO(_RWSTD_NO_WINT_TYPE
);
522 PRINT_MACRO(_RWSTD_NO_WSTR
);
523 PRINT_MACRO(_RWSTD_NOT_ALL_WSTR_CFUNCTIONS
);
524 PRINT_MACRO(_RWSTD_POSIX_D10_THREADS
);
525 PRINT_MACRO(_RWSTD_POSIX_THREADS
);
526 PRINT_MACRO(_RWSTD_REQUIRES_IEEEFP
);
527 PRINT_MACRO(_RWSTD_SOLARIS_THREADS
);
528 PRINT_MACRO(_RWSTD_STRUCT_TM_TZ
);
529 PRINT_MACRO(_RWSTD_WIDE_STRING_NULL_PROBLEM
);
530 #elif defined(__STD_RWCOMPILER_H__)
531 // Rogue Wave 1.x std lib:
532 PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES
);
533 PRINT_MACRO(RWSTD_ALLOCATOR
);
534 PRINT_MACRO(RWSTD_BAD_ALLOC_DEFINED
);
535 PRINT_MACRO(RWSTD_BAD_EXCEPTION_DEFINED
);
536 PRINT_MACRO(RWSTD_BOUNDS_CHECKING
);
537 PRINT_MACRO(RWSTD_COMPILE_INSTANTIATE
);
538 PRINT_MACRO(RWSTD_DEFAULT_PRECISION
);
539 PRINT_MACRO(RWSTD_EXCEPTION_DEFINED
);
540 PRINT_MACRO(RWSTD_EXCEPTION_HANDLER_IN_STD
);
541 PRINT_MACRO(RWSTD_EXCEPTION_PREDEFINED
);
542 PRINT_MACRO(RWSTD_FLT_ROUNDS_IS_CONSTANT
);
543 PRINT_MACRO(RWSTD_LOCALIZED_ERRORS
);
544 PRINT_MACRO(RWSTD_MESSAGE
);
545 PRINT_MACRO(RWSTD_MUTEXATTR_DEFAULT
);
546 PRINT_MACRO(RWSTD_NO_ANSI_SPRINTF
);
547 PRINT_MACRO(RWSTD_NO_ARG_MATCH
);
548 PRINT_MACRO(RWSTD_NO_BAD_CAST
);
549 PRINT_MACRO(RWSTD_NO_BASE_CLASS_MATCH
);
550 PRINT_MACRO(RWSTD_NO_BOOL
);
551 PRINT_MACRO(RWSTD_NO_BUILTIN_CTOR
);
552 PRINT_MACRO(RWSTD_NO_CATOPEN_CATGETS
);
553 PRINT_MACRO(RWSTD_NO_CLASS_PARTIAL_SPEC
);
554 PRINT_MACRO(RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES
);
555 PRINT_MACRO(RWSTD_NO_COMPLICATED_EXCEPTIONS
);
556 PRINT_MACRO(RWSTD_NO_COMPLICATED_TYPEDEF
);
557 PRINT_MACRO(RWSTD_NO_CONST_INST
);
558 PRINT_MACRO(RWSTD_NO_CTOR_RETURN
);
559 PRINT_MACRO(RWSTD_NO_DEFAULT_FOR_TPARAM
);
560 PRINT_MACRO(RWSTD_NO_DEFAULT_TEMPLATE_ARGS
);
561 PRINT_MACRO(RWSTD_NO_DESTROY_BUILTIN
);
562 PRINT_MACRO(RWSTD_NO_DESTROY_NONBUILTIN
);
563 PRINT_MACRO(RWSTD_NO_EMBEDDED_TYPEDEF
);
564 PRINT_MACRO(RWSTD_NO_EX_SPEC
);
565 PRINT_MACRO(RWSTD_NO_EXCEPTIONS
);
566 PRINT_MACRO(RWSTD_NO_EXPLICIT
);
567 PRINT_MACRO(RWSTD_NO_EXPLICIT_ARG
);
568 PRINT_MACRO(RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION
);
569 PRINT_MACRO(RWSTD_NO_EXPLICIT_INSTANTIATION
);
570 PRINT_MACRO(RWSTD_NO_EXTENSION
);
571 PRINT_MACRO(RWSTD_NO_FORWARD_SPECIALIZATIONS
);
572 PRINT_MACRO(RWSTD_NO_FPOS_T
);
573 PRINT_MACRO(RWSTD_NO_FRIEND_TEMPLATES
);
574 PRINT_MACRO(RWSTD_NO_FUNC_PARTIAL_SPEC
);
575 PRINT_MACRO(RWSTD_NO_GETTIMEOFDAY
);
576 PRINT_MACRO(RWSTD_NO_GLOBAL_TZ
);
577 PRINT_MACRO(RWSTD_NO_INHERITED_TYPEDEFS
);
578 PRINT_MACRO(RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG
);
579 PRINT_MACRO(RWSTD_NO_INT_TYPEDEF
);
580 PRINT_MACRO(RWSTD_NO_LDIV
);
581 PRINT_MACRO(RWSTD_NO_LEADING_UNDERSCORE
);
582 PRINT_MACRO(RWSTD_NO_LOCALE
);
583 PRINT_MACRO(RWSTD_NO_LONG_NAME
);
584 PRINT_MACRO(RWSTD_NO_LONGDOUBLE
);
585 PRINT_MACRO(RWSTD_NO_MBSTATE_T
);
586 PRINT_MACRO(RWSTD_NO_MEM_CLASS_TEMPLATES
);
587 PRINT_MACRO(RWSTD_NO_MEMBER_TEMPLATES
);
588 PRINT_MACRO(RWSTD_NO_MEMBER_TYPE_TPARAM
);
589 PRINT_MACRO(RWSTD_NO_MEMBER_WO_DEF_CTOR
);
590 PRINT_MACRO(RWSTD_NO_MEMMOVE
);
591 PRINT_MACRO(RWSTD_NO_MULTI_DIM_ARRAY
);
592 PRINT_MACRO(RWSTD_NO_MUTABLE
);
593 PRINT_MACRO(RWSTD_NO_NAME_INJECTION
);
594 PRINT_MACRO(RWSTD_NO_NAMESPACE
);
595 PRINT_MACRO(RWSTD_NO_NESTING_TEMPLATES
);
596 PRINT_MACRO(RWSTD_NO_NEW_BRACKETS
);
597 PRINT_MACRO(RWSTD_NO_NEW_DECL
);
598 PRINT_MACRO(RWSTD_NO_NEW_HEADER
);
599 PRINT_MACRO(RWSTD_NO_NEW_TEMPLATE_SYNTAX
);
600 PRINT_MACRO(RWSTD_NO_NONCLASS_ARROW_RETURN
);
601 PRINT_MACRO(RWSTD_NO_NONTYPE_ARGS
);
602 PRINT_MACRO(RWSTD_NO_ONLY_NEEDED_INSTANTIATION
);
603 PRINT_MACRO(RWSTD_NO_OVERLOAD_C_POW
);
604 PRINT_MACRO(RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION
);
605 PRINT_MACRO(RWSTD_NO_OVERLOAD_WCHAR
);
606 PRINT_MACRO(RWSTD_NO_PART_SPEC_OVERLOAD
);
607 PRINT_MACRO(RWSTD_NO_RET_TEMPLATE
);
608 PRINT_MACRO(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES
);
609 PRINT_MACRO(RWSTD_NO_STATIC_CAST
);
610 PRINT_MACRO(RWSTD_NO_STATIC_DEF
);
611 PRINT_MACRO(RWSTD_NO_STATIC_DEF2
);
612 PRINT_MACRO(RWSTD_NO_STATIC_DEF3
);
613 PRINT_MACRO(RWSTD_NO_STATIC_MEM_DEF
);
614 PRINT_MACRO(RWSTD_NO_STI_SIMPLE
);
615 PRINT_MACRO(RWSTD_NO_STI_TEMPLATE
);
616 PRINT_MACRO(RWSTD_NO_STREAM_LONG_DOUBLE
);
617 PRINT_MACRO(RWSTD_NO_STRFTIME_CAPC
);
618 PRINT_MACRO(RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE
);
619 PRINT_MACRO(RWSTD_NO_SWPRINTF
);
620 PRINT_MACRO(RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
);
621 PRINT_MACRO(RWSTD_NO_TEMPLATE_TEMPLATE
);
622 PRINT_MACRO(RWSTD_NO_THREADS
);
623 PRINT_MACRO(RWSTD_NO_THROW_SPEC_ON_NEW
);
624 PRINT_MACRO(RWSTD_NO_THROW_WITH_SHARED
);
625 PRINT_MACRO(RWSTD_NO_TYPEDEF_INST
);
626 PRINT_MACRO(RWSTD_NO_TYPEDEF_OVERLOAD
);
627 PRINT_MACRO(RWSTD_NO_TYPENAME
);
628 PRINT_MACRO(RWSTD_NO_UNDEFINED_FRIEND
);
629 PRINT_MACRO(RWSTD_NO_UNINITIALIZED_STATIC_DEF
);
630 PRINT_MACRO(RWSTD_NO_WCHAR_H
);
631 PRINT_MACRO(RWSTD_NO_WCTYPE_H
);
632 PRINT_MACRO(RWSTD_NO_WIDE_CHAR
);
633 PRINT_MACRO(RWSTD_NO_WINT_TYPE
);
634 PRINT_MACRO(RWSTD_NO_WSTR
);
635 PRINT_MACRO(RWSTD_NOT_ALL_WSTR_CFUNCTIONS
);
636 PRINT_MACRO(RWSTD_POSIX_D10_THREADS
);
637 PRINT_MACRO(RWSTD_POSIX_THREADS
);
638 PRINT_MACRO(RWSTD_REQUIRES_IEEEFP
);
639 PRINT_MACRO(RWSTD_SOLARIS_THREADS
);
640 PRINT_MACRO(RWSTD_STRUCT_TM_TZ
);
641 PRINT_MACRO(RWSTD_WIDE_STRING_NULL_PROBLEM
);
643 // Dinkumware options:
644 PRINT_MACRO(_CPPLIB_VER
);
645 PRINT_MACRO(_MSVC_STL_VERSION
); // VS2017 15.5+
646 PRINT_MACRO(_MSVC_STL_UPDATE
); // VS2017 15.5+
647 PRINT_MACRO(_GLOBAL_USING
);
648 PRINT_MACRO(_HAS_EXCEPTIONS
);
649 PRINT_MACRO(_HAS_MEMBER_TEMPLATES_REBIND
);
650 PRINT_MACRO(_HAS_TEMPLATE_PARTIAL_ORDERING
);
651 // https://blogs.msdn.microsoft.com/vcblog/2016/08/12/stl-fixes-in-vs-2015-update-3/
652 PRINT_MACRO(_HAS_CXX17
);
653 PRINT_MACRO(_HAS_AUTO_PTR_ETC
);
654 PRINT_MACRO(_HAS_OLD_IOSTREAMS_MEMBERS
);
655 PRINT_MACRO(_HAS_FUNCTION_ASSIGN
);
656 PRINT_MACRO(_HAS_TR1_NAMESPACE
);
657 PRINT_MACRO(_HAS_IDENTITY_STRUCT
);
659 PRINT_MACRO(_HAS_STATIC_RTTI
);
660 PRINT_MACRO(_HAS_UNEXPECTED
);
661 PRINT_MACRO(_HAS_STD_BYTE
);
662 PRINT_MACRO(_HAS_FUNCTION_ALLOCATOR_SUPPORT
);
663 PRINT_MACRO(_HAS_TR2_SYS_NAMESPACE
);
664 PRINT_MACRO(_ENFORCE_MATCHING_ALLOCATORS
);
665 PRINT_MACRO(_HAS_HAS_UNIQUE_OBJECT_REPRESENTATIONS
);
666 PRINT_MACRO(_HAS_INLINE_VARIABLES
);
667 PRINT_MACRO(_HAS_ALIGNED_NEW
);
668 PRINT_MACRO(_HAS_NOEXCEPT_FUNCTION_TYPES
);
669 PRINT_MACRO(_ITERATOR_DEBUG_LEVEL
);
670 PRINT_MACRO(_HAS_ITERATOR_DEBUGGING
);
671 PRINT_MACRO(_ITERATOR_DEBUG_ARRAY_OVERLOADS
);
673 PRINT_MACRO(_LIBCPP_VERSION
);
674 // STLPort and generic SGI STL options:
675 PRINT_MACRO(__SGI_STL_NO_ARROW_OPERATOR
);
676 PRINT_MACRO(__SGI_STL_OWN_IOSTREAMS
);
677 PRINT_MACRO(__SGI_STL_PORT
);
678 PRINT_MACRO(__STL_AUTOMATIC_TYPE_TRAITS
);
679 PRINT_MACRO(__STL_BASE_MATCH_BUG
);
680 PRINT_MACRO(__STL_BASE_TYPEDEF_BUG
);
681 PRINT_MACRO(__STL_BASE_TYPEDEF_OUTSIDE_BUG
);
682 PRINT_MACRO(__STL_BROKEN_USING_DIRECTIVE
);
683 PRINT_MACRO(__STL_CONST_CONSTRUCTOR_BUG
);
684 PRINT_MACRO(__STL_DEBUG
);
685 PRINT_MACRO(__STL_DEBUG_ALLOC
);
686 PRINT_MACRO(__STL_DEFAULT_CONSTRUCTOR_BUG
);
687 PRINT_MACRO(__STL_DEFAULT_TYPE_PARAM
);
688 PRINT_MACRO(__STL_DONT_REDEFINE_STD
);
689 PRINT_MACRO(__STL_DONT_USE_BOOL_TYPEDEF
);
690 PRINT_MACRO(__STL_HAS_NO_EXCEPTIONS
);
691 PRINT_MACRO(__STL_HAS_NO_NAMESPACES
);
692 PRINT_MACRO(__STL_HAS_NO_NEW_C_HEADERS
);
693 PRINT_MACRO(__STL_HAS_NO_NEW_IOSTREAMS
);
694 PRINT_MACRO(__STL_IMPORT_VENDOR_CSTD
);
695 PRINT_MACRO(__STL_LIMITED_DEFAULT_TEMPLATES
);
696 PRINT_MACRO(__STL_LINK_TIME_INSTANTIATION
);
697 PRINT_MACRO(__STL_LONG_LONG
);
698 PRINT_MACRO(__STL_LOOP_INLINE_PROBLEMS
);
699 PRINT_MACRO(__STL_MEMBER_POINTER_PARAM_BUG
);
700 PRINT_MACRO(__STL_NEED_EXPLICIT
);
701 PRINT_MACRO(__STL_NEED_MUTABLE
);
702 PRINT_MACRO(__STL_NEED_TYPENAME
);
703 PRINT_MACRO(__STL_NESTED_TYPE_PARAM_BUG
);
704 PRINT_MACRO(__STL_NO_BAD_ALLOC
);
705 PRINT_MACRO(__STL_NO_BOOL
);
706 PRINT_MACRO(__STL_NO_CLASS_PARTIAL_SPECIALIZATION
);
707 PRINT_MACRO(__STL_NO_CSTD_FUNCTION_IMPORTS
);
708 PRINT_MACRO(__STL_NO_DEFAULT_NON_TYPE_PARAM
);
709 PRINT_MACRO(__STL_NO_EXCEPTION_HEADER
);
710 PRINT_MACRO(__STL_NO_EXCEPTION_SPEC
);
711 PRINT_MACRO(__STL_NO_EXCEPTIONS
);
712 PRINT_MACRO(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS
);
713 PRINT_MACRO(__STL_NO_FRIEND_TEMPLATES
);
714 PRINT_MACRO(__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER
);
715 PRINT_MACRO(__STL_NO_IOSTREAMS
);
716 PRINT_MACRO(__STL_NO_LONG_DOUBLE
);
717 PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_CLASSES
);
718 PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_KEYWORD
);
719 PRINT_MACRO(__STL_NO_MEMBER_TEMPLATES
);
720 PRINT_MACRO(__STL_NO_METHOD_SPECIALIZATION
);
721 PRINT_MACRO(__STL_NO_NAMESPACES
);
722 PRINT_MACRO(__STL_NO_NEW_IOSTREAMS
);
723 PRINT_MACRO(__STL_NO_NEW_NEW_HEADER
);
724 PRINT_MACRO(__STL_NO_NEW_STYLE_CASTS
);
725 PRINT_MACRO(__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX
);
726 PRINT_MACRO(__STL_NO_QUALIFIED_FRIENDS
);
727 PRINT_MACRO(__STL_NO_RELOPS_NAMESPACE
);
728 PRINT_MACRO(__STL_NO_SGI_IOSTREAMS
);
729 PRINT_MACRO(__STL_NO_STATIC_TEMPLATE_DATA
);
730 PRINT_MACRO(__STL_NO_TEMPLATE_CONVERSIONS
);
731 PRINT_MACRO(__STL_NO_WCHAR_T
);
732 PRINT_MACRO(__STL_NON_TYPE_TMPL_PARAM_BUG
);
733 PRINT_MACRO(__STL_NONTEMPL_BASE_MATCH_BUG
);
734 PRINT_MACRO(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
);
735 PRINT_MACRO(__STL_RAND48
);
736 PRINT_MACRO(__STL_STATIC_ARRAY_BUG
);
737 PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG
);
738 PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG
);
739 PRINT_MACRO(__STL_THROW_RETURN_BUG
);
740 PRINT_MACRO(__STL_TRIVIAL_CONSTRUCTOR_BUG
);
741 PRINT_MACRO(__STL_TRIVIAL_DESTRUCTOR_BUG
);
742 PRINT_MACRO(__STL_UNINITIALIZABLE_PRIVATE
);
743 PRINT_MACRO(__STL_USE_ABBREVS
);
744 PRINT_MACRO(__STL_USE_DEFALLOC
);
745 PRINT_MACRO(__STL_USE_MALLOC
);
746 PRINT_MACRO(__STL_USE_NEW_C_HEADERS
);
747 PRINT_MACRO(__STL_USE_NEW_IOSTREAMS
);
748 PRINT_MACRO(__STL_USE_NEWALLOC
);
749 PRINT_MACRO(__STL_USE_OWN_NAMESPACE
);
750 PRINT_MACRO(__STL_USE_SGI_ALLOCATORS
);
751 PRINT_MACRO(__STL_WCHAR_T_IS_USHORT
);
752 PRINT_MACRO(__STL_WEAK_ATTRIBUTE
);
753 PRINT_MACRO(__STL_YVALS_H
);
754 PRINT_MACRO(_NOTHREADS
);
755 PRINT_MACRO(_PTHREADS
);
756 #if defined(__SGI_STL_PORT) && (__SGI_STL_PORT > 0x0400)
757 PRINT_MACRO(_STLP_AUTOMATIC_TYPE_TRAITS
);
758 PRINT_MACRO(_STLP_BASE_MATCH_BUG
);
759 PRINT_MACRO(_STLP_BASE_TYPEDEF_BUG
);
760 PRINT_MACRO(_STLP_BASE_TYPEDEF_OUTSIDE_BUG
);
761 PRINT_MACRO(_STLP_BROKEN_USING_DIRECTIVE
);
762 PRINT_MACRO(_STLP_CONST_CONSTRUCTOR_BUG
);
763 PRINT_MACRO(_STLP_DEBUG
);
764 PRINT_MACRO(_STLP_DEBUG_ALLOC
);
765 PRINT_MACRO(_STLP_DEFAULT_CONSTRUCTOR_BUG
);
766 PRINT_MACRO(_STLP_DEFAULT_TYPE_PARAM
);
767 PRINT_MACRO(_STLP_DONT_REDEFINE_STD
);
768 PRINT_MACRO(_STLP_DONT_USE_BOOL_TYPEDEF
);
769 PRINT_MACRO(_STLP_HAS_NO_EXCEPTIONS
);
770 PRINT_MACRO(_STLP_HAS_NO_NAMESPACES
);
771 PRINT_MACRO(_STLP_HAS_NO_NEW_C_HEADERS
);
772 PRINT_MACRO(_STLP_HAS_NO_NEW_IOSTREAMS
);
773 PRINT_MACRO(_STLP_IMPORT_VENDOR_CSTD
);
774 PRINT_MACRO(_STLP_LIMITED_DEFAULT_TEMPLATES
);
775 PRINT_MACRO(_STLP_LINK_TIME_INSTANTIATION
);
776 PRINT_MACRO(_STLP_LONG_LONG
);
777 PRINT_MACRO(_STLP_LOOP_INLINE_PROBLEMS
);
778 PRINT_MACRO(_STLP_MEMBER_POINTER_PARAM_BUG
);
779 PRINT_MACRO(_STLP_NEED_EXPLICIT
);
780 PRINT_MACRO(_STLP_NEED_MUTABLE
);
781 PRINT_MACRO(_STLP_NEED_TYPENAME
);
782 PRINT_MACRO(_STLP_NESTED_TYPE_PARAM_BUG
);
783 PRINT_MACRO(_STLP_NO_ARROW_OPERATOR
);
784 PRINT_MACRO(_STLP_NO_BAD_ALLOC
);
785 PRINT_MACRO(_STLP_NO_BOOL
);
786 PRINT_MACRO(_STLP_NO_CLASS_PARTIAL_SPECIALIZATION
);
787 PRINT_MACRO(_STLP_NO_CSTD_FUNCTION_IMPORTS
);
788 PRINT_MACRO(_STLP_NO_DEFAULT_NON_TYPE_PARAM
);
789 PRINT_MACRO(_STLP_NO_EXCEPTION_HEADER
);
790 PRINT_MACRO(_STLP_NO_EXCEPTION_SPEC
);
791 PRINT_MACRO(_STLP_NO_EXCEPTIONS
);
792 PRINT_MACRO(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS
);
793 PRINT_MACRO(_STLP_NO_FRIEND_TEMPLATES
);
794 PRINT_MACRO(_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER
);
795 PRINT_MACRO(_STLP_NO_IOSTREAMS
);
796 PRINT_MACRO(_STLP_NO_LONG_DOUBLE
);
797 PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_CLASSES
);
798 PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_KEYWORD
);
799 PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATES
);
800 PRINT_MACRO(_STLP_NO_METHOD_SPECIALIZATION
);
801 PRINT_MACRO(_STLP_NO_NAMESPACES
);
802 PRINT_MACRO(_STLP_NO_NEW_IOSTREAMS
);
803 PRINT_MACRO(_STLP_NO_NEW_NEW_HEADER
);
804 PRINT_MACRO(_STLP_NO_NEW_STYLE_CASTS
);
805 PRINT_MACRO(_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX
);
806 PRINT_MACRO(_STLP_NO_QUALIFIED_FRIENDS
);
807 PRINT_MACRO(_STLP_NO_RELOPS_NAMESPACE
);
808 PRINT_MACRO(_STLP_NO_SGI_IOSTREAMS
);
809 PRINT_MACRO(_STLP_NO_STATIC_TEMPLATE_DATA
);
810 PRINT_MACRO(_STLP_NO_TEMPLATE_CONVERSIONS
);
811 PRINT_MACRO(_STLP_NO_WCHAR_T
);
812 PRINT_MACRO(_STLP_NON_TYPE_TMPL_PARAM_BUG
);
813 PRINT_MACRO(_STLP_NONTEMPL_BASE_MATCH_BUG
);
814 PRINT_MACRO(_STLP_OWN_IOSTREAMS
);
815 PRINT_MACRO(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
);
816 PRINT_MACRO(_STLP_RAND48
);
817 PRINT_MACRO(_STLP_STATIC_ARRAY_BUG
);
818 PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG
);
819 PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG
);
820 PRINT_MACRO(_STLP_THROW_RETURN_BUG
);
821 PRINT_MACRO(_STLP_TRIVIAL_CONSTRUCTOR_BUG
);
822 PRINT_MACRO(_STLP_TRIVIAL_DESTRUCTOR_BUG
);
823 PRINT_MACRO(_STLP_UNINITIALIZABLE_PRIVATE
);
824 PRINT_MACRO(_STLP_USE_ABBREVS
);
825 PRINT_MACRO(_STLP_USE_DEFALLOC
);
826 PRINT_MACRO(_STLP_USE_MALLOC
);
827 PRINT_MACRO(_STLP_USE_NEW_C_HEADERS
);
828 PRINT_MACRO(_STLP_USE_NEWALLOC
);
829 PRINT_MACRO(_STLP_USE_OWN_NAMESPACE
);
830 PRINT_MACRO(_STLP_USE_SGI_ALLOCATORS
);
831 PRINT_MACRO(_STLP_WCHAR_T_IS_USHORT
);
832 PRINT_MACRO(_STLP_WEAK_ATTRIBUTE
);
833 PRINT_MACRO(_STLP_YVALS_H
);
835 PRINT_MACRO(__GLIBCPP__
);
836 PRINT_MACRO(_GLIBCPP_USE_WCHAR_T
);
837 PRINT_MACRO(_GLIBCPP_VERSION
);
838 PRINT_MACRO(__GLIBCXX__
);
839 PRINT_MACRO(_GLIBCXX_USE_WCHAR_T
);
840 PRINT_MACRO(_GLIBCXX_VERSION
);
841 PRINT_MACRO(_GLIBCXX_USE_LONG_LONG
);
842 PRINT_MACRO(_GLIBCXX_USE_NLS
);
843 PRINT_MACRO(_GLIBCXX_USE_C99_MATH
);
844 PRINT_MACRO(_GLIBCXX_USE_C99
);
845 PRINT_MACRO(_GLIBCXX_CONCEPT_CHECKS
);
846 PRINT_MACRO(_GLIBCXX_USE_LFS
);
847 PRINT_MACRO(_GLIBCXX_SYMVER
);
848 PRINT_MACRO(_GLIBCXX_MEM_LIMITS
);
849 PRINT_MACRO(_GLIBCXX_HOSTED
);
850 PRINT_MACRO(_GLIBCXX_SJLJ_EXCEPTIONS
);
851 PRINT_MACRO(_GLIBCXX_RELEASE
);
852 PRINT_MACRO(_GLIBCXX_USE_FLOAT128
);
854 // Modena C++ standard library
855 PRINT_MACRO(MSIPL_ANSI_HEADER
);
856 PRINT_MACRO(MSIPL_BOOL_BUILTIN
);
857 PRINT_MACRO(MSIPL_DEF_EXPLICIT
);
858 PRINT_MACRO(MSIPL_DEF_TEMPARG
);
859 PRINT_MACRO(MSIPL_EXPINST_ALLOWED
);
860 PRINT_MACRO(MSIPL_EXPLICIT_FUNC_TEMPLATE_ARG
);
861 PRINT_MACRO(MISPL_EXPLICIT_TEMPLATE_ARGUMENT
);
862 PRINT_MACRO(MSIPL_FUNC_TEMPLATE_DEFARG
);
863 PRINT_MACRO(MSIPL_MEMBER_TEMPLATE
);
864 PRINT_MACRO(MSIPL_MULTITHREAD
);
865 PRINT_MACRO(MSIPL_NON_TYPE_TEMPARG
);
866 PRINT_MACRO(MSIPL_PARTIAL_TEMPL
);
867 PRINT_MACRO(MSIPL_STATIC_CONST_INIT
);
868 PRINT_MACRO(MSIPL_TEMPL_NEWSPEC
);
869 PRINT_MACRO(MSIPL_TYPENAME
);
870 PRINT_MACRO(MSIPL_USING_NAMESPACE
);
871 PRINT_MACRO(MSIPL_WCHART
);
874 void print_platform_macros()
876 std::cout
<< "Detected Platform: " << BOOST_PLATFORM
<< std::endl
;
885 PRINT_EXPRESSION(sizeof(wchar_t));
886 PRINT_EXPRESSION(sizeof(short));
887 PRINT_EXPRESSION(sizeof(int));
888 PRINT_EXPRESSION(sizeof(long));
889 PRINT_EXPRESSION(sizeof(size_t));
890 PRINT_EXPRESSION(sizeof(ptrdiff_t));
891 PRINT_EXPRESSION(sizeof(void*));
892 PRINT_EXPRESSION(sizeof(void(*)(void)));
893 PRINT_EXPRESSION(sizeof(float));
894 PRINT_EXPRESSION(sizeof(double));
895 PRINT_EXPRESSION(sizeof(long double));
897 PRINT_MACRO(CHAR_BIT
);
898 PRINT_MACRO(CHAR_MAX
);
899 PRINT_MACRO(WCHAR_MAX
);
900 PRINT_MACRO(SHRT_MAX
);
901 PRINT_MACRO(INT_MAX
);
902 PRINT_MACRO(LONG_MAX
);
903 PRINT_MACRO(LLONG_MAX
);
904 PRINT_MACRO(LONG_LONG_MAX
);
905 PRINT_MACRO(LONGLONG_MAX
);
906 PRINT_MACRO(ULLONG_MAX
); // <boost/cstdint.hpp> uses these, so we need to know them
907 PRINT_MACRO(ULONG_LONG_MAX
);
908 PRINT_MACRO(ULONGLONG_MAX
);
910 PRINT_MACRO(__STDC_IEC_559__
);
911 PRINT_MACRO(__STDC_IEC_559_COMPLEX__
);
912 PRINT_MACRO(__STDC_ISO_10646__
);
914 PRINT_MACRO(__GLIBC__
);
915 PRINT_MACRO(__GLIBC_MINOR__
);
916 PRINT_MACRO(__GNU_LIBRARY__
);
917 PRINT_MACRO(_BSD_SOURCE
);
918 PRINT_MACRO(_GNU_SOURCE
);
919 PRINT_MACRO(_ISOC99_SOURCE
);
920 PRINT_MACRO(_ISOC9X_SOURCE
);
921 PRINT_MACRO(_LARGEFILE_SOURCE
);
922 PRINT_MACRO(_LARGEFILE64_SOURCE
);
923 PRINT_MACRO(_SVID_SOURCE
);
924 PRINT_MACRO(_THREAD_SAFE
);
925 PRINT_MACRO(_XOPEN_SOURCE_EXTENDED
);
927 PRINT_MACRO(__MINGW32_MAJOR_VERSION
);
928 PRINT_MACRO(__MINGW32_MINOR_VERSION
);
930 PRINT_MACRO(_POSIX_ADVISORY_INFO
);
931 PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO
);
932 PRINT_MACRO(_POSIX_BARRIERS
);
933 PRINT_MACRO(_POSIX_C_SOURCE
);
934 PRINT_MACRO(_POSIX_CHOWN_RESTRICTED
);
935 PRINT_MACRO(_POSIX_CLOCK_SELECTION
);
936 PRINT_MACRO(_POSIX_CPUTIME
);
937 PRINT_MACRO(_POSIX_FSYNC
);
938 PRINT_MACRO(_POSIX_JOB_CONTROL
);
939 PRINT_MACRO(_POSIX_MAPPED_FILES
);
940 PRINT_MACRO(_POSIX_MEMLOCK
);
941 PRINT_MACRO(_POSIX_MEMLOCK_RANGE
);
942 PRINT_MACRO(_POSIX_MEMORY_PROTECTION
);
943 PRINT_MACRO(_POSIX_MESSAGE_PASSING
);
944 PRINT_MACRO(_POSIX_MONOTONIC_CLOCK
);
945 PRINT_MACRO(_POSIX_NO_TRUNC
);
946 PRINT_MACRO(_POSIX_PRIORITIZED_IO
);
947 PRINT_MACRO(_POSIX_PRIORITY_SCHEDULING
);
948 PRINT_MACRO(_POSIX_RAW_SOCKETS
);
949 PRINT_MACRO(_POSIX_READER_WRITER_LOCKS
);
950 PRINT_MACRO(_POSIX_REALTIME_SIGNALS
);
951 PRINT_MACRO(_POSIX_REGEXP
);
952 PRINT_MACRO(_POSIX_SAVED_IDS
);
953 PRINT_MACRO(_POSIX_SEMAPHORES
);
954 PRINT_MACRO(_POSIX_SHARED_MEMORY_OBJECTS
);
955 PRINT_MACRO(_POSIX_SHELL
);
956 PRINT_MACRO(_POSIX_SOURCE
);
957 PRINT_MACRO(_POSIX_SPAWN
);
958 PRINT_MACRO(_POSIX_SPIN_LOCKS
);
959 PRINT_MACRO(_POSIX_SPORADIC_SERVER
);
960 PRINT_MACRO(_POSIX_SYNCHRONIZED_IO
);
961 PRINT_MACRO(_POSIX_THREAD_ATTR_STACKADDR
);
962 PRINT_MACRO(_POSIX_THREAD_ATTR_STACKSIZE
);
963 PRINT_MACRO(_POSIX_THREAD_CPUTIME
);
964 PRINT_MACRO(_POSIX_THREAD_PRIO_INHERIT
);
965 PRINT_MACRO(_POSIX_THREAD_PRIO_PROTECT
);
966 PRINT_MACRO(_POSIX_THREAD_PRIORITY_SCHEDULING
);
967 PRINT_MACRO(_POSIX_THREAD_PROCESS_SHARED
);
968 PRINT_MACRO(_POSIX_THREAD_SAFE_FUNCTIONS
);
969 PRINT_MACRO(_POSIX_THREAD_SPORADIC_SERVER
);
970 PRINT_MACRO(_POSIX_THREADS
);
971 PRINT_MACRO(_POSIX_TIMEOUTS
);
972 PRINT_MACRO(_POSIX_TIMERS
);
973 PRINT_MACRO(_POSIX_TRACE
);
974 PRINT_MACRO(_POSIX_TRACE_EVENT_FILTER
);
975 PRINT_MACRO(_POSIX_TRACE_INHERIT
);
976 PRINT_MACRO(_POSIX_TRACE_LOG
);
977 PRINT_MACRO(_POSIX_TYPED_MEMORY_OBJECTS
);
978 PRINT_MACRO(_POSIX_VDISABLE
);
979 PRINT_MACRO(_POSIX_VERSION
);
980 PRINT_MACRO(_POSIX2_C_BIND
);
981 PRINT_MACRO(_POSIX2_C_DEV
);
982 PRINT_MACRO(_POSIX2_CHAR_TERM
);
983 PRINT_MACRO(_POSIX2_FORT_DEV
);
984 PRINT_MACRO(_POSIX2_FORT_RUN
);
985 PRINT_MACRO(_POSIX2_LOCALEDEF
);
986 PRINT_MACRO(_POSIX2_PBS
);
987 PRINT_MACRO(_POSIX2_PBS_ACCOUNTING
);
988 PRINT_MACRO(_POSIX2_PBS_CHECKPOINT
);
989 PRINT_MACRO(_POSIX2_PBS_LOCATE
);
990 PRINT_MACRO(_POSIX2_PBS_MESSAGE
);
991 PRINT_MACRO(_POSIX2_PBS_TRACK
);
992 PRINT_MACRO(_POSIX2_SW_DEV
);
993 PRINT_MACRO(_POSIX2_UPE
);
994 PRINT_MACRO(_POSIX2_VERSION
);
995 PRINT_MACRO(_V6_ILP32_OFF32
);
996 PRINT_MACRO(_V6_ILP32_OFFBIG
);
997 PRINT_MACRO(_V6_LP64_OFF64
);
998 PRINT_MACRO(_V6_LPBIG_OFFBIG
);
999 PRINT_MACRO(_XBS5_ILP32_OFF32
);
1000 PRINT_MACRO(_XBS5_ILP32_OFFBIG
);
1001 PRINT_MACRO(_XBS5_LP64_OFF64
);
1002 PRINT_MACRO(_XBS5_LPBIG_OFFBIG
);
1003 PRINT_MACRO(_XOPEN_CRYPT
);
1004 PRINT_MACRO(_XOPEN_ENH_I18N
);
1005 PRINT_MACRO(_XOPEN_LEGACY
);
1006 PRINT_MACRO(_XOPEN_REALTIME
);
1007 PRINT_MACRO(_XOPEN_REALTIME_THREADS
);
1008 PRINT_MACRO(_XOPEN_SHM
);
1009 PRINT_MACRO(_XOPEN_SOURCE
);
1010 PRINT_MACRO(_XOPEN_STREAMS
);
1011 PRINT_MACRO(_XOPEN_UNIX
);
1012 PRINT_MACRO(_XOPEN_VERSION
);
1014 PRINT_MACRO(__USE_BSD
);
1015 PRINT_MACRO(_FILE_OFFSET_BITS
);
1018 void print_boost_macros()
1020 std::cout
<< "Boost version " << BOOST_STRINGIZE(BOOST_VERSION
) << std::endl
;
1021 // config setup macros first:
1022 PRINT_MACRO(BOOST_USER_CONFIG
);
1023 PRINT_MACRO(BOOST_COMPILER_CONFIG
);
1024 PRINT_MACRO(BOOST_STDLIB_CONFIG
);
1025 PRINT_MACRO(BOOST_PLATFORM_CONFIG
);
1026 PRINT_MACRO(BOOST_NO_CONFIG
);
1027 PRINT_MACRO(BOOST_NO_USER_CONFIG
);
1028 PRINT_MACRO(BOOST_NO_COMPILER_CONFIG
);
1029 PRINT_MACRO(BOOST_NO_STDLIB_CONFIG
);
1030 PRINT_MACRO(BOOST_NO_PLATFORM_CONFIG
);
1031 // then defect and feature macros:
1032 PRINT_MACRO(BOOST_DISABLE_THREADS
);
1033 PRINT_MACRO(BOOST_DISABLE_WIN32
);
1034 PRINT_MACRO(BOOST_HAS_THREADS
);
1035 PRINT_MACRO(BOOST_WINDOWS
);
1037 // BEGIN GENERATED BLOCK DO NOT EDIT THIS!!!!!!
1038 PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
);
1039 PRINT_MACRO(BOOST_DEDUCED_TYPENAME
);
1040 PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
);
1041 PRINT_MACRO(BOOST_HAS_BETHREADS
);
1042 PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME
);
1043 PRINT_MACRO(BOOST_HAS_DIRENT_H
);
1044 PRINT_MACRO(BOOST_HAS_EXPM1
);
1045 PRINT_MACRO(BOOST_HAS_FLOAT128
);
1046 PRINT_MACRO(BOOST_HAS_FTIME
);
1047 PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME
);
1048 PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY
);
1049 PRINT_MACRO(BOOST_HAS_HASH
);
1050 PRINT_MACRO(BOOST_HAS_INT128
);
1051 PRINT_MACRO(BOOST_HAS_LOG1P
);
1052 PRINT_MACRO(BOOST_HAS_LONG_LONG
);
1053 PRINT_MACRO(BOOST_HAS_MACRO_USE_FACET
);
1054 PRINT_MACRO(BOOST_HAS_MS_INT64
);
1055 PRINT_MACRO(BOOST_HAS_NANOSLEEP
);
1056 PRINT_MACRO(BOOST_HAS_NL_TYPES_H
);
1057 PRINT_MACRO(BOOST_HAS_NRVO
);
1058 PRINT_MACRO(BOOST_HAS_PARTIAL_STD_ALLOCATOR
);
1059 PRINT_MACRO(BOOST_HAS_PRAGMA_DETECT_MISMATCH
);
1060 PRINT_MACRO(BOOST_HAS_PTHREADS
);
1061 PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP
);
1062 PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
);
1063 PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD
);
1064 PRINT_MACRO(BOOST_HAS_RVALUE_REFS
);
1065 PRINT_MACRO(BOOST_HAS_SCHED_YIELD
);
1066 PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS
);
1067 PRINT_MACRO(BOOST_HAS_SIGACTION
);
1068 PRINT_MACRO(BOOST_HAS_SLIST
);
1069 PRINT_MACRO(BOOST_HAS_STATIC_ASSERT
);
1070 PRINT_MACRO(BOOST_HAS_STDINT_H
);
1071 PRINT_MACRO(BOOST_HAS_STLP_USE_FACET
);
1072 PRINT_MACRO(BOOST_HAS_TWO_ARG_USE_FACET
);
1073 PRINT_MACRO(BOOST_HAS_UNISTD_H
);
1074 PRINT_MACRO(BOOST_HAS_VARIADIC_TMPL
);
1075 PRINT_MACRO(BOOST_HAS_WINTHREADS
);
1076 PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES
);
1077 PRINT_MACRO(BOOST_MSVC_STD_ITERATOR
);
1078 PRINT_MACRO(BOOST_NO_ADL_BARRIER
);
1079 PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
);
1080 PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
);
1081 PRINT_MACRO(BOOST_NO_AUTO_PTR
);
1082 PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION
);
1083 PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS
);
1084 PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS
);
1085 PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS
);
1086 PRINT_MACRO(BOOST_NO_CWCHAR
);
1087 PRINT_MACRO(BOOST_NO_CWCTYPE
);
1088 PRINT_MACRO(BOOST_NO_CXX03
);
1089 PRINT_MACRO(BOOST_NO_CXX11
);
1090 PRINT_MACRO(BOOST_NO_CXX11_ADDRESSOF
);
1091 PRINT_MACRO(BOOST_NO_CXX11_ALIGNAS
);
1092 PRINT_MACRO(BOOST_NO_CXX11_ALLOCATOR
);
1093 PRINT_MACRO(BOOST_NO_CXX11_ATOMIC_SMART_PTR
);
1094 PRINT_MACRO(BOOST_NO_CXX11_AUTO_DECLARATIONS
);
1095 PRINT_MACRO(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
);
1096 PRINT_MACRO(BOOST_NO_CXX11_CHAR16_T
);
1097 PRINT_MACRO(BOOST_NO_CXX11_CHAR32_T
);
1098 PRINT_MACRO(BOOST_NO_CXX11_CONSTEXPR
);
1099 PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE
);
1100 PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE_N3276
);
1101 PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
);
1102 PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_MOVES
);
1103 PRINT_MACRO(BOOST_NO_CXX11_DELETED_FUNCTIONS
);
1104 PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
);
1105 PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE
);
1106 PRINT_MACRO(BOOST_NO_CXX11_FINAL
);
1107 PRINT_MACRO(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
);
1108 PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
);
1109 PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY
);
1110 PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC
);
1111 PRINT_MACRO(BOOST_NO_CXX11_HDR_CHRONO
);
1112 PRINT_MACRO(BOOST_NO_CXX11_HDR_CODECVT
);
1113 PRINT_MACRO(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
);
1114 PRINT_MACRO(BOOST_NO_CXX11_HDR_EXCEPTION
);
1115 PRINT_MACRO(BOOST_NO_CXX11_HDR_FORWARD_LIST
);
1116 PRINT_MACRO(BOOST_NO_CXX11_HDR_FUNCTIONAL
);
1117 PRINT_MACRO(BOOST_NO_CXX11_HDR_FUTURE
);
1118 PRINT_MACRO(BOOST_NO_CXX11_HDR_INITIALIZER_LIST
);
1119 PRINT_MACRO(BOOST_NO_CXX11_HDR_MUTEX
);
1120 PRINT_MACRO(BOOST_NO_CXX11_HDR_RANDOM
);
1121 PRINT_MACRO(BOOST_NO_CXX11_HDR_RATIO
);
1122 PRINT_MACRO(BOOST_NO_CXX11_HDR_REGEX
);
1123 PRINT_MACRO(BOOST_NO_CXX11_HDR_SYSTEM_ERROR
);
1124 PRINT_MACRO(BOOST_NO_CXX11_HDR_THREAD
);
1125 PRINT_MACRO(BOOST_NO_CXX11_HDR_TUPLE
);
1126 PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPEINDEX
);
1127 PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPE_TRAITS
);
1128 PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_MAP
);
1129 PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_SET
);
1130 PRINT_MACRO(BOOST_NO_CXX11_INLINE_NAMESPACES
);
1131 PRINT_MACRO(BOOST_NO_CXX11_LAMBDAS
);
1132 PRINT_MACRO(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
);
1133 PRINT_MACRO(BOOST_NO_CXX11_NOEXCEPT
);
1134 PRINT_MACRO(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
);
1135 PRINT_MACRO(BOOST_NO_CXX11_NULLPTR
);
1136 PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS
);
1137 PRINT_MACRO(BOOST_NO_CXX11_OVERRIDE
);
1138 PRINT_MACRO(BOOST_NO_CXX11_POINTER_TRAITS
);
1139 PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR
);
1140 PRINT_MACRO(BOOST_NO_CXX11_RAW_LITERALS
);
1141 PRINT_MACRO(BOOST_NO_CXX11_REF_QUALIFIERS
);
1142 PRINT_MACRO(BOOST_NO_CXX11_RVALUE_REFERENCES
);
1143 PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS
);
1144 PRINT_MACRO(BOOST_NO_CXX11_SFINAE_EXPR
);
1145 PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR
);
1146 PRINT_MACRO(BOOST_NO_CXX11_STATIC_ASSERT
);
1147 PRINT_MACRO(BOOST_NO_CXX11_STD_ALIGN
);
1148 PRINT_MACRO(BOOST_NO_CXX11_TEMPLATE_ALIASES
);
1149 PRINT_MACRO(BOOST_NO_CXX11_THREAD_LOCAL
);
1150 PRINT_MACRO(BOOST_NO_CXX11_TRAILING_RESULT_TYPES
);
1151 PRINT_MACRO(BOOST_NO_CXX11_UNICODE_LITERALS
);
1152 PRINT_MACRO(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
);
1153 PRINT_MACRO(BOOST_NO_CXX11_UNRESTRICTED_UNION
);
1154 PRINT_MACRO(BOOST_NO_CXX11_USER_DEFINED_LITERALS
);
1155 PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_MACROS
);
1156 PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_TEMPLATES
);
1157 PRINT_MACRO(BOOST_NO_CXX14
);
1158 PRINT_MACRO(BOOST_NO_CXX14_AGGREGATE_NSDMI
);
1159 PRINT_MACRO(BOOST_NO_CXX14_BINARY_LITERALS
);
1160 PRINT_MACRO(BOOST_NO_CXX14_CONSTEXPR
);
1161 PRINT_MACRO(BOOST_NO_CXX14_DECLTYPE_AUTO
);
1162 PRINT_MACRO(BOOST_NO_CXX14_DIGIT_SEPARATORS
);
1163 PRINT_MACRO(BOOST_NO_CXX14_GENERIC_LAMBDAS
);
1164 PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX
);
1165 PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
);
1166 PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
);
1167 PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE
);
1168 PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES
);
1169 PRINT_MACRO(BOOST_NO_CXX17
);
1170 PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS
);
1171 PRINT_MACRO(BOOST_NO_CXX17_HDR_ANY
);
1172 PRINT_MACRO(BOOST_NO_CXX17_HDR_CHARCONV
);
1173 PRINT_MACRO(BOOST_NO_CXX17_HDR_EXECUTION
);
1174 PRINT_MACRO(BOOST_NO_CXX17_HDR_FILESYSTEM
);
1175 PRINT_MACRO(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
);
1176 PRINT_MACRO(BOOST_NO_CXX17_HDR_OPTIONAL
);
1177 PRINT_MACRO(BOOST_NO_CXX17_HDR_STRING_VIEW
);
1178 PRINT_MACRO(BOOST_NO_CXX17_HDR_VARIANT
);
1179 PRINT_MACRO(BOOST_NO_CXX17_IF_CONSTEXPR
);
1180 PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES
);
1181 PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS
);
1182 PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY
);
1183 PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE
);
1184 PRINT_MACRO(BOOST_NO_CXX17_STRUCTURED_BINDINGS
);
1185 PRINT_MACRO(BOOST_NO_CXX20_HDR_BARRIER
);
1186 PRINT_MACRO(BOOST_NO_CXX20_HDR_BIT
);
1187 PRINT_MACRO(BOOST_NO_CXX20_HDR_COMPARE
);
1188 PRINT_MACRO(BOOST_NO_CXX20_HDR_CONCEPTS
);
1189 PRINT_MACRO(BOOST_NO_CXX20_HDR_COROUTINE
);
1190 PRINT_MACRO(BOOST_NO_CXX20_HDR_FORMAT
);
1191 PRINT_MACRO(BOOST_NO_CXX20_HDR_LATCH
);
1192 PRINT_MACRO(BOOST_NO_CXX20_HDR_NUMBERS
);
1193 PRINT_MACRO(BOOST_NO_CXX20_HDR_RANGES
);
1194 PRINT_MACRO(BOOST_NO_CXX20_HDR_SEMAPHORE
);
1195 PRINT_MACRO(BOOST_NO_CXX20_HDR_SOURCE_LOCATION
);
1196 PRINT_MACRO(BOOST_NO_CXX20_HDR_SPAN
);
1197 PRINT_MACRO(BOOST_NO_CXX20_HDR_STOP_TOKEN
);
1198 PRINT_MACRO(BOOST_NO_CXX20_HDR_SYNCSTREAM
);
1199 PRINT_MACRO(BOOST_NO_CXX20_HDR_VERSION
);
1200 PRINT_MACRO(BOOST_NO_CXX98_BINDERS
);
1201 PRINT_MACRO(BOOST_NO_CXX98_FUNCTION_BASE
);
1202 PRINT_MACRO(BOOST_NO_CXX98_RANDOM_SHUFFLE
);
1203 PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
);
1204 PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
);
1205 PRINT_MACRO(BOOST_NO_EXCEPTIONS
);
1206 PRINT_MACRO(BOOST_NO_EXCEPTION_STD_NAMESPACE
);
1207 PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
);
1208 PRINT_MACRO(BOOST_NO_FENV_H
);
1209 PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING
);
1210 PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
);
1211 PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION
);
1212 PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T
);
1213 PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T
);
1214 PRINT_MACRO(BOOST_NO_IOSFWD
);
1215 PRINT_MACRO(BOOST_NO_IOSTREAM
);
1216 PRINT_MACRO(BOOST_NO_IS_ABSTRACT
);
1217 PRINT_MACRO(BOOST_NO_LIMITS
);
1218 PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
);
1219 PRINT_MACRO(BOOST_NO_LONG_LONG
);
1220 PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS
);
1221 PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
);
1222 PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES
);
1223 PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_FRIENDS
);
1224 PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD
);
1225 PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS
);
1226 PRINT_MACRO(BOOST_NO_NESTED_FRIENDSHIP
);
1227 PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE
);
1228 PRINT_MACRO(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
);
1229 PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST
);
1230 PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
);
1231 PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE
);
1232 PRINT_MACRO(BOOST_NO_RESTRICT_REFERENCES
);
1233 PRINT_MACRO(BOOST_NO_RTTI
);
1234 PRINT_MACRO(BOOST_NO_SFINAE
);
1235 PRINT_MACRO(BOOST_NO_SFINAE_EXPR
);
1236 PRINT_MACRO(BOOST_NO_STDC_NAMESPACE
);
1237 PRINT_MACRO(BOOST_NO_STD_ALLOCATOR
);
1238 PRINT_MACRO(BOOST_NO_STD_DISTANCE
);
1239 PRINT_MACRO(BOOST_NO_STD_ITERATOR
);
1240 PRINT_MACRO(BOOST_NO_STD_ITERATOR_TRAITS
);
1241 PRINT_MACRO(BOOST_NO_STD_LOCALE
);
1242 PRINT_MACRO(BOOST_NO_STD_MESSAGES
);
1243 PRINT_MACRO(BOOST_NO_STD_MIN_MAX
);
1244 PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
);
1245 PRINT_MACRO(BOOST_NO_STD_TYPEINFO
);
1246 PRINT_MACRO(BOOST_NO_STD_USE_FACET
);
1247 PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF
);
1248 PRINT_MACRO(BOOST_NO_STD_WSTRING
);
1249 PRINT_MACRO(BOOST_NO_STRINGSTREAM
);
1250 PRINT_MACRO(BOOST_NO_SWPRINTF
);
1251 PRINT_MACRO(BOOST_NO_TEMPLATED_IOSTREAMS
);
1252 PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
);
1253 PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
);
1254 PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES
);
1255 PRINT_MACRO(BOOST_NO_TWO_PHASE_NAME_LOOKUP
);
1256 PRINT_MACRO(BOOST_NO_TYPEID
);
1257 PRINT_MACRO(BOOST_NO_TYPENAME_WITH_CTOR
);
1258 PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION
);
1259 PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
);
1260 PRINT_MACRO(BOOST_NO_USING_TEMPLATE
);
1261 PRINT_MACRO(BOOST_NO_VOID_RETURNS
);
1269 // END GENERATED BLOCK
1271 PRINT_MACRO(BOOST_CXX_VERSION
);
1272 PRINT_MACRO(BOOST_INTEL
);
1273 PRINT_MACRO(BOOST_MSVC
);
1274 PRINT_MACRO(BOOST_GCC
);
1275 PRINT_MACRO(BOOST_CLANG
);
1276 PRINT_MACRO(BOOST_CLANG_VERSION
);
1277 PRINT_MACRO(BOOST_LIBSTDCXX_VERSION
);
1278 PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE
);
1279 PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
1280 PRINT_MACRO(BOOST_CONSTEXPR
);
1281 PRINT_MACRO(BOOST_CONSTEXPR_OR_CONST
);
1282 PRINT_MACRO(BOOST_STATIC_CONSTEXPR
);
1283 PRINT_MACRO(BOOST_NOEXCEPT
);
1284 PRINT_MACRO(BOOST_FORCEINLINE
);
1285 PRINT_MACRO(BOOST_NOINLINE
);
1286 PRINT_MACRO(BOOST_FALLTHROUGH
);
1287 PRINT_MACRO(BOOST_MAY_ALIAS
);
1288 PRINT_MACRO(BOOST_NO_MAY_ALIAS
);
1289 PRINT_MACRO(BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS
);
1290 PRINT_MACRO(BOOST_ATTRIBUTE_UNUSED
);
1291 PRINT_MACRO(BOOST_UNLIKELY
);
1292 PRINT_MACRO(BOOST_NORETURN
);
1295 #ifdef __has_include
1296 #if __has_include(<version>)
1299 #if __has_include(<atomic>) && (BOOST_CXX_VERSION > 201100)
1304 void print_sd6_macros()
1306 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0096r5.html
1308 // Library macros are only really available if we have <version> :
1310 PRINT_MACRO(__cpp_lib_addressof_constexpr
);
1311 PRINT_MACRO(__cpp_lib_allocator_traits_is_always_equal
);
1312 PRINT_MACRO(__cpp_lib_any
);
1313 PRINT_MACRO(__cpp_lib_apply
);
1314 PRINT_MACRO(__cpp_lib_array_constexpr
);
1315 PRINT_MACRO(__cpp_lib_as_const
);
1316 PRINT_MACRO(__cpp_lib_assume_aligned
);
1317 PRINT_MACRO(__cpp_lib_atomic_flag_test
);
1318 PRINT_MACRO(__cpp_lib_atomic_float
);
1319 PRINT_MACRO(__cpp_lib_atomic_is_always_lock_free
);
1320 PRINT_MACRO(__cpp_lib_atomic_lock_free_type_aliases
);
1321 PRINT_MACRO(__cpp_lib_atomic_ref
);
1322 PRINT_MACRO(__cpp_lib_atomic_shared_ptr
);
1323 PRINT_MACRO(__cpp_lib_atomic_value_initialization
);
1324 PRINT_MACRO(__cpp_lib_atomic_wait
);
1325 PRINT_MACRO(__cpp_lib_barrier
);
1326 PRINT_MACRO(__cpp_lib_bind_front
);
1327 PRINT_MACRO(__cpp_lib_bit_cast
);
1328 PRINT_MACRO(__cpp_lib_bitops
);
1329 PRINT_MACRO(__cpp_lib_bool_constant
);
1330 PRINT_MACRO(__cpp_lib_bounded_array_traits
);
1331 PRINT_MACRO(__cpp_lib_boyer_moore_searcher
);
1332 PRINT_MACRO(__cpp_lib_byte
);
1333 PRINT_MACRO(__cpp_lib_char8_t
);
1334 PRINT_MACRO(__cpp_lib_chrono
);
1335 PRINT_MACRO(__cpp_lib_chrono_udls
);
1336 PRINT_MACRO(__cpp_lib_clamp
);
1337 PRINT_MACRO(__cpp_lib_complex_udls
);
1338 PRINT_MACRO(__cpp_lib_concepts
);
1339 PRINT_MACRO(__cpp_lib_constexpr_algorithms
);
1340 PRINT_MACRO(__cpp_lib_constexpr_complex
);
1341 PRINT_MACRO(__cpp_lib_constexpr_dynamic_alloc
);
1342 PRINT_MACRO(__cpp_lib_constexpr_functional
);
1343 PRINT_MACRO(__cpp_lib_constexpr_iterator
);
1344 PRINT_MACRO(__cpp_lib_constexpr_memory
);
1345 PRINT_MACRO(__cpp_lib_constexpr_numeric
);
1346 PRINT_MACRO(__cpp_lib_constexpr_string
);
1347 PRINT_MACRO(__cpp_lib_constexpr_string_view
);
1348 PRINT_MACRO(__cpp_lib_constexpr_tuple
);
1349 PRINT_MACRO(__cpp_lib_constexpr_utility
);
1350 PRINT_MACRO(__cpp_lib_constexpr_vector
);
1351 PRINT_MACRO(__cpp_lib_coroutine
);
1352 PRINT_MACRO(__cpp_lib_destroying_delete
);
1353 PRINT_MACRO(__cpp_lib_enable_shared_from_this
);
1354 PRINT_MACRO(__cpp_lib_endian
);
1355 PRINT_MACRO(__cpp_lib_erase_if
);
1356 PRINT_MACRO(__cpp_lib_exchange_function
);
1357 PRINT_MACRO(__cpp_lib_execution
);
1358 PRINT_MACRO(__cpp_lib_filesystem
);
1359 PRINT_MACRO(__cpp_lib_format
);
1360 PRINT_MACRO(__cpp_lib_gcd_lcm
);
1361 PRINT_MACRO(__cpp_lib_generic_associative_lookup
);
1362 PRINT_MACRO(__cpp_lib_generic_unordered_lookup
);
1363 PRINT_MACRO(__cpp_lib_hardware_interference_size
);
1364 PRINT_MACRO(__cpp_lib_has_unique_object_representations
);
1365 PRINT_MACRO(__cpp_lib_hypot
);
1366 PRINT_MACRO(__cpp_lib_incomplete_container_elements
);
1367 PRINT_MACRO(__cpp_lib_int_pow2
);
1368 PRINT_MACRO(__cpp_lib_integer_comparison_functions
);
1369 PRINT_MACRO(__cpp_lib_integer_sequence
);
1370 PRINT_MACRO(__cpp_lib_integral_constant_callable
);
1371 PRINT_MACRO(__cpp_lib_interpolate
);
1372 PRINT_MACRO(__cpp_lib_invoke
);
1373 PRINT_MACRO(__cpp_lib_is_aggregate
);
1374 PRINT_MACRO(__cpp_lib_is_constant_evaluated
);
1375 PRINT_MACRO(__cpp_lib_is_final
);
1376 PRINT_MACRO(__cpp_lib_is_invocable
);
1377 PRINT_MACRO(__cpp_lib_is_layout_compatible
);
1378 PRINT_MACRO(__cpp_lib_is_nothrow_convertible
);
1379 PRINT_MACRO(__cpp_lib_is_null_pointer
);
1380 PRINT_MACRO(__cpp_lib_is_pointer_interconvertible
);
1381 PRINT_MACRO(__cpp_lib_is_swappable
);
1382 PRINT_MACRO(__cpp_lib_jthread
);
1383 PRINT_MACRO(__cpp_lib_latch
);
1384 PRINT_MACRO(__cpp_lib_launder
);
1385 PRINT_MACRO(__cpp_lib_list_remove_return_type
);
1386 PRINT_MACRO(__cpp_lib_logical_traits
);
1387 PRINT_MACRO(__cpp_lib_make_from_tuple
);
1388 PRINT_MACRO(__cpp_lib_make_reverse_iterator
);
1389 PRINT_MACRO(__cpp_lib_make_unique
);
1390 PRINT_MACRO(__cpp_lib_map_try_emplace
);
1391 PRINT_MACRO(__cpp_lib_math_constants
);
1392 PRINT_MACRO(__cpp_lib_math_special_functions
);
1393 PRINT_MACRO(__cpp_lib_memory_resource
);
1394 PRINT_MACRO(__cpp_lib_node_extract
);
1395 PRINT_MACRO(__cpp_lib_nonmember_container_access
);
1396 PRINT_MACRO(__cpp_lib_not_fn
);
1397 PRINT_MACRO(__cpp_lib_null_iterators
);
1398 PRINT_MACRO(__cpp_lib_optional
);
1399 PRINT_MACRO(__cpp_lib_parallel_algorithm
);
1400 PRINT_MACRO(__cpp_lib_polymorphic_allocator
);
1401 PRINT_MACRO(__cpp_lib_quoted_string_io
);
1402 PRINT_MACRO(__cpp_lib_ranges
);
1403 PRINT_MACRO(__cpp_lib_raw_memory_algorithms
);
1404 PRINT_MACRO(__cpp_lib_remove_cvref
);
1405 PRINT_MACRO(__cpp_lib_result_of_sfinae
);
1406 PRINT_MACRO(__cpp_lib_robust_nonmodifying_seq_ops
);
1407 PRINT_MACRO(__cpp_lib_sample
);
1408 PRINT_MACRO(__cpp_lib_scoped_lock
);
1409 PRINT_MACRO(__cpp_lib_semaphore
);
1410 PRINT_MACRO(__cpp_lib_shared_mutex
);
1411 PRINT_MACRO(__cpp_lib_shared_ptr_arrays
);
1412 PRINT_MACRO(__cpp_lib_shared_ptr_weak_type
);
1413 PRINT_MACRO(__cpp_lib_shared_timed_mutex
);
1414 PRINT_MACRO(__cpp_lib_shift
);
1415 PRINT_MACRO(__cpp_lib_smart_ptr_for_overwrite
);
1416 PRINT_MACRO(__cpp_lib_source_location
);
1417 PRINT_MACRO(__cpp_lib_span
);
1418 PRINT_MACRO(__cpp_lib_ssize
);
1419 PRINT_MACRO(__cpp_lib_starts_ends_with
);
1420 PRINT_MACRO(__cpp_lib_string_udls
);
1421 PRINT_MACRO(__cpp_lib_string_view
);
1422 PRINT_MACRO(__cpp_lib_syncbuf
);
1423 PRINT_MACRO(__cpp_lib_three_way_comparison
);
1424 PRINT_MACRO(__cpp_lib_to_address
);
1425 PRINT_MACRO(__cpp_lib_to_array
);
1426 PRINT_MACRO(__cpp_lib_to_chars
);
1427 PRINT_MACRO(__cpp_lib_transformation_trait_aliases
);
1428 PRINT_MACRO(__cpp_lib_transparent_operators
);
1429 PRINT_MACRO(__cpp_lib_tuple_element_t
);
1430 PRINT_MACRO(__cpp_lib_tuples_by_type
);
1431 PRINT_MACRO(__cpp_lib_type_identity
);
1432 PRINT_MACRO(__cpp_lib_type_trait_variable_templates
);
1433 PRINT_MACRO(__cpp_lib_uncaught_exceptions
);
1434 PRINT_MACRO(__cpp_lib_unordered_map_try_emplace
);
1435 PRINT_MACRO(__cpp_lib_unwrap_ref
);
1436 PRINT_MACRO(__cpp_lib_variant
);
1437 PRINT_MACRO(__cpp_lib_void_t
);
1440 PRINT_MACRO(__cpp_aggregate_paren_init
);
1441 PRINT_MACRO(__cpp_char8_t
);
1442 PRINT_MACRO(__cpp_char8_type
);
1443 PRINT_MACRO(__cpp_conditional_explicit
);
1444 PRINT_MACRO(__cpp_coroutines
);
1445 PRINT_MACRO(__cpp_impl_destroying_delete
);
1446 PRINT_MACRO(__cpp_impl_three_way_comparison
);
1447 PRINT_MACRO(__cpp_nontype_template_parameter_class
);
1450 PRINT_MACRO(__cpp_hex_float
);
1451 PRINT_MACRO(__cpp_inline_variables
);
1452 PRINT_MACRO(__cpp_aligned_new
);
1453 PRINT_MACRO(__cpp_guaranteed_copy_elision
);
1454 PRINT_MACRO(__cpp_noexcept_function_type
);
1455 PRINT_MACRO(__cpp_fold_expressions
);
1456 PRINT_MACRO(__cpp_capture_star_this
);
1457 PRINT_MACRO(__cpp_constexpr
);
1458 PRINT_MACRO(__cpp_if_constexpr
);
1459 PRINT_MACRO(__cpp_range_based_for
);
1460 PRINT_MACRO(__cpp_static_assert
);
1461 PRINT_MACRO(__cpp_deduction_guides
);
1462 PRINT_MACRO(__cpp_nontype_template_parameter_auto
);
1463 PRINT_MACRO(__cpp_namespace_attributes
);
1464 PRINT_MACRO(__cpp_enumerator_attributes
);
1465 PRINT_MACRO(__cpp_inheriting_constructors
);
1466 PRINT_MACRO(__cpp_variadic_using
);
1467 PRINT_MACRO(__cpp_structured_bindings
);
1468 PRINT_MACRO(__cpp_aggregate_bases
);
1469 PRINT_MACRO(__cpp_nontype_template_args
);
1470 PRINT_MACRO(__cpp_template_template_args
);
1473 PRINT_MACRO(__cpp_binary_literals
);
1474 PRINT_MACRO(__cpp_init_captures
);
1475 PRINT_MACRO(__cpp_generic_lambdas
);
1476 PRINT_MACRO(__cpp_sized_deallocation
);
1477 PRINT_MACRO(__cpp_decltype_auto
);
1478 PRINT_MACRO(__cpp_return_type_deduction
);
1479 PRINT_MACRO(__cpp_aggregate_nsdmi
);
1480 PRINT_MACRO(__cpp_variable_templates
);
1483 PRINT_MACRO(__cpp_unicode_characters
);
1484 PRINT_MACRO(__cpp_raw_strings
);
1485 PRINT_MACRO(__cpp_unicode_literals
);
1486 PRINT_MACRO(__cpp_user_defined_literals
);
1487 PRINT_MACRO(__cpp_threadsafe_static_init
);
1488 PRINT_MACRO(__cpp_lambdas
);
1489 PRINT_MACRO(__cpp_decltype
);
1490 PRINT_MACRO(__cpp_attributes
);
1491 PRINT_MACRO(__cpp_rvalue_references
);
1492 PRINT_MACRO(__cpp_variadic_templates
);
1493 PRINT_MACRO(__cpp_initializer_lists
);
1494 PRINT_MACRO(__cpp_delegating_constructors
);
1495 PRINT_MACRO(__cpp_nsdmi
);
1496 PRINT_MACRO(__cpp_ref_qualifiers
);
1497 PRINT_MACRO(__cpp_alias_templates
);
1500 PRINT_MACRO(__cpp_rtti
);
1501 PRINT_MACRO(__cpp_exceptions
);
1504 PRINT_MACRO(ATOMIC_INT_LOCK_FREE
);
1505 PRINT_MACRO(ATOMIC_SHORT_LOCK_FREE
);
1506 PRINT_MACRO(ATOMIC_LONG_LOCK_FREE
);
1507 PRINT_MACRO(ATOMIC_LLONG_LOCK_FREE
);
1508 PRINT_MACRO(ATOMIC_POINTER_LOCK_FREE
);
1509 PRINT_MACRO(ATOMIC_CHAR_LOCK_FREE
);
1510 PRINT_MACRO(ATOMIC_WCHAR_T_LOCK_FREE
);
1511 PRINT_MACRO(ATOMIC_CHAR8_T_LOCK_FREE
);
1512 PRINT_MACRO(ATOMIC_CHAR16_T_LOCK_FREE
);
1513 PRINT_MACRO(ATOMIC_CHAR32_T_LOCK_FREE
);
1516 void print_separator()
1519 "\n\n*********************************************************************\n\n";
1525 // boost compiler workaround defines
1526 print_compiler_macros();
1528 print_stdlib_macros();
1530 print_platform_macros();
1532 print_boost_macros();