| 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 | #include <boost/config.hpp> |
|---|
| 15 | #include <boost/version.hpp> |
|---|
| 16 | #include <iostream> |
|---|
| 17 | #include <iomanip> |
|---|
| 18 | #include <string.h> |
|---|
| 19 | #include <limits.h> |
|---|
| 20 | #include <stdlib.h> |
|---|
| 21 | #include <stddef.h> |
|---|
| 22 | |
|---|
| 23 | #ifdef BOOST_HAS_UNISTD_H |
|---|
| 24 | #include <unistd.h> |
|---|
| 25 | #endif |
|---|
| 26 | |
|---|
| 27 | static unsigned int indent = 4; |
|---|
| 28 | static unsigned int width = 40; |
|---|
| 29 | |
|---|
| 30 | using std::cout; |
|---|
| 31 | using std::istream; |
|---|
| 32 | |
|---|
| 33 | void print_macro(const char* name, const char* value) |
|---|
| 34 | { |
|---|
| 35 | // if name == value+1 then then macro is not defined, |
|---|
| 36 | // in which case we don't print anything: |
|---|
| 37 | if(0 != strcmp(name, value+1)) |
|---|
| 38 | { |
|---|
| 39 | for(unsigned i = 0; i < indent; ++i) std::cout.put(' '); |
|---|
| 40 | std::cout << std::setw(width); |
|---|
| 41 | cout.setf(istream::left, istream::adjustfield); |
|---|
| 42 | std::cout << name; |
|---|
| 43 | if(value[1]) |
|---|
| 44 | { |
|---|
| 45 | // macro has a value: |
|---|
| 46 | std::cout << value << "\n"; |
|---|
| 47 | } |
|---|
| 48 | else |
|---|
| 49 | { |
|---|
| 50 | // macro is defined but has no value: |
|---|
| 51 | std::cout << " [no value]\n"; |
|---|
| 52 | } |
|---|
| 53 | } |
|---|
| 54 | } |
|---|
| 55 | |
|---|
| 56 | #define PRINT_MACRO(X) print_macro(#X, BOOST_STRINGIZE(=X)) |
|---|
| 57 | |
|---|
| 58 | template <class T> |
|---|
| 59 | void print_expression(const char* expression, T val) |
|---|
| 60 | { |
|---|
| 61 | for(unsigned i = 0; i < indent; ++i) std::cout.put(' '); |
|---|
| 62 | std::cout << std::setw(width); |
|---|
| 63 | std::cout.setf(istream::left, istream::adjustfield); |
|---|
| 64 | std::cout << expression << "=" << val << std::endl; |
|---|
| 65 | } |
|---|
| 66 | |
|---|
| 67 | #define PRINT_EXPRESSION(E) print_expression(#E, E); |
|---|
| 68 | |
|---|
| 69 | template <class T> |
|---|
| 70 | void print_byte_order(const char* what, T /* t */ ) |
|---|
| 71 | { |
|---|
| 72 | T val = 0; |
|---|
| 73 | unsigned i; |
|---|
| 74 | for(i = 1; i < sizeof(T); ++i) |
|---|
| 75 | { |
|---|
| 76 | val |= (CHAR_BIT * static_cast<T>(i)) << (CHAR_BIT * static_cast<T>(i)); |
|---|
| 77 | } |
|---|
| 78 | const char* p = reinterpret_cast<const char*>(&val); |
|---|
| 79 | |
|---|
| 80 | for(i = 0; i < indent; ++i) std::cout.put(' '); |
|---|
| 81 | std::cout << std::setw(width); |
|---|
| 82 | std::cout.setf(istream::left, istream::adjustfield); |
|---|
| 83 | std::cout << what << "="; |
|---|
| 84 | for(i = 0; i < sizeof(T); ++i) |
|---|
| 85 | { |
|---|
| 86 | std::cout << (int)p[i] << " "; |
|---|
| 87 | } |
|---|
| 88 | std::cout << std::endl; |
|---|
| 89 | } |
|---|
| 90 | |
|---|
| 91 | #define PRINT_ORDER(T) print_byte_order(BOOST_STRINGIZE(byte order for type T), T()) |
|---|
| 92 | |
|---|
| 93 | template <class T> |
|---|
| 94 | void print_sign(const char* what, T t) |
|---|
| 95 | { |
|---|
| 96 | t = static_cast<T>(-1); // cast suppresses warnings |
|---|
| 97 | for(unsigned i = 0; i < indent; ++i) std::cout.put(' '); |
|---|
| 98 | std::cout << "Type " << what << " is " << ((t > 0) ? "unsigned" : "signed") << std::endl; |
|---|
| 99 | } |
|---|
| 100 | |
|---|
| 101 | #define PRINT_SIGN(T) print_sign(#T, T()) |
|---|
| 102 | |
|---|
| 103 | |
|---|
| 104 | void print_compiler_macros() |
|---|
| 105 | { |
|---|
| 106 | std::cout << BOOST_COMPILER << "\n"; |
|---|
| 107 | // Borland options: |
|---|
| 108 | PRINT_MACRO(__BORLANDC__); |
|---|
| 109 | PRINT_MACRO(__CDECL__); |
|---|
| 110 | PRINT_MACRO(_CHAR_UNSIGNED); |
|---|
| 111 | PRINT_MACRO(__CODEGUARD__); |
|---|
| 112 | PRINT_MACRO(__CONSOLE__); |
|---|
| 113 | PRINT_MACRO(_CPPUNWIND); |
|---|
| 114 | PRINT_MACRO(__cplusplus); |
|---|
| 115 | PRINT_MACRO(__FLAT__); |
|---|
| 116 | PRINT_MACRO(__FUNC__); |
|---|
| 117 | PRINT_MACRO(_M_IX86); |
|---|
| 118 | PRINT_MACRO(__MSDOS__); |
|---|
| 119 | PRINT_MACRO(__MT__ ); |
|---|
| 120 | PRINT_MACRO(__PASCAL__); |
|---|
| 121 | PRINT_MACRO(__STDC__); |
|---|
| 122 | PRINT_MACRO(__TLS__); |
|---|
| 123 | PRINT_MACRO(_WCHAR_T); |
|---|
| 124 | PRINT_MACRO(_Windows); |
|---|
| 125 | PRINT_MACRO(__WIN32__); |
|---|
| 126 | PRINT_MACRO(_WIN32); |
|---|
| 127 | PRINT_MACRO(_WIN64); |
|---|
| 128 | PRINT_MACRO(WIN32); |
|---|
| 129 | PRINT_MACRO(_RTLDLL); |
|---|
| 130 | PRINT_MACRO(__DEBUG); |
|---|
| 131 | |
|---|
| 132 | // Internal MSVC 7 error workaround (Peter Dimov) |
|---|
| 133 | |
|---|
| 134 | #ifndef _NATIVE_WCHAR_T_DEFINED |
|---|
| 135 | PRINT_MACRO(_WCHAR_T_DEFINED); |
|---|
| 136 | #endif |
|---|
| 137 | // MSVC macros: |
|---|
| 138 | PRINT_MACRO(_CPPRTTI); |
|---|
| 139 | PRINT_MACRO(_DLL); |
|---|
| 140 | PRINT_MACRO(_M_ALPHA); |
|---|
| 141 | PRINT_MACRO(_M_MPPC); |
|---|
| 142 | PRINT_MACRO(_M_MRX000); |
|---|
| 143 | PRINT_MACRO(_M_PPC); |
|---|
| 144 | PRINT_MACRO(_MFC_VER); |
|---|
| 145 | PRINT_MACRO(_MSC_EXTENSIONS); |
|---|
| 146 | PRINT_MACRO(_MSC_VER); |
|---|
| 147 | PRINT_MACRO(_MSC_FULL_VER); |
|---|
| 148 | PRINT_MACRO(_MT); |
|---|
| 149 | PRINT_MACRO(_NATIVE_WCHAR_T_DEFINED); |
|---|
| 150 | // GNUC options: |
|---|
| 151 | PRINT_MACRO(__GNUC__); |
|---|
| 152 | PRINT_MACRO(__GNUC_MINOR__); |
|---|
| 153 | PRINT_MACRO(__STDC_VERSION__); |
|---|
| 154 | PRINT_MACRO(__GNUG__); |
|---|
| 155 | PRINT_MACRO(__STRICT_ANSI__); |
|---|
| 156 | PRINT_MACRO(__VERSION__); |
|---|
| 157 | PRINT_MACRO(__OPTIMIZE__); |
|---|
| 158 | PRINT_MACRO(__CHAR_UNSIGNED__); |
|---|
| 159 | PRINT_MACRO(__REGISTER_PREFIX__); |
|---|
| 160 | PRINT_MACRO(__USER_LABEL_PREFIX__); |
|---|
| 161 | PRINT_MACRO(__GNUPRO__); |
|---|
| 162 | PRINT_MACRO(__EXCEPTIONS); |
|---|
| 163 | PRINT_MACRO(__FreeBSD__); |
|---|
| 164 | PRINT_MACRO(__FreeBSD_cc_version); |
|---|
| 165 | PRINT_MACRO(__ELF__); |
|---|
| 166 | PRINT_MACRO(__GNUPRO__); |
|---|
| 167 | PRINT_MACRO(unix); |
|---|
| 168 | PRINT_MACRO(bsd); |
|---|
| 169 | PRINT_MACRO(vax); |
|---|
| 170 | PRINT_MACRO(mc68000); |
|---|
| 171 | PRINT_MACRO(m68k); |
|---|
| 172 | PRINT_MACRO(M68020); |
|---|
| 173 | PRINT_MACRO(_AM29K); |
|---|
| 174 | PRINT_MACRO(ns32000); |
|---|
| 175 | PRINT_MACRO(sun); |
|---|
| 176 | PRINT_MACRO(pyr); |
|---|
| 177 | PRINT_MACRO(sequent); |
|---|
| 178 | PRINT_MACRO(__i386__); |
|---|
| 179 | PRINT_MACRO(__sparc); |
|---|
| 180 | PRINT_MACRO(__sparc__); |
|---|
| 181 | PRINT_MACRO(__powerpc__); |
|---|
| 182 | PRINT_MACRO(__hppa); |
|---|
| 183 | PRINT_MACRO(__CYGWIN__); |
|---|
| 184 | PRINT_MACRO(__MINGW32__); |
|---|
| 185 | // HP aCC: |
|---|
| 186 | PRINT_MACRO(__HP_aCC); |
|---|
| 187 | PRINT_MACRO(_HPACC_); |
|---|
| 188 | PRINT_MACRO(__LP64__); |
|---|
| 189 | PRINT_MACRO(__RISC2_0__); |
|---|
| 190 | PRINT_MACRO(__STDCPP__); |
|---|
| 191 | PRINT_MACRO(__hppa); |
|---|
| 192 | PRINT_MACRO(__hpux); |
|---|
| 193 | PRINT_MACRO(__hp9000s800); |
|---|
| 194 | PRINT_MACRO(__hp9000s700); |
|---|
| 195 | PRINT_MACRO(_PA_RISC1_1); |
|---|
| 196 | PRINT_MACRO(__HPUX_SOURCE); |
|---|
| 197 | // SGI IRIX: |
|---|
| 198 | PRINT_MACRO(__sgi); |
|---|
| 199 | PRINT_MACRO(_COMPILER_VERSION); |
|---|
| 200 | // Sunpro: |
|---|
| 201 | PRINT_MACRO(__SUNPRO_CC); |
|---|
| 202 | PRINT_MACRO(__SUNPRO_CC_COMPAT); |
|---|
| 203 | PRINT_MACRO(__BUILTIN_VA_ARG_INCR); |
|---|
| 204 | PRINT_MACRO(__sun); |
|---|
| 205 | PRINT_MACRO(__SVR4); |
|---|
| 206 | PRINT_MACRO(__unix); |
|---|
| 207 | PRINT_MACRO(__sparcv9); |
|---|
| 208 | PRINT_MACRO(__i386); |
|---|
| 209 | PRINT_MACRO(i386); |
|---|
| 210 | // Metrowerks |
|---|
| 211 | PRINT_MACRO(__MWERKS__); |
|---|
| 212 | PRINT_MACRO(__MSL__); |
|---|
| 213 | PRINT_MACRO(__MSL_CPP__); |
|---|
| 214 | PRINT_MACRO(__A5__); |
|---|
| 215 | PRINT_MACRO(__embedded_cplusplus); |
|---|
| 216 | PRINT_MACRO(__fourbyteints__); |
|---|
| 217 | PRINT_MACRO(__IEEEdoubles__); |
|---|
| 218 | PRINT_MACRO(__MC68K__); |
|---|
| 219 | PRINT_MACRO(__MC68020__); |
|---|
| 220 | PRINT_MACRO(__MC68881__); |
|---|
| 221 | PRINT_MACRO(__MIPS__); |
|---|
| 222 | PRINT_MACRO(__MIPS_ISA2__); |
|---|
| 223 | PRINT_MACRO(__MIPS_ISA3__); |
|---|
| 224 | PRINT_MACRO(__MIPS_ISA4__); |
|---|
| 225 | PRINT_MACRO(__MWBROWSER__); |
|---|
| 226 | PRINT_MACRO(__profile__); |
|---|
| 227 | PRINT_MACRO(__powerc); |
|---|
| 228 | PRINT_MACRO(_powerc); |
|---|
| 229 | PRINT_MACRO(__POWERPC__); |
|---|
| 230 | PRINT_MACRO(macintosh); |
|---|
| 231 | PRINT_MACRO(__MACH__); |
|---|
| 232 | PRINT_MACRO(__APPLE__); |
|---|
| 233 | PRINT_MACRO(__APPLE_CC__); |
|---|
| 234 | // MPW (MrCpp and SCpp) |
|---|
| 235 | PRINT_MACRO(__MRC__); |
|---|
| 236 | PRINT_MACRO(__SC__); |
|---|
| 237 | PRINT_MACRO(__FPCE__); |
|---|
| 238 | PRINT_MACRO(__FPCE_IEEE__); |
|---|
| 239 | PRINT_MACRO(MPW_CPLUS); |
|---|
| 240 | PRINT_MACRO(MPW_C); |
|---|
| 241 | PRINT_MACRO(__MC601); |
|---|
| 242 | PRINT_MACRO(__POWERPC); |
|---|
| 243 | PRINT_MACRO(__useAppleExts__); |
|---|
| 244 | PRINT_MACRO(powerc); |
|---|
| 245 | PRINT_MACRO(MC68000); |
|---|
| 246 | PRINT_MACRO(THINK_PLUS); |
|---|
| 247 | PRINT_MACRO(mc68881); |
|---|
| 248 | PRINT_MACRO(__FAR_CODE__); |
|---|
| 249 | PRINT_MACRO(__FAR_DATA__); |
|---|
| 250 | PRINT_MACRO(__CFM68K__); |
|---|
| 251 | // EDG |
|---|
| 252 | PRINT_MACRO(__EDG__); |
|---|
| 253 | PRINT_MACRO(__EDG_VERSION__); |
|---|
| 254 | PRINT_MACRO(c_plusplus); // indication for strict mode |
|---|
| 255 | PRINT_MACRO(_BOOL); |
|---|
| 256 | PRINT_MACRO(_EXPLICIT); |
|---|
| 257 | PRINT_MACRO(__SIGNED_CHARS__); |
|---|
| 258 | PRINT_MACRO(_TYPENAME); |
|---|
| 259 | PRINT_MACRO(_WCHAR_T); |
|---|
| 260 | PRINT_MACRO(__ARRAY_OPERATORS); |
|---|
| 261 | PRINT_MACRO(__EDG_ABI_COMPATIBILITY_VERSION); |
|---|
| 262 | PRINT_MACRO(__EDG_IMPLICIT_USING_STD); |
|---|
| 263 | PRINT_MACRO(__EDG_RUNTIME_USES_NAMESPACES); |
|---|
| 264 | PRINT_MACRO(__BOOL_DEFINED); |
|---|
| 265 | PRINT_MACRO(__RTTI); |
|---|
| 266 | PRINT_MACRO(__PLACEMENT_DELETE); |
|---|
| 267 | PRINT_MACRO(__NO_LONG_LONG); |
|---|
| 268 | |
|---|
| 269 | // Intel options: |
|---|
| 270 | PRINT_MACRO(__INTEL__); |
|---|
| 271 | PRINT_MACRO(__ICC); |
|---|
| 272 | PRINT_MACRO(__ICL); |
|---|
| 273 | PRINT_MACRO(__ECC); |
|---|
| 274 | PRINT_MACRO(__INTEL_COMPILER); |
|---|
| 275 | PRINT_MACRO(__INITIAL_POINTER_SIZE); |
|---|
| 276 | PRINT_MACRO(_INTEGRAL_MAX_BITS); |
|---|
| 277 | PRINT_MACRO(__INTEL_COMPILER_BUILD_DATE); |
|---|
| 278 | PRINT_MACRO(__INTEL_MS_COMPAT_LEVEL); |
|---|
| 279 | PRINT_MACRO(__LONG_DOUBLE_SIZE__); |
|---|
| 280 | PRINT_MACRO(_M_X64); |
|---|
| 281 | PRINT_MACRO(_OPENMP); |
|---|
| 282 | PRINT_MACRO(_OPENMPT); |
|---|
| 283 | PRINT_MACRO(_PGO_INSTRUMENT); |
|---|
| 284 | PRINT_MACRO(__QMSPP_); |
|---|
| 285 | |
|---|
| 286 | // misc compilers not covered so far: |
|---|
| 287 | PRINT_MACRO(__USLC__); |
|---|
| 288 | PRINT_MACRO(__DECCXX); |
|---|
| 289 | PRINT_MACRO(__IBMCPP__); |
|---|
| 290 | PRINT_MACRO(_REENTRANT); |
|---|
| 291 | PRINT_MACRO(_PTHREADS); |
|---|
| 292 | PRINT_MACRO(__STDC_HOSTED__); |
|---|
| 293 | PRINT_MACRO(__COMO__); |
|---|
| 294 | PRINT_MACRO(__COMO_VERSION__); |
|---|
| 295 | PRINT_MACRO(__DM__); |
|---|
| 296 | PRINT_MACRO(__osf__); |
|---|
| 297 | PRINT_MACRO(__OSF__); |
|---|
| 298 | PRINT_MACRO(__QNXNTO__); |
|---|
| 299 | PRINT_MACRO(__QNX__); |
|---|
| 300 | PRINT_MACRO(_NTO_VERSION); |
|---|
| 301 | } |
|---|
| 302 | |
|---|
| 303 | void print_stdlib_macros() |
|---|
| 304 | { |
|---|
| 305 | std::cout << BOOST_STDLIB << std::endl; |
|---|
| 306 | #ifdef _RWSTD_VER |
|---|
| 307 | // Rogue Wave 2.x config options: |
|---|
| 308 | PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES); |
|---|
| 309 | PRINT_MACRO(_RWSTD_ALLOCATOR); |
|---|
| 310 | PRINT_MACRO(_RWSTD_BAD_ALLOC_DEFINED); |
|---|
| 311 | PRINT_MACRO(_RWSTD_BAD_EXCEPTION_DEFINED); |
|---|
| 312 | PRINT_MACRO(_RWSTD_BOUNDS_CHECKING); |
|---|
| 313 | PRINT_MACRO(_RWSTD_COMPILE_INSTANTIATE); |
|---|
| 314 | PRINT_MACRO(_RWSTD_DEFAULT_PRECISION); |
|---|
| 315 | PRINT_MACRO(_RWSTD_EXCEPTION_DEFINED); |
|---|
| 316 | PRINT_MACRO(_RWSTD_EXCEPTION_HANDLER_IN_STD); |
|---|
| 317 | PRINT_MACRO(_RWSTD_EXCEPTION_PREDEFINED); |
|---|
| 318 | PRINT_MACRO(_RWSTD_FLT_ROUNDS_IS_CONSTANT); |
|---|
| 319 | PRINT_MACRO(_RWSTD_LOCALIZED_ERRORS); |
|---|
| 320 | PRINT_MACRO(_RWSTD_MESSAGE); |
|---|
| 321 | PRINT_MACRO(_RWSTD_MUTEXATTR_DEFAULT); |
|---|
| 322 | PRINT_MACRO(_RWSTD_NO_ANSI_SPRINTF); |
|---|
| 323 | PRINT_MACRO(_RWSTD_NO_ARG_MATCH); |
|---|
| 324 | PRINT_MACRO(_RWSTD_NO_BAD_CAST); |
|---|
| 325 | PRINT_MACRO(_RWSTD_NO_BASE_CLASS_MATCH); |
|---|
| 326 | PRINT_MACRO(_RWSTD_NO_BOOL); |
|---|
| 327 | PRINT_MACRO(_RWSTD_NO_BUILTIN_CTOR); |
|---|
| 328 | PRINT_MACRO(_RWSTD_NO_CATOPEN_CATGETS); |
|---|
| 329 | PRINT_MACRO(_RWSTD_NO_CLASS_PARTIAL_SPEC); |
|---|
| 330 | PRINT_MACRO(_RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES); |
|---|
| 331 | PRINT_MACRO(_RWSTD_NO_COMPLICATED_EXCEPTIONS); |
|---|
| 332 | PRINT_MACRO(_RWSTD_NO_COMPLICATED_TYPEDEF); |
|---|
| 333 | PRINT_MACRO(_RWSTD_NO_CONST_INST); |
|---|
| 334 | PRINT_MACRO(_RWSTD_NO_CTOR_RETURN); |
|---|
| 335 | PRINT_MACRO(_RWSTD_NO_DEFAULT_FOR_TPARAM); |
|---|
| 336 | PRINT_MACRO(_RWSTD_NO_DEFAULT_TEMPLATE_ARGS); |
|---|
| 337 | PRINT_MACRO(_RWSTD_NO_DESTROY_BUILTIN); |
|---|
| 338 | PRINT_MACRO(_RWSTD_NO_DESTROY_NONBUILTIN); |
|---|
| 339 | PRINT_MACRO(_RWSTD_NO_EMBEDDED_TYPEDEF); |
|---|
| 340 | PRINT_MACRO(_RWSTD_NO_EX_SPEC); |
|---|
| 341 | PRINT_MACRO(_RWSTD_NO_EXCEPTIONS); |
|---|
| 342 | PRINT_MACRO(_RWSTD_NO_EXPLICIT); |
|---|
| 343 | PRINT_MACRO(_RWSTD_NO_EXPLICIT_ARG); |
|---|
| 344 | PRINT_MACRO(_RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION); |
|---|
| 345 | PRINT_MACRO(_RWSTD_NO_EXPLICIT_INSTANTIATION); |
|---|
| 346 | PRINT_MACRO(_RWSTD_NO_EXTENSION); |
|---|
| 347 | PRINT_MACRO(_RWSTD_NO_FORWARD_SPECIALIZATIONS); |
|---|
| 348 | PRINT_MACRO(_RWSTD_NO_FPOS_T); |
|---|
| 349 | PRINT_MACRO(_RWSTD_NO_FRIEND_TEMPLATES); |
|---|
| 350 | PRINT_MACRO(_RWSTD_NO_FUNC_PARTIAL_SPEC); |
|---|
| 351 | PRINT_MACRO(_RWSTD_NO_GETTIMEOFDAY); |
|---|
| 352 | PRINT_MACRO(_RWSTD_NO_GLOBAL_TZ); |
|---|
| 353 | PRINT_MACRO(_RWSTD_NO_INHERITED_TYPEDEFS); |
|---|
| 354 | PRINT_MACRO(_RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG); |
|---|
| 355 | PRINT_MACRO(_RWSTD_NO_INT_TYPEDEF); |
|---|
| 356 | PRINT_MACRO(_RWSTD_NO_LDIV); |
|---|
| 357 | PRINT_MACRO(_RWSTD_NO_LEADING_UNDERSCORE); |
|---|
| 358 | PRINT_MACRO(_RWSTD_NO_LOCALE); |
|---|
| 359 | PRINT_MACRO(_RWSTD_NO_LONG_NAME); |
|---|
| 360 | PRINT_MACRO(_RWSTD_NO_LONGDOUBLE); |
|---|
| 361 | PRINT_MACRO(_RWSTD_NO_MBSTATE_T); |
|---|
| 362 | PRINT_MACRO(_RWSTD_NO_MEM_CLASS_TEMPLATES); |
|---|
| 363 | PRINT_MACRO(_RWSTD_NO_MEMBER_TEMPLATES); |
|---|
| 364 | PRINT_MACRO(_RWSTD_NO_MEMBER_TYPE_TPARAM); |
|---|
| 365 | PRINT_MACRO(_RWSTD_NO_MEMBER_WO_DEF_CTOR); |
|---|
| 366 | PRINT_MACRO(_RWSTD_NO_MEMMOVE); |
|---|
| 367 | PRINT_MACRO(_RWSTD_NO_MULTI_DIM_ARRAY); |
|---|
| 368 | PRINT_MACRO(_RWSTD_NO_MUTABLE); |
|---|
| 369 | PRINT_MACRO(_RWSTD_NO_NAME_INJECTION); |
|---|
| 370 | PRINT_MACRO(_RWSTD_NO_NAMESPACE); |
|---|
| 371 | PRINT_MACRO(_RWSTD_NO_NESTING_TEMPLATES); |
|---|
| 372 | PRINT_MACRO(_RWSTD_NO_NEW_BRACKETS); |
|---|
| 373 | PRINT_MACRO(_RWSTD_NO_NEW_DECL); |
|---|
| 374 | PRINT_MACRO(_RWSTD_NO_NEW_HEADER); |
|---|
| 375 | PRINT_MACRO(_RWSTD_NO_NEW_TEMPLATE_SYNTAX); |
|---|
| 376 | PRINT_MACRO(_RWSTD_NO_NONCLASS_ARROW_RETURN); |
|---|
| 377 | PRINT_MACRO(_RWSTD_NO_NONTYPE_ARGS); |
|---|
| 378 | PRINT_MACRO(_RWSTD_NO_ONLY_NEEDED_INSTANTIATION); |
|---|
| 379 | PRINT_MACRO(_RWSTD_NO_OVERLOAD_C_POW); |
|---|
| 380 | PRINT_MACRO(_RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION); |
|---|
| 381 | PRINT_MACRO(_RWSTD_NO_OVERLOAD_WCHAR); |
|---|
| 382 | PRINT_MACRO(_RWSTD_NO_PART_SPEC_OVERLOAD); |
|---|
| 383 | PRINT_MACRO(_RWSTD_NO_RET_TEMPLATE); |
|---|
| 384 | PRINT_MACRO(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES); |
|---|
| 385 | PRINT_MACRO(_RWSTD_NO_STATIC_CAST); |
|---|
| 386 | PRINT_MACRO(_RWSTD_NO_STATIC_DEF); |
|---|
| 387 | PRINT_MACRO(_RWSTD_NO_STATIC_DEF2); |
|---|
| 388 | PRINT_MACRO(_RWSTD_NO_STATIC_DEF3); |
|---|
| 389 | PRINT_MACRO(_RWSTD_NO_STATIC_MEM_DEF); |
|---|
| 390 | PRINT_MACRO(_RWSTD_NO_STI_SIMPLE); |
|---|
| 391 | PRINT_MACRO(_RWSTD_NO_STI_TEMPLATE); |
|---|
| 392 | PRINT_MACRO(_RWSTD_NO_STREAM_LONG_DOUBLE); |
|---|
| 393 | PRINT_MACRO(_RWSTD_NO_STRFTIME_CAPC); |
|---|
| 394 | PRINT_MACRO(_RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE); |
|---|
| 395 | PRINT_MACRO(_RWSTD_NO_SWPRINTF); |
|---|
| 396 | PRINT_MACRO(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE); |
|---|
| 397 | PRINT_MACRO(_RWSTD_NO_TEMPLATE_TEMPLATE); |
|---|
| 398 | PRINT_MACRO(_RWSTD_NO_THREADS); |
|---|
| 399 | PRINT_MACRO(_RWSTD_NO_THROW_SPEC_ON_NEW); |
|---|
| 400 | PRINT_MACRO(_RWSTD_NO_THROW_WITH_SHARED); |
|---|
| 401 | PRINT_MACRO(_RWSTD_NO_TYPEDEF_INST); |
|---|
| 402 | PRINT_MACRO(_RWSTD_NO_TYPEDEF_OVERLOAD); |
|---|
| 403 | PRINT_MACRO(_RWSTD_NO_TYPENAME); |
|---|
| 404 | PRINT_MACRO(_RWSTD_NO_UNDEFINED_FRIEND); |
|---|
| 405 | PRINT_MACRO(_RWSTD_NO_UNINITIALIZED_STATIC_DEF); |
|---|
| 406 | PRINT_MACRO(_RWSTD_NO_WCHAR_H); |
|---|
| 407 | PRINT_MACRO(_RWSTD_NO_WCTYPE_H); |
|---|
| 408 | PRINT_MACRO(_RWSTD_NO_WIDE_CHAR); |
|---|
| 409 | PRINT_MACRO(_RWSTD_NO_WINT_TYPE); |
|---|
| 410 | PRINT_MACRO(_RWSTD_NO_WSTR); |
|---|
| 411 | PRINT_MACRO(_RWSTD_NOT_ALL_WSTR_CFUNCTIONS); |
|---|
| 412 | PRINT_MACRO(_RWSTD_POSIX_D10_THREADS); |
|---|
| 413 | PRINT_MACRO(_RWSTD_POSIX_THREADS); |
|---|
| 414 | PRINT_MACRO(_RWSTD_REQUIRES_IEEEFP); |
|---|
| 415 | PRINT_MACRO(_RWSTD_SOLARIS_THREADS); |
|---|
| 416 | PRINT_MACRO(_RWSTD_STRUCT_TM_TZ); |
|---|
| 417 | PRINT_MACRO(_RWSTD_WIDE_STRING_NULL_PROBLEM); |
|---|
| 418 | #elif defined(__STD_RWCOMPILER_H__) |
|---|
| 419 | // Rogue Wave 1.x std lib: |
|---|
| 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 | #endif |
|---|
| 531 | // Dinkumware options: |
|---|
| 532 | PRINT_MACRO(_CPPLIB_VER); |
|---|
| 533 | PRINT_MACRO(_GLOBAL_USING); |
|---|
| 534 | PRINT_MACRO(_HAS_EXCEPTIONS); |
|---|
| 535 | PRINT_MACRO(_HAS_MEMBER_TEMPLATES_REBIND); |
|---|
| 536 | PRINT_MACRO(_HAS_TEMPLATE_PARTIAL_ORDERING); |
|---|
| 537 | // STLPort and generic SGI STL options: |
|---|
| 538 | PRINT_MACRO(__SGI_STL_NO_ARROW_OPERATOR); |
|---|
| 539 | PRINT_MACRO(__SGI_STL_OWN_IOSTREAMS); |
|---|
| 540 | PRINT_MACRO(__SGI_STL_PORT); |
|---|
| 541 | PRINT_MACRO(__STL_AUTOMATIC_TYPE_TRAITS); |
|---|
| 542 | PRINT_MACRO(__STL_BASE_MATCH_BUG); |
|---|
| 543 | PRINT_MACRO(__STL_BASE_TYPEDEF_BUG); |
|---|
| 544 | PRINT_MACRO(__STL_BASE_TYPEDEF_OUTSIDE_BUG); |
|---|
| 545 | PRINT_MACRO(__STL_BROKEN_USING_DIRECTIVE); |
|---|
| 546 | PRINT_MACRO(__STL_CONST_CONSTRUCTOR_BUG); |
|---|
| 547 | PRINT_MACRO(__STL_DEBUG); |
|---|
| 548 | PRINT_MACRO(__STL_DEBUG_ALLOC); |
|---|
| 549 | PRINT_MACRO(__STL_DEFAULT_CONSTRUCTOR_BUG); |
|---|
| 550 | PRINT_MACRO(__STL_DEFAULT_TYPE_PARAM); |
|---|
| 551 | PRINT_MACRO(__STL_DONT_REDEFINE_STD); |
|---|
| 552 | PRINT_MACRO(__STL_DONT_USE_BOOL_TYPEDEF); |
|---|
| 553 | PRINT_MACRO(__STL_HAS_NO_EXCEPTIONS); |
|---|
| 554 | PRINT_MACRO(__STL_HAS_NO_NAMESPACES); |
|---|
| 555 | PRINT_MACRO(__STL_HAS_NO_NEW_C_HEADERS); |
|---|
| 556 | PRINT_MACRO(__STL_HAS_NO_NEW_IOSTREAMS); |
|---|
| 557 | PRINT_MACRO(__STL_IMPORT_VENDOR_CSTD); |
|---|
| 558 | PRINT_MACRO(__STL_LIMITED_DEFAULT_TEMPLATES); |
|---|
| 559 | PRINT_MACRO(__STL_LINK_TIME_INSTANTIATION); |
|---|
| 560 | PRINT_MACRO(__STL_LONG_LONG); |
|---|
| 561 | PRINT_MACRO(__STL_LOOP_INLINE_PROBLEMS); |
|---|
| 562 | PRINT_MACRO(__STL_MEMBER_POINTER_PARAM_BUG); |
|---|
| 563 | PRINT_MACRO(__STL_NEED_EXPLICIT); |
|---|
| 564 | PRINT_MACRO(__STL_NEED_MUTABLE); |
|---|
| 565 | PRINT_MACRO(__STL_NEED_TYPENAME); |
|---|
| 566 | PRINT_MACRO(__STL_NESTED_TYPE_PARAM_BUG); |
|---|
| 567 | PRINT_MACRO(__STL_NO_BAD_ALLOC); |
|---|
| 568 | PRINT_MACRO(__STL_NO_BOOL); |
|---|
| 569 | PRINT_MACRO(__STL_NO_CLASS_PARTIAL_SPECIALIZATION); |
|---|
| 570 | PRINT_MACRO(__STL_NO_CSTD_FUNCTION_IMPORTS); |
|---|
| 571 | PRINT_MACRO(__STL_NO_DEFAULT_NON_TYPE_PARAM); |
|---|
| 572 | PRINT_MACRO(__STL_NO_EXCEPTION_HEADER); |
|---|
| 573 | PRINT_MACRO(__STL_NO_EXCEPTION_SPEC); |
|---|
| 574 | PRINT_MACRO(__STL_NO_EXCEPTIONS); |
|---|
| 575 | PRINT_MACRO(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS); |
|---|
| 576 | PRINT_MACRO(__STL_NO_FRIEND_TEMPLATES); |
|---|
| 577 | PRINT_MACRO(__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER); |
|---|
| 578 | PRINT_MACRO(__STL_NO_IOSTREAMS); |
|---|
| 579 | PRINT_MACRO(__STL_NO_LONG_DOUBLE); |
|---|
| 580 | PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_CLASSES); |
|---|
| 581 | PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_KEYWORD); |
|---|
| 582 | PRINT_MACRO(__STL_NO_MEMBER_TEMPLATES); |
|---|
| 583 | PRINT_MACRO(__STL_NO_METHOD_SPECIALIZATION); |
|---|
| 584 | PRINT_MACRO(__STL_NO_NAMESPACES); |
|---|
| 585 | PRINT_MACRO(__STL_NO_NEW_IOSTREAMS); |
|---|
| 586 | PRINT_MACRO(__STL_NO_NEW_NEW_HEADER); |
|---|
| 587 | PRINT_MACRO(__STL_NO_NEW_STYLE_CASTS); |
|---|
| 588 | PRINT_MACRO(__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX); |
|---|
| 589 | PRINT_MACRO(__STL_NO_QUALIFIED_FRIENDS); |
|---|
| 590 | PRINT_MACRO(__STL_NO_RELOPS_NAMESPACE); |
|---|
| 591 | PRINT_MACRO(__STL_NO_SGI_IOSTREAMS); |
|---|
| 592 | PRINT_MACRO(__STL_NO_STATIC_TEMPLATE_DATA); |
|---|
| 593 | PRINT_MACRO(__STL_NO_TEMPLATE_CONVERSIONS); |
|---|
| 594 | PRINT_MACRO(__STL_NO_WCHAR_T); |
|---|
| 595 | PRINT_MACRO(__STL_NON_TYPE_TMPL_PARAM_BUG); |
|---|
| 596 | PRINT_MACRO(__STL_NONTEMPL_BASE_MATCH_BUG); |
|---|
| 597 | PRINT_MACRO(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS); |
|---|
| 598 | PRINT_MACRO(__STL_RAND48); |
|---|
| 599 | PRINT_MACRO(__STL_STATIC_ARRAY_BUG); |
|---|
| 600 | PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG); |
|---|
| 601 | PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG); |
|---|
| 602 | PRINT_MACRO(__STL_THROW_RETURN_BUG); |
|---|
| 603 | PRINT_MACRO(__STL_TRIVIAL_CONSTRUCTOR_BUG); |
|---|
| 604 | PRINT_MACRO(__STL_TRIVIAL_DESTRUCTOR_BUG); |
|---|
| 605 | PRINT_MACRO(__STL_UNINITIALIZABLE_PRIVATE); |
|---|
| 606 | PRINT_MACRO(__STL_USE_ABBREVS); |
|---|
| 607 | PRINT_MACRO(__STL_USE_DEFALLOC); |
|---|
| 608 | PRINT_MACRO(__STL_USE_MALLOC); |
|---|
| 609 | PRINT_MACRO(__STL_USE_NEW_C_HEADERS); |
|---|
| 610 | PRINT_MACRO(__STL_USE_NEW_IOSTREAMS); |
|---|
| 611 | PRINT_MACRO(__STL_USE_NEWALLOC); |
|---|
| 612 | PRINT_MACRO(__STL_USE_OWN_NAMESPACE); |
|---|
| 613 | PRINT_MACRO(__STL_USE_SGI_ALLOCATORS); |
|---|
| 614 | PRINT_MACRO(__STL_WCHAR_T_IS_USHORT); |
|---|
| 615 | PRINT_MACRO(__STL_WEAK_ATTRIBUTE); |
|---|
| 616 | PRINT_MACRO(__STL_YVALS_H); |
|---|
| 617 | PRINT_MACRO(_NOTHREADS); |
|---|
| 618 | PRINT_MACRO(_PTHREADS); |
|---|
| 619 | #if defined(__SGI_STL_PORT) && (__SGI_STL_PORT > 0x0400) |
|---|
| 620 | PRINT_MACRO(_STLP_AUTOMATIC_TYPE_TRAITS); |
|---|
| 621 | PRINT_MACRO(_STLP_BASE_MATCH_BUG); |
|---|
| 622 | PRINT_MACRO(_STLP_BASE_TYPEDEF_BUG); |
|---|
| 623 | PRINT_MACRO(_STLP_BASE_TYPEDEF_OUTSIDE_BUG); |
|---|
| 624 | PRINT_MACRO(_STLP_BROKEN_USING_DIRECTIVE); |
|---|
| 625 | PRINT_MACRO(_STLP_CONST_CONSTRUCTOR_BUG); |
|---|
| 626 | PRINT_MACRO(_STLP_DEBUG); |
|---|
| 627 | PRINT_MACRO(_STLP_DEBUG_ALLOC); |
|---|
| 628 | PRINT_MACRO(_STLP_DEFAULT_CONSTRUCTOR_BUG); |
|---|
| 629 | PRINT_MACRO(_STLP_DEFAULT_TYPE_PARAM); |
|---|
| 630 | PRINT_MACRO(_STLP_DONT_REDEFINE_STD); |
|---|
| 631 | PRINT_MACRO(_STLP_DONT_USE_BOOL_TYPEDEF); |
|---|
| 632 | PRINT_MACRO(_STLP_HAS_NO_EXCEPTIONS); |
|---|
| 633 | PRINT_MACRO(_STLP_HAS_NO_NAMESPACES); |
|---|
| 634 | PRINT_MACRO(_STLP_HAS_NO_NEW_C_HEADERS); |
|---|
| 635 | PRINT_MACRO(_STLP_HAS_NO_NEW_IOSTREAMS); |
|---|
| 636 | PRINT_MACRO(_STLP_IMPORT_VENDOR_CSTD); |
|---|
| 637 | PRINT_MACRO(_STLP_LIMITED_DEFAULT_TEMPLATES); |
|---|
| 638 | PRINT_MACRO(_STLP_LINK_TIME_INSTANTIATION); |
|---|
| 639 | PRINT_MACRO(_STLP_LONG_LONG); |
|---|
| 640 | PRINT_MACRO(_STLP_LOOP_INLINE_PROBLEMS); |
|---|
| 641 | PRINT_MACRO(_STLP_MEMBER_POINTER_PARAM_BUG); |
|---|
| 642 | PRINT_MACRO(_STLP_NEED_EXPLICIT); |
|---|
| 643 | PRINT_MACRO(_STLP_NEED_MUTABLE); |
|---|
| 644 | PRINT_MACRO(_STLP_NEED_TYPENAME); |
|---|
| 645 | PRINT_MACRO(_STLP_NESTED_TYPE_PARAM_BUG); |
|---|
| 646 | PRINT_MACRO(_STLP_NO_ARROW_OPERATOR); |
|---|
| 647 | PRINT_MACRO(_STLP_NO_BAD_ALLOC); |
|---|
| 648 | PRINT_MACRO(_STLP_NO_BOOL); |
|---|
| 649 | PRINT_MACRO(_STLP_NO_CLASS_PARTIAL_SPECIALIZATION); |
|---|
| 650 | PRINT_MACRO(_STLP_NO_CSTD_FUNCTION_IMPORTS); |
|---|
| 651 | PRINT_MACRO(_STLP_NO_DEFAULT_NON_TYPE_PARAM); |
|---|
| 652 | PRINT_MACRO(_STLP_NO_EXCEPTION_HEADER); |
|---|
| 653 | PRINT_MACRO(_STLP_NO_EXCEPTION_SPEC); |
|---|
| 654 | PRINT_MACRO(_STLP_NO_EXCEPTIONS); |
|---|
| 655 | PRINT_MACRO(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS); |
|---|
| 656 | PRINT_MACRO(_STLP_NO_FRIEND_TEMPLATES); |
|---|
| 657 | PRINT_MACRO(_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER); |
|---|
| 658 | PRINT_MACRO(_STLP_NO_IOSTREAMS); |
|---|
| 659 | PRINT_MACRO(_STLP_NO_LONG_DOUBLE); |
|---|
| 660 | PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_CLASSES); |
|---|
| 661 | PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_KEYWORD); |
|---|
| 662 | PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATES); |
|---|
| 663 | PRINT_MACRO(_STLP_NO_METHOD_SPECIALIZATION); |
|---|
| 664 | PRINT_MACRO(_STLP_NO_NAMESPACES); |
|---|
| 665 | PRINT_MACRO(_STLP_NO_NEW_IOSTREAMS); |
|---|
| 666 | PRINT_MACRO(_STLP_NO_NEW_NEW_HEADER); |
|---|
| 667 | PRINT_MACRO(_STLP_NO_NEW_STYLE_CASTS); |
|---|
| 668 | PRINT_MACRO(_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX); |
|---|
| 669 | PRINT_MACRO(_STLP_NO_QUALIFIED_FRIENDS); |
|---|
| 670 | PRINT_MACRO(_STLP_NO_RELOPS_NAMESPACE); |
|---|
| 671 | PRINT_MACRO(_STLP_NO_SGI_IOSTREAMS); |
|---|
| 672 | PRINT_MACRO(_STLP_NO_STATIC_TEMPLATE_DATA); |
|---|
| 673 | PRINT_MACRO(_STLP_NO_TEMPLATE_CONVERSIONS); |
|---|
| 674 | PRINT_MACRO(_STLP_NO_WCHAR_T); |
|---|
| 675 | PRINT_MACRO(_STLP_NON_TYPE_TMPL_PARAM_BUG); |
|---|
| 676 | PRINT_MACRO(_STLP_NONTEMPL_BASE_MATCH_BUG); |
|---|
| 677 | PRINT_MACRO(_STLP_OWN_IOSTREAMS); |
|---|
| 678 | PRINT_MACRO(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS); |
|---|
| 679 | PRINT_MACRO(_STLP_RAND48); |
|---|
| 680 | PRINT_MACRO(_STLP_STATIC_ARRAY_BUG); |
|---|
| 681 | PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG); |
|---|
| 682 | PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG); |
|---|
| 683 | PRINT_MACRO(_STLP_THROW_RETURN_BUG); |
|---|
| 684 | PRINT_MACRO(_STLP_TRIVIAL_CONSTRUCTOR_BUG); |
|---|
| 685 | PRINT_MACRO(_STLP_TRIVIAL_DESTRUCTOR_BUG); |
|---|
| 686 | PRINT_MACRO(_STLP_UNINITIALIZABLE_PRIVATE); |
|---|
| 687 | PRINT_MACRO(_STLP_USE_ABBREVS); |
|---|
| 688 | PRINT_MACRO(_STLP_USE_DEFALLOC); |
|---|
| 689 | PRINT_MACRO(_STLP_USE_MALLOC); |
|---|
| 690 | PRINT_MACRO(_STLP_USE_NEW_C_HEADERS); |
|---|
| 691 | PRINT_MACRO(_STLP_USE_NEWALLOC); |
|---|
| 692 | PRINT_MACRO(_STLP_USE_OWN_NAMESPACE); |
|---|
| 693 | PRINT_MACRO(_STLP_USE_SGI_ALLOCATORS); |
|---|
| 694 | PRINT_MACRO(_STLP_WCHAR_T_IS_USHORT); |
|---|
| 695 | PRINT_MACRO(_STLP_WEAK_ATTRIBUTE); |
|---|
| 696 | PRINT_MACRO(_STLP_YVALS_H); |
|---|
| 697 | #endif |
|---|
| 698 | PRINT_MACRO(__GLIBCPP__); |
|---|
| 699 | PRINT_MACRO(_GLIBCPP_USE_WCHAR_T); |
|---|
| 700 | PRINT_MACRO(_GLIBCPP_VERSION); |
|---|
| 701 | PRINT_MACRO(__GLIBCXX__); |
|---|
| 702 | PRINT_MACRO(_GLIBCXX_USE_WCHAR_T); |
|---|
| 703 | PRINT_MACRO(_GLIBCXX_VERSION); |
|---|
| 704 | PRINT_MACRO(_GLIBCXX_USE_LONG_LONG); |
|---|
| 705 | PRINT_MACRO(_GLIBCXX_USE_NLS); |
|---|
| 706 | PRINT_MACRO(_GLIBCXX_USE_C99_MATH); |
|---|
| 707 | PRINT_MACRO(_GLIBCXX_USE_C99); |
|---|
| 708 | PRINT_MACRO(_GLIBCXX_CONCEPT_CHECKS); |
|---|
| 709 | PRINT_MACRO(_GLIBCXX_USE_LFS); |
|---|
| 710 | PRINT_MACRO(_GLIBCXX_SYMVER); |
|---|
| 711 | PRINT_MACRO(_GLIBCXX_MEM_LIMITS); |
|---|
| 712 | PRINT_MACRO(_GLIBCXX_HOSTED); |
|---|
| 713 | PRINT_MACRO(_GLIBCXX_SJLJ_EXCEPTIONS); |
|---|
| 714 | |
|---|
| 715 | // Modena C++ standard library |
|---|
| 716 | PRINT_MACRO(MSIPL_ANSI_HEADER); |
|---|
| 717 | PRINT_MACRO(MSIPL_BOOL_BUILTIN); |
|---|
| 718 | PRINT_MACRO(MSIPL_DEF_EXPLICIT); |
|---|
| 719 | PRINT_MACRO(MSIPL_DEF_TEMPARG); |
|---|
| 720 | PRINT_MACRO(MSIPL_EXPINST_ALLOWED); |
|---|
| 721 | PRINT_MACRO(MSIPL_EXPLICIT_FUNC_TEMPLATE_ARG); |
|---|
| 722 | PRINT_MACRO(MISPL_EXPLICIT_TEMPLATE_ARGUMENT); |
|---|
| 723 | PRINT_MACRO(MSIPL_FUNC_TEMPLATE_DEFARG); |
|---|
| 724 | PRINT_MACRO(MSIPL_MEMBER_TEMPLATE); |
|---|
| 725 | PRINT_MACRO(MSIPL_MULTITHREAD); |
|---|
| 726 | PRINT_MACRO(MSIPL_NON_TYPE_TEMPARG); |
|---|
| 727 | PRINT_MACRO(MSIPL_PARTIAL_TEMPL); |
|---|
| 728 | PRINT_MACRO(MSIPL_STATIC_CONST_INIT); |
|---|
| 729 | PRINT_MACRO(MSIPL_TEMPL_NEWSPEC); |
|---|
| 730 | PRINT_MACRO(MSIPL_TYPENAME); |
|---|
| 731 | PRINT_MACRO(MSIPL_USING_NAMESPACE); |
|---|
| 732 | PRINT_MACRO(MSIPL_WCHART); |
|---|
| 733 | } |
|---|
| 734 | |
|---|
| 735 | void print_platform_macros() |
|---|
| 736 | { |
|---|
| 737 | std::cout << "Detected Platform: " << BOOST_PLATFORM << std::endl; |
|---|
| 738 | // signedness: |
|---|
| 739 | PRINT_SIGN(char); |
|---|
| 740 | PRINT_SIGN(wchar_t); |
|---|
| 741 | // byte ordering: |
|---|
| 742 | PRINT_ORDER(short); |
|---|
| 743 | PRINT_ORDER(int); |
|---|
| 744 | PRINT_ORDER(long); |
|---|
| 745 | // sizes: |
|---|
| 746 | PRINT_EXPRESSION(sizeof(wchar_t)); |
|---|
| 747 | PRINT_EXPRESSION(sizeof(short)); |
|---|
| 748 | PRINT_EXPRESSION(sizeof(int)); |
|---|
| 749 | PRINT_EXPRESSION(sizeof(long)); |
|---|
| 750 | PRINT_EXPRESSION(sizeof(size_t)); |
|---|
| 751 | PRINT_EXPRESSION(sizeof(ptrdiff_t)); |
|---|
| 752 | PRINT_EXPRESSION(sizeof(void*)); |
|---|
| 753 | PRINT_EXPRESSION(sizeof(void(*)(void))); |
|---|
| 754 | PRINT_EXPRESSION(sizeof(float)); |
|---|
| 755 | PRINT_EXPRESSION(sizeof(double)); |
|---|
| 756 | PRINT_EXPRESSION(sizeof(long double)); |
|---|
| 757 | // limits: |
|---|
| 758 | PRINT_MACRO(CHAR_BIT); |
|---|
| 759 | PRINT_MACRO(CHAR_MAX); |
|---|
| 760 | PRINT_MACRO(WCHAR_MAX); |
|---|
| 761 | PRINT_MACRO(SHRT_MAX); |
|---|
| 762 | PRINT_MACRO(INT_MAX); |
|---|
| 763 | PRINT_MACRO(LONG_MAX); |
|---|
| 764 | PRINT_MACRO(LLONG_MAX); |
|---|
| 765 | PRINT_MACRO(LONG_LONG_MAX); |
|---|
| 766 | PRINT_MACRO(LONGLONG_MAX); |
|---|
| 767 | PRINT_MACRO(ULLONG_MAX); // <boost/cstdint.hpp> uses these, so we need to know them |
|---|
| 768 | PRINT_MACRO(ULONG_LONG_MAX); |
|---|
| 769 | PRINT_MACRO(ULONGLONG_MAX); |
|---|
| 770 | // general C99: |
|---|
| 771 | PRINT_MACRO(__STDC_IEC_559__); |
|---|
| 772 | PRINT_MACRO(__STDC_IEC_559_COMPLEX__); |
|---|
| 773 | PRINT_MACRO(__STDC_ISO_10646__); |
|---|
| 774 | // GNU: |
|---|
| 775 | PRINT_MACRO(__GLIBC__); |
|---|
| 776 | PRINT_MACRO(__GLIBC_MINOR__); |
|---|
| 777 | PRINT_MACRO(__GNU_LIBRARY__); |
|---|
| 778 | PRINT_MACRO(_BSD_SOURCE); |
|---|
| 779 | PRINT_MACRO(_GNU_SOURCE); |
|---|
| 780 | PRINT_MACRO(_ISOC99_SOURCE); |
|---|
| 781 | PRINT_MACRO(_ISOC9X_SOURCE); |
|---|
| 782 | PRINT_MACRO(_LARGEFILE_SOURCE); |
|---|
| 783 | PRINT_MACRO(_LARGEFILE64_SOURCE); |
|---|
| 784 | PRINT_MACRO(_SVID_SOURCE); |
|---|
| 785 | PRINT_MACRO(_THREAD_SAFE); |
|---|
| 786 | PRINT_MACRO(_XOPEN_SOURCE_EXTENDED); |
|---|
| 787 | PRINT_MACRO(XPG); |
|---|
| 788 | // POSIX: |
|---|
| 789 | PRINT_MACRO(_POSIX_ADVISORY_INFO); |
|---|
| 790 | PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO); |
|---|
| 791 | PRINT_MACRO(_POSIX_BARRIERS); |
|---|
| 792 | PRINT_MACRO(_POSIX_C_SOURCE); |
|---|
| 793 | PRINT_MACRO(_POSIX_CHOWN_RESTRICTED); |
|---|
| 794 | PRINT_MACRO(_POSIX_CLOCK_SELECTION); |
|---|
| 795 | PRINT_MACRO(_POSIX_CPUTIME); |
|---|
| 796 | PRINT_MACRO(_POSIX_FSYNC); |
|---|
| 797 | PRINT_MACRO(_POSIX_JOB_CONTROL); |
|---|
| 798 | PRINT_MACRO(_POSIX_MAPPED_FILES); |
|---|
| 799 | PRINT_MACRO(_POSIX_MEMLOCK); |
|---|
| 800 | PRINT_MACRO(_POSIX_MEMLOCK_RANGE); |
|---|
| 801 | PRINT_MACRO(_POSIX_MEMORY_PROTECTION); |
|---|
| 802 | PRINT_MACRO(_POSIX_MESSAGE_PASSING); |
|---|
| 803 | PRINT_MACRO(_POSIX_MONOTONIC_CLOCK); |
|---|
| 804 | PRINT_MACRO(_POSIX_NO_TRUNC); |
|---|
| 805 | PRINT_MACRO(_POSIX_PRIORITIZED_IO); |
|---|
| 806 | PRINT_MACRO(_POSIX_PRIORITY_SCHEDULING); |
|---|
| 807 | PRINT_MACRO(_POSIX_RAW_SOCKETS); |
|---|
| 808 | PRINT_MACRO(_POSIX_READER_WRITER_LOCKS); |
|---|
| 809 | PRINT_MACRO(_POSIX_REALTIME_SIGNALS); |
|---|
| 810 | PRINT_MACRO(_POSIX_REGEXP); |
|---|
| 811 | PRINT_MACRO(_POSIX_SAVED_IDS); |
|---|
| 812 | PRINT_MACRO(_POSIX_SEMAPHORES); |
|---|
| 813 | PRINT_MACRO(_POSIX_SHARED_MEMORY_OBJECTS); |
|---|
| 814 | PRINT_MACRO(_POSIX_SHELL); |
|---|
| 815 | PRINT_MACRO(_POSIX_SOURCE); |
|---|
| 816 | PRINT_MACRO(_POSIX_SPAWN); |
|---|
| 817 | PRINT_MACRO(_POSIX_SPIN_LOCKS); |
|---|
| 818 | PRINT_MACRO(_POSIX_SPORADIC_SERVER); |
|---|
| 819 | PRINT_MACRO(_POSIX_SYNCHRONIZED_IO); |
|---|
| 820 | PRINT_MACRO(_POSIX_THREAD_ATTR_STACKADDR); |
|---|
| 821 | PRINT_MACRO(_POSIX_THREAD_ATTR_STACKSIZE); |
|---|
| 822 | PRINT_MACRO(_POSIX_THREAD_CPUTIME); |
|---|
| 823 | PRINT_MACRO(_POSIX_THREAD_PRIO_INHERIT); |
|---|
| 824 | PRINT_MACRO(_POSIX_THREAD_PRIO_PROTECT); |
|---|
| 825 | PRINT_MACRO(_POSIX_THREAD_PRIORITY_SCHEDULING); |
|---|
| 826 | PRINT_MACRO(_POSIX_THREAD_PROCESS_SHARED); |
|---|
| 827 | PRINT_MACRO(_POSIX_THREAD_SAFE_FUNCTIONS); |
|---|
| 828 | PRINT_MACRO(_POSIX_THREAD_SPORADIC_SERVER); |
|---|
| 829 | PRINT_MACRO(_POSIX_THREADS); |
|---|
| 830 | PRINT_MACRO(_POSIX_TIMEOUTS); |
|---|
| 831 | PRINT_MACRO(_POSIX_TIMERS); |
|---|
| 832 | PRINT_MACRO(_POSIX_TRACE); |
|---|
| 833 | PRINT_MACRO(_POSIX_TRACE_EVENT_FILTER); |
|---|
| 834 | PRINT_MACRO(_POSIX_TRACE_INHERIT); |
|---|
| 835 | PRINT_MACRO(_POSIX_TRACE_LOG); |
|---|
| 836 | PRINT_MACRO(_POSIX_TYPED_MEMORY_OBJECTS); |
|---|
| 837 | PRINT_MACRO(_POSIX_VDISABLE); |
|---|
| 838 | PRINT_MACRO(_POSIX_VERSION); |
|---|
| 839 | PRINT_MACRO(_POSIX2_C_BIND); |
|---|
| 840 | PRINT_MACRO(_POSIX2_C_DEV); |
|---|
| 841 | PRINT_MACRO(_POSIX2_CHAR_TERM); |
|---|
| 842 | PRINT_MACRO(_POSIX2_FORT_DEV); |
|---|
| 843 | PRINT_MACRO(_POSIX2_FORT_RUN); |
|---|
| 844 | PRINT_MACRO(_POSIX2_LOCALEDEF); |
|---|
| 845 | PRINT_MACRO(_POSIX2_PBS); |
|---|
| 846 | PRINT_MACRO(_POSIX2_PBS_ACCOUNTING); |
|---|
| 847 | PRINT_MACRO(_POSIX2_PBS_CHECKPOINT); |
|---|
| 848 | PRINT_MACRO(_POSIX2_PBS_LOCATE); |
|---|
| 849 | PRINT_MACRO(_POSIX2_PBS_MESSAGE); |
|---|
| 850 | PRINT_MACRO(_POSIX2_PBS_TRACK); |
|---|
| 851 | PRINT_MACRO(_POSIX2_SW_DEV); |
|---|
| 852 | PRINT_MACRO(_POSIX2_UPE); |
|---|
| 853 | PRINT_MACRO(_POSIX2_VERSION); |
|---|
| 854 | PRINT_MACRO(_V6_ILP32_OFF32); |
|---|
| 855 | PRINT_MACRO(_V6_ILP32_OFFBIG); |
|---|
| 856 | PRINT_MACRO(_V6_LP64_OFF64); |
|---|
| 857 | PRINT_MACRO(_V6_LPBIG_OFFBIG); |
|---|
| 858 | PRINT_MACRO(_XBS5_ILP32_OFF32); |
|---|
| 859 | PRINT_MACRO(_XBS5_ILP32_OFFBIG); |
|---|
| 860 | PRINT_MACRO(_XBS5_LP64_OFF64); |
|---|
| 861 | PRINT_MACRO(_XBS5_LPBIG_OFFBIG); |
|---|
| 862 | PRINT_MACRO(_XOPEN_CRYPT); |
|---|
| 863 | PRINT_MACRO(_XOPEN_ENH_I18N); |
|---|
| 864 | PRINT_MACRO(_XOPEN_LEGACY); |
|---|
| 865 | PRINT_MACRO(_XOPEN_REALTIME); |
|---|
| 866 | PRINT_MACRO(_XOPEN_REALTIME_THREADS); |
|---|
| 867 | PRINT_MACRO(_XOPEN_SHM); |
|---|
| 868 | PRINT_MACRO(_XOPEN_SOURCE); |
|---|
| 869 | PRINT_MACRO(_XOPEN_STREAMS); |
|---|
| 870 | PRINT_MACRO(_XOPEN_UNIX); |
|---|
| 871 | PRINT_MACRO(_XOPEN_VERSION); |
|---|
| 872 | // Misc: |
|---|
| 873 | PRINT_MACRO(__USE_BSD); |
|---|
| 874 | PRINT_MACRO(_FILE_OFFSET_BITS); |
|---|
| 875 | } |
|---|
| 876 | |
|---|
| 877 | void print_boost_macros() |
|---|
| 878 | { |
|---|
| 879 | std::cout << "Boost version " << BOOST_STRINGIZE(BOOST_VERSION) << std::endl; |
|---|
| 880 | // config setup macros first: |
|---|
| 881 | PRINT_MACRO(BOOST_USER_CONFIG); |
|---|
| 882 | PRINT_MACRO(BOOST_COMPILER_CONFIG); |
|---|
| 883 | PRINT_MACRO(BOOST_STDLIB_CONFIG); |
|---|
| 884 | PRINT_MACRO(BOOST_PLATFORM_CONFIG); |
|---|
| 885 | PRINT_MACRO(BOOST_NO_CONFIG); |
|---|
| 886 | PRINT_MACRO(BOOST_NO_USER_CONFIG); |
|---|
| 887 | PRINT_MACRO(BOOST_NO_COMPILER_CONFIG); |
|---|
| 888 | PRINT_MACRO(BOOST_NO_STDLIB_CONFIG); |
|---|
| 889 | PRINT_MACRO(BOOST_NO_PLATFORM_CONFIG); |
|---|
| 890 | // then defect and feature macros: |
|---|
| 891 | PRINT_MACRO(BOOST_DISABLE_THREADS); |
|---|
| 892 | PRINT_MACRO(BOOST_DISABLE_WIN32); |
|---|
| 893 | PRINT_MACRO(BOOST_HAS_THREADS); |
|---|
| 894 | |
|---|
| 895 | // BEGIN GENERATED BLOCK DO NOT EDIT THIS!!!!!! |
|---|
| 896 | PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG); |
|---|
| 897 | PRINT_MACRO(BOOST_DEDUCED_TYPENAME); |
|---|
| 898 | PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL); |
|---|
| 899 | PRINT_MACRO(BOOST_HAS_BETHREADS); |
|---|
| 900 | PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME); |
|---|
| 901 | PRINT_MACRO(BOOST_HAS_DIRENT_H); |
|---|
| 902 | PRINT_MACRO(BOOST_HAS_EXPM1); |
|---|
| 903 | PRINT_MACRO(BOOST_HAS_FTIME); |
|---|
| 904 | PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY); |
|---|
| 905 | PRINT_MACRO(BOOST_HAS_HASH); |
|---|
| 906 | PRINT_MACRO(BOOST_HAS_LOG1P); |
|---|
| 907 | PRINT_MACRO(BOOST_HAS_LONG_LONG); |
|---|
| 908 | PRINT_MACRO(BOOST_HAS_MACRO_USE_FACET); |
|---|
| 909 | PRINT_MACRO(BOOST_HAS_MS_INT64); |
|---|
| 910 | PRINT_MACRO(BOOST_HAS_NANOSLEEP); |
|---|
| 911 | PRINT_MACRO(BOOST_HAS_NL_TYPES_H); |
|---|
| 912 | PRINT_MACRO(BOOST_HAS_NRVO); |
|---|
| 913 | PRINT_MACRO(BOOST_HAS_PARTIAL_STD_ALLOCATOR); |
|---|
| 914 | PRINT_MACRO(BOOST_HAS_PTHREADS); |
|---|
| 915 | PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP); |
|---|
| 916 | PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE); |
|---|
| 917 | PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD); |
|---|
| 918 | PRINT_MACRO(BOOST_HAS_SCHED_YIELD); |
|---|
| 919 | PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS); |
|---|
| 920 | PRINT_MACRO(BOOST_HAS_SIGACTION); |
|---|
| 921 | PRINT_MACRO(BOOST_HAS_SLIST); |
|---|
| 922 | PRINT_MACRO(BOOST_HAS_STDINT_H); |
|---|
| 923 | PRINT_MACRO(BOOST_HAS_STLP_USE_FACET); |
|---|
| 924 | PRINT_MACRO(BOOST_HAS_TR1_ARRAY); |
|---|
| 925 | PRINT_MACRO(BOOST_HAS_TR1_BIND); |
|---|
| 926 | PRINT_MACRO(BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG); |
|---|
| 927 | PRINT_MACRO(BOOST_HAS_TR1_COMPLEX_OVERLOADS); |
|---|
| 928 | PRINT_MACRO(BOOST_HAS_TR1_FUNCTION); |
|---|
| 929 | PRINT_MACRO(BOOST_HAS_TR1_HASH); |
|---|
| 930 | PRINT_MACRO(BOOST_HAS_TR1_MEM_FN); |
|---|
| 931 | PRINT_MACRO(BOOST_HAS_TR1_RANDOM); |
|---|
| 932 | PRINT_MACRO(BOOST_HAS_TR1_REFERENCE_WRAPPER); |
|---|
| 933 | PRINT_MACRO(BOOST_HAS_TR1_REGEX); |
|---|
| 934 | PRINT_MACRO(BOOST_HAS_TR1_RESULT_OF); |
|---|
| 935 | PRINT_MACRO(BOOST_HAS_TR1_SHARED_PTR); |
|---|
| 936 | PRINT_MACRO(BOOST_HAS_TR1_TUPLE); |
|---|
| 937 | PRINT_MACRO(BOOST_HAS_TR1_TYPE_TRAITS); |
|---|
| 938 | PRINT_MACRO(BOOST_HAS_TR1_UNORDERED_MAP); |
|---|
| 939 | PRINT_MACRO(BOOST_HAS_TR1_UNORDERED_SET); |
|---|
| 940 | PRINT_MACRO(BOOST_HAS_TR1_UTILITY); |
|---|
| 941 | PRINT_MACRO(BOOST_HAS_TWO_ARG_USE_FACET); |
|---|
| 942 | PRINT_MACRO(BOOST_HAS_UNISTD_H); |
|---|
| 943 | PRINT_MACRO(BOOST_HAS_WINTHREADS); |
|---|
| 944 | PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES); |
|---|
| 945 | PRINT_MACRO(BOOST_MSVC_STD_ITERATOR); |
|---|
| 946 | PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP); |
|---|
| 947 | PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS); |
|---|
| 948 | PRINT_MACRO(BOOST_NO_AUTO_PTR); |
|---|
| 949 | PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS); |
|---|
| 950 | PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS); |
|---|
| 951 | PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS); |
|---|
| 952 | PRINT_MACRO(BOOST_NO_CWCHAR); |
|---|
| 953 | PRINT_MACRO(BOOST_NO_CWCTYPE); |
|---|
| 954 | PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS); |
|---|
| 955 | PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS); |
|---|
| 956 | PRINT_MACRO(BOOST_NO_EXCEPTIONS); |
|---|
| 957 | PRINT_MACRO(BOOST_NO_EXCEPTION_STD_NAMESPACE); |
|---|
| 958 | PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS); |
|---|
| 959 | PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING); |
|---|
| 960 | PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION); |
|---|
| 961 | PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T); |
|---|
| 962 | PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T); |
|---|
| 963 | PRINT_MACRO(BOOST_NO_IS_ABSTRACT); |
|---|
| 964 | PRINT_MACRO(BOOST_NO_LIMITS); |
|---|
| 965 | PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS); |
|---|
| 966 | PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS); |
|---|
| 967 | PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS); |
|---|
| 968 | PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES); |
|---|
| 969 | PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_FRIENDS); |
|---|
| 970 | PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD); |
|---|
| 971 | PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS); |
|---|
| 972 | PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE); |
|---|
| 973 | PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST); |
|---|
| 974 | PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS); |
|---|
| 975 | PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE); |
|---|
| 976 | PRINT_MACRO(BOOST_NO_SFINAE); |
|---|
| 977 | PRINT_MACRO(BOOST_NO_STDC_NAMESPACE); |
|---|
| 978 | PRINT_MACRO(BOOST_NO_STD_ALLOCATOR); |
|---|
| 979 | PRINT_MACRO(BOOST_NO_STD_DISTANCE); |
|---|
| 980 | PRINT_MACRO(BOOST_NO_STD_ITERATOR); |
|---|
| 981 | PRINT_MACRO(BOOST_NO_STD_ITERATOR_TRAITS); |
|---|
| 982 | PRINT_MACRO(BOOST_NO_STD_LOCALE); |
|---|
| 983 | PRINT_MACRO(BOOST_NO_STD_MESSAGES); |
|---|
| 984 | PRINT_MACRO(BOOST_NO_STD_MIN_MAX); |
|---|
| 985 | PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN); |
|---|
| 986 | PRINT_MACRO(BOOST_NO_STD_USE_FACET); |
|---|
| 987 | PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF); |
|---|
| 988 | PRINT_MACRO(BOOST_NO_STD_WSTRING); |
|---|
| 989 | PRINT_MACRO(BOOST_NO_STRINGSTREAM); |
|---|
| 990 | PRINT_MACRO(BOOST_NO_SWPRINTF); |
|---|
| 991 | PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS); |
|---|
| 992 | PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION); |
|---|
| 993 | PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES); |
|---|
| 994 | PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION); |
|---|
| 995 | PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE); |
|---|
| 996 | PRINT_MACRO(BOOST_NO_USING_TEMPLATE); |
|---|
| 997 | PRINT_MACRO(BOOST_NO_VOID_RETURNS); |
|---|
| 998 | |
|---|
| 999 | |
|---|
| 1000 | |
|---|
| 1001 | |
|---|
| 1002 | |
|---|
| 1003 | // END GENERATED BLOCK |
|---|
| 1004 | |
|---|
| 1005 | PRINT_MACRO(BOOST_INTEL); |
|---|
| 1006 | PRINT_MACRO(BOOST_MSVC); |
|---|
| 1007 | PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE); |
|---|
| 1008 | PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0)); |
|---|
| 1009 | } |
|---|
| 1010 | |
|---|
| 1011 | void print_separator() |
|---|
| 1012 | { |
|---|
| 1013 | std::cout << |
|---|
| 1014 | "\n\n*********************************************************************\n\n"; |
|---|
| 1015 | } |
|---|
| 1016 | |
|---|
| 1017 | int main() |
|---|
| 1018 | { |
|---|
| 1019 | |
|---|
| 1020 | // boost compiler workaround defines |
|---|
| 1021 | print_compiler_macros(); |
|---|
| 1022 | print_separator(); |
|---|
| 1023 | print_stdlib_macros(); |
|---|
| 1024 | print_separator(); |
|---|
| 1025 | print_platform_macros(); |
|---|
| 1026 | print_separator(); |
|---|
| 1027 | print_boost_macros(); |
|---|
| 1028 | |
|---|
| 1029 | return 0; |
|---|
| 1030 | } |
|---|
| 1031 | |
|---|
| 1032 | |
|---|
| 1033 | |
|---|
| 1034 | |
|---|
| 1035 | |
|---|
| 1036 | |
|---|
| 1037 | |
|---|
| 1038 | |
|---|
| 1039 | |
|---|
| 1040 | |
|---|