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