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