12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349 |
- // Boost config.hpp configuration test program file -----------------------//
- // (C) Copyright John Maddock 2001 - 2003.
- // (C) Copyright Jens Maurer 2001.
- // (C) Copyright Peter Dimov 2001.
- // (C) Copyright Darin Adler 2001.
- // (C) Copyright Beman Dawes 2002.
- // Use, modification and distribution are subject to the
- // Boost Software License, Version 1.0. (See accompanying file
- // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- // See http://www.boost.org/libs/config for most recent version.
- //
- // Revision $Id$
- //
- #include <boost/config.hpp>
- #include <boost/version.hpp>
- #include <iostream>
- #include <iomanip>
- #include <string.h>
- #include <limits.h>
- #include <stdlib.h>
- #include <stddef.h>
- #ifdef BOOST_HAS_UNISTD_H
- #include <unistd.h>
- #endif
- #if defined(__MINGW32__)
- # include <_mingw.h>
- #endif
- static unsigned int indent = 4;
- static unsigned int width = 40;
- using std::cout;
- using std::istream;
- void print_macro(const char* name, const char* value)
- {
- // if name == value+1 then then macro is not defined,
- // in which case we don't print anything:
- if(0 != strcmp(name, value+1))
- {
- for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
- std::cout << std::setw(width);
- cout.setf(istream::left, istream::adjustfield);
- std::cout << name;
- if(value[1])
- {
- // macro has a value:
- std::cout << value << "\n";
- }
- else
- {
- // macro is defined but has no value:
- std::cout << " [no value]\n";
- }
- }
- }
- #define PRINT_MACRO(X) print_macro(#X, BOOST_STRINGIZE(=X))
- template <class T>
- void print_expression(const char* expression, T val)
- {
- for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
- std::cout << std::setw(width);
- std::cout.setf(istream::left, istream::adjustfield);
- std::cout << expression << "=" << val << std::endl;
- }
- #define PRINT_EXPRESSION(E) print_expression(#E, E);
- template <class T>
- void print_byte_order(const char* what, T /* t */ )
- {
- T val = 0;
- unsigned i;
- for(i = 1; i < sizeof(T); ++i)
- {
- val |= (CHAR_BIT * static_cast<T>(i)) << (CHAR_BIT * static_cast<T>(i));
- }
- const char* p = reinterpret_cast<const char*>(&val);
- for(i = 0; i < indent; ++i) std::cout.put(' ');
- std::cout << std::setw(width);
- std::cout.setf(istream::left, istream::adjustfield);
- std::cout << what << "=";
- for(i = 0; i < sizeof(T); ++i)
- {
- std::cout << (int)p[i] << " ";
- }
- std::cout << std::endl;
- }
- #define PRINT_ORDER(T) print_byte_order(BOOST_STRINGIZE(byte order for type T), T())
- template <class T>
- void print_sign(const char* what, T t)
- {
- t = static_cast<T>(-1); // cast suppresses warnings
- for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
- std::cout << "Type " << what << " is " << ((t > 0) ? "unsigned" : "signed") << std::endl;
- }
- #define PRINT_SIGN(T) print_sign(#T, T())
- void print_compiler_macros()
- {
- std::cout << BOOST_COMPILER << "\n";
- // Borland options:
- PRINT_MACRO(__BORLANDC__);
- PRINT_MACRO(__CDECL__);
- PRINT_MACRO(_CHAR_UNSIGNED);
- PRINT_MACRO(__CODEGUARD__);
- PRINT_MACRO(__CONSOLE__);
- PRINT_MACRO(_CPPUNWIND);
- PRINT_MACRO(__cplusplus);
- PRINT_MACRO(__FLAT__);
- PRINT_MACRO(__FUNC__);
- PRINT_MACRO(_M_IX86);
- PRINT_MACRO(__MSDOS__);
- PRINT_MACRO(__MT__ );
- PRINT_MACRO(__PASCAL__);
- PRINT_MACRO(__STDC__);
- PRINT_MACRO(__TLS__);
- PRINT_MACRO(_WCHAR_T);
- PRINT_MACRO(_Windows);
- PRINT_MACRO(__WIN32__);
- PRINT_MACRO(_WIN32);
- PRINT_MACRO(_WIN64);
- PRINT_MACRO(_WIN32_WCE);
- PRINT_MACRO(WIN32);
- PRINT_MACRO(_RTLDLL);
- PRINT_MACRO(__DEBUG);
- // Internal MSVC 7 error workaround (Peter Dimov)
- #ifndef _NATIVE_WCHAR_T_DEFINED
- PRINT_MACRO(_WCHAR_T_DEFINED);
- #endif
- // MSVC macros:
- PRINT_MACRO(_ALIGNED_NEW_SUPPORTED);
- PRINT_MACRO(__ATOM__);
- PRINT_MACRO(__AVX__);
- PRINT_MACRO(__AVX2__);
- PRINT_MACRO(_CHAR_UNSIGNED);
- PRINT_MACRO(_CLR_VER);
- PRINT_MACRO(_CONTROL_FLOW_GUARD);
- PRINT_MACRO(__cplusplus_cli);
- PRINT_MACRO(__cplusplus_winrt);
- PRINT_MACRO(_CPPRTTI);
- PRINT_MACRO(_CPPUNWIND);
- PRINT_MACRO(_DLL);
- PRINT_MACRO(_INLINE_VARIABLES_SUPPORTED);
- PRINT_MACRO(_ISO_VOLATILE);
- PRINT_MACRO(_M_AMD64);
- PRINT_MACRO(_M_ARM);
- PRINT_MACRO(_M_ARM_ARMV7VE);
- PRINT_MACRO(_M_ARM_FP);
- PRINT_MACRO(_M_ARM64);
- PRINT_MACRO(_M_CEE);
- PRINT_MACRO(_M_CEE_PURE);
- PRINT_MACRO(_M_CEE_SAFE);
- PRINT_MACRO(_M_FP_EXCEPT);
- PRINT_MACRO(_M_FP_FAST);
- PRINT_MACRO(_M_FP_PRECISE);
- PRINT_MACRO(_M_FP_STRICT);
- PRINT_MACRO(_M_IX86);
- PRINT_MACRO(_M_IX86_FP);
- PRINT_MACRO(_M_X64);
- PRINT_MACRO(_M_ALPHA);
- PRINT_MACRO(_M_MPPC);
- PRINT_MACRO(_M_MRX000);
- PRINT_MACRO(_M_PPC);
- PRINT_MACRO(_MANAGED);
- PRINT_MACRO(_MSC_BUILD);
- PRINT_MACRO(_MFC_VER);
- PRINT_MACRO(_MSC_EXTENSIONS);
- PRINT_MACRO(_MSC_VER);
- PRINT_MACRO(_MSC_FULL_VER);
- PRINT_MACRO(_MSVC_LANG);
- PRINT_MACRO(_MSVC_WARNING_LEVEL);
- PRINT_MACRO(__MSVC_RUNTIME_CHECKS);
- PRINT_MACRO(_MT);
- PRINT_MACRO(_NATIVE_WCHAR_T_DEFINED);
- PRINT_MACRO(_NOEXCEPT_TYPES_SUPPORTED);
- PRINT_MACRO(_OPENMP);
- PRINT_MACRO(_PREFAST_);
- // GNUC options:
- PRINT_MACRO(__GNUC__);
- PRINT_MACRO(__GNUC_MINOR__);
- PRINT_MACRO(__GNUC_PATCHLEVEL__);
- PRINT_MACRO(__STDC_VERSION__);
- PRINT_MACRO(__GNUG__);
- PRINT_MACRO(__STRICT_ANSI__);
- PRINT_MACRO(__GXX_EXPERIMENTAL_CXX0X__);
- PRINT_MACRO(__VERSION__);
- PRINT_MACRO(__OPTIMIZE__);
- PRINT_MACRO(__CHAR_UNSIGNED__);
- PRINT_MACRO(__REGISTER_PREFIX__);
- PRINT_MACRO(__USER_LABEL_PREFIX__);
- PRINT_MACRO(__GNUPRO__);
- PRINT_MACRO(__EXCEPTIONS);
- PRINT_MACRO(__FreeBSD__);
- PRINT_MACRO(__FreeBSD_cc_version);
- PRINT_MACRO(__ELF__);
- PRINT_MACRO(__GNUPRO__);
- PRINT_MACRO(unix);
- PRINT_MACRO(bsd);
- PRINT_MACRO(vax);
- PRINT_MACRO(mc68000);
- PRINT_MACRO(m68k);
- PRINT_MACRO(M68020);
- PRINT_MACRO(_AM29K);
- PRINT_MACRO(ns32000);
- PRINT_MACRO(sun);
- PRINT_MACRO(pyr);
- PRINT_MACRO(sequent);
- PRINT_MACRO(__i386__);
- PRINT_MACRO(__sparc);
- PRINT_MACRO(__sparc__);
- PRINT_MACRO(__powerpc__);
- PRINT_MACRO(__hppa);
- PRINT_MACRO(__CYGWIN__);
- PRINT_MACRO(__MINGW32__);
- PRINT_MACRO(__GXX_RTTI);
- PRINT_MACRO(__alpha__);
- PRINT_MACRO(__amd64__);
- PRINT_MACRO(__arm__);
- PRINT_MACRO(__aarch64__);
- PRINT_MACRO(__bfin);
- PRINT_MACRO(__convex__);
- PRINT_MACRO(__epiphany__);
- PRINT_MACRO(__hppa__);
- PRINT_MACRO(__ia64__);
- PRINT_MACRO(__IA64);
- PRINT_MACRO(__IA64__);
- PRINT_MACRO(__m68k__);
- PRINT_MACRO(__mips__);
- PRINT_MACRO(__powerpc);
- PRINT_MACRO(__powerpc__);
- PRINT_MACRO(__powerpc64__);
- PRINT_MACRO(__POWERPC__);
- PRINT_MACRO(__ppc__);
- PRINT_MACRO(__ppc64__);
- PRINT_MACRO(__PPC__);
- PRINT_MACRO(__PPC64__);
- PRINT_MACRO(_ARCH_PPC);
- PRINT_MACRO(_ARCH_PPC64);
- PRINT_MACRO(__sh__);
- PRINT_MACRO(__370__);
- PRINT_MACRO(__THW_370__);
- // HP aCC:
- PRINT_MACRO(__HP_aCC);
- PRINT_MACRO(_HPACC_);
- PRINT_MACRO(__LP64__);
- PRINT_MACRO(__RISC2_0__);
- PRINT_MACRO(__STDCPP__);
- PRINT_MACRO(__hppa);
- PRINT_MACRO(__hpux);
- PRINT_MACRO(__hp9000s800);
- PRINT_MACRO(__hp9000s700);
- PRINT_MACRO(_PA_RISC1_1);
- PRINT_MACRO(__HPUX_SOURCE);
- PRINT_MACRO(_INCLUDE__STDC_A1_SOURCE);
- // SGI IRIX:
- PRINT_MACRO(__sgi);
- PRINT_MACRO(_COMPILER_VERSION);
- // Sunpro:
- PRINT_MACRO(__SUNPRO_CC);
- PRINT_MACRO(__SUNPRO_CC_COMPAT);
- PRINT_MACRO(__BUILTIN_VA_ARG_INCR);
- PRINT_MACRO(__sun);
- PRINT_MACRO(__SVR4);
- PRINT_MACRO(__unix);
- PRINT_MACRO(__sparcv9);
- PRINT_MACRO(__i386);
- PRINT_MACRO(i386);
- // Metrowerks
- PRINT_MACRO(__MWERKS__);
- PRINT_MACRO(__MSL__);
- PRINT_MACRO(__MSL_CPP__);
- PRINT_MACRO(__A5__);
- PRINT_MACRO(__embedded_cplusplus);
- PRINT_MACRO(__fourbyteints__);
- PRINT_MACRO(__IEEEdoubles__);
- PRINT_MACRO(__MC68K__);
- PRINT_MACRO(__MC68020__);
- PRINT_MACRO(__MC68881__);
- PRINT_MACRO(__MIPS__);
- PRINT_MACRO(__MIPS_ISA2__);
- PRINT_MACRO(__MIPS_ISA3__);
- PRINT_MACRO(__MIPS_ISA4__);
- PRINT_MACRO(__MWBROWSER__);
- PRINT_MACRO(__profile__);
- PRINT_MACRO(__powerc);
- PRINT_MACRO(_powerc);
- PRINT_MACRO(__POWERPC__);
- PRINT_MACRO(macintosh);
- PRINT_MACRO(__MACH__);
- PRINT_MACRO(__APPLE__);
- PRINT_MACRO(__APPLE_CC__);
- // MPW (MrCpp and SCpp)
- PRINT_MACRO(__MRC__);
- PRINT_MACRO(__SC__);
- PRINT_MACRO(__FPCE__);
- PRINT_MACRO(__FPCE_IEEE__);
- PRINT_MACRO(MPW_CPLUS);
- PRINT_MACRO(MPW_C);
- PRINT_MACRO(__MC601);
- PRINT_MACRO(__POWERPC);
- PRINT_MACRO(__useAppleExts__);
- PRINT_MACRO(powerc);
- PRINT_MACRO(MC68000);
- PRINT_MACRO(THINK_PLUS);
- PRINT_MACRO(mc68881);
- PRINT_MACRO(__FAR_CODE__);
- PRINT_MACRO(__FAR_DATA__);
- PRINT_MACRO(__CFM68K__);
- // EDG
- PRINT_MACRO(__EDG__);
- PRINT_MACRO(__EDG_VERSION__);
- PRINT_MACRO(c_plusplus); // indication for strict mode
- PRINT_MACRO(_BOOL);
- PRINT_MACRO(_EXPLICIT);
- PRINT_MACRO(__SIGNED_CHARS__);
- PRINT_MACRO(_TYPENAME);
- PRINT_MACRO(_WCHAR_T);
- PRINT_MACRO(__ARRAY_OPERATORS);
- PRINT_MACRO(__EDG_ABI_COMPATIBILITY_VERSION);
- PRINT_MACRO(__EDG_IMPLICIT_USING_STD);
- PRINT_MACRO(__EDG_RUNTIME_USES_NAMESPACES);
- PRINT_MACRO(__BOOL_DEFINED);
- PRINT_MACRO(__RTTI);
- PRINT_MACRO(__PLACEMENT_DELETE);
- PRINT_MACRO(__NO_LONG_LONG);
- // Intel options:
- PRINT_MACRO(__INTEL__);
- PRINT_MACRO(__ICC);
- PRINT_MACRO(__ICL);
- PRINT_MACRO(__ECC);
- PRINT_MACRO(__INTEL_COMPILER);
- PRINT_MACRO(__INITIAL_POINTER_SIZE);
- PRINT_MACRO(_INTEGRAL_MAX_BITS);
- PRINT_MACRO(__INTEL_COMPILER_BUILD_DATE);
- PRINT_MACRO(__INTEL_MS_COMPAT_LEVEL);
- PRINT_MACRO(__LONG_DOUBLE_SIZE__);
- PRINT_MACRO(_M_X64);
- PRINT_MACRO(_OPENMP);
- PRINT_MACRO(_OPENMPT);
- PRINT_MACRO(_PGO_INSTRUMENT);
- PRINT_MACRO(__QMSPP_);
- PRINT_MACRO(__INTEL_RTTI__);
- PRINT_MACRO(__INTEL_CXX11_MODE__);
- // Cray options:
- PRINT_MACRO(_CRAYC);
- PRINT_MACRO(_RELEASE);
- PRINT_MACRO(cray);
- PRINT_MACRO(CRAY);
- PRINT_MACRO(CRAY1);
- PRINT_MACRO(_CRAY1);
- PRINT_MACRO(_CRAYMPP);
- PRINT_MACRO(_CRAYT3E);
- PRINT_MACRO(_CRAYIEEE);
- PRINT_MACRO(_ADDR32);
- PRINT_MACRO(_ADDR64);
- PRINT_MACRO(_LD64);
- PRINT_MACRO(_FASTMD);
- PRINT_MACRO(_MAXVL);
- // clang options:
- PRINT_MACRO(__clang__);
- PRINT_MACRO(__clang_major__);
- PRINT_MACRO(__clang_minor__);
- PRINT_MACRO(__clang_version__);
- PRINT_MACRO(__clang_patchlevel__);
- // misc compilers not covered so far:
- PRINT_MACRO(__USLC__);
- PRINT_MACRO(__DECCXX);
- PRINT_MACRO(__IBMCPP__);
- PRINT_MACRO(_REENTRANT);
- PRINT_MACRO(_PTHREADS);
- PRINT_MACRO(__STDC_HOSTED__);
- PRINT_MACRO(__COMO__);
- PRINT_MACRO(__COMO_VERSION__);
- PRINT_MACRO(__DM__);
- PRINT_MACRO(__osf__);
- PRINT_MACRO(__OSF__);
- PRINT_MACRO(__QNXNTO__);
- PRINT_MACRO(__QNX__);
- PRINT_MACRO(_NTO_VERSION);
- PRINT_MACRO(__OPEN64__);
- PRINT_MACRO(__open64);
- PRINT_MACRO(__NVCC__);
- PRINT_MACRO(__CUDACC__);
- PRINT_MACRO(__CUDACC_RDC__);
- PRINT_MACRO(__CUDACC_VER_MAJOR__);
- PRINT_MACRO(__CUDACC_VER_MINOR__);
- PRINT_MACRO(__CUDACC_VER_BUILD__);
- PRINT_MACRO(__CUDACC_VER__);
- // Android:
- PRINT_MACRO(ANDROID);
- PRINT_MACRO(__ANDROID__);
- }
- void print_stdlib_macros()
- {
- std::cout << BOOST_STDLIB << std::endl;
- #ifdef _RWSTD_VER
- // Rogue Wave 2.x config options:
- PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES);
- PRINT_MACRO(_RWSTD_ALLOCATOR);
- PRINT_MACRO(_RWSTD_BAD_ALLOC_DEFINED);
- PRINT_MACRO(_RWSTD_BAD_EXCEPTION_DEFINED);
- PRINT_MACRO(_RWSTD_BOUNDS_CHECKING);
- PRINT_MACRO(_RWSTD_COMPILE_INSTANTIATE);
- PRINT_MACRO(_RWSTD_DEFAULT_PRECISION);
- PRINT_MACRO(_RWSTD_EXCEPTION_DEFINED);
- PRINT_MACRO(_RWSTD_EXCEPTION_HANDLER_IN_STD);
- PRINT_MACRO(_RWSTD_EXCEPTION_PREDEFINED);
- PRINT_MACRO(_RWSTD_FLT_ROUNDS_IS_CONSTANT);
- PRINT_MACRO(_RWSTD_LOCALIZED_ERRORS);
- PRINT_MACRO(_RWSTD_MESSAGE);
- PRINT_MACRO(_RWSTD_MUTEXATTR_DEFAULT);
- PRINT_MACRO(_RWSTD_NO_ANSI_SPRINTF);
- PRINT_MACRO(_RWSTD_NO_ARG_MATCH);
- PRINT_MACRO(_RWSTD_NO_BAD_CAST);
- PRINT_MACRO(_RWSTD_NO_BASE_CLASS_MATCH);
- PRINT_MACRO(_RWSTD_NO_BOOL);
- PRINT_MACRO(_RWSTD_NO_BUILTIN_CTOR);
- PRINT_MACRO(_RWSTD_NO_CATOPEN_CATGETS);
- PRINT_MACRO(_RWSTD_NO_CLASS_PARTIAL_SPEC);
- PRINT_MACRO(_RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES);
- PRINT_MACRO(_RWSTD_NO_COMPLICATED_EXCEPTIONS);
- PRINT_MACRO(_RWSTD_NO_COMPLICATED_TYPEDEF);
- PRINT_MACRO(_RWSTD_NO_CONST_INST);
- PRINT_MACRO(_RWSTD_NO_CTOR_RETURN);
- PRINT_MACRO(_RWSTD_NO_DEFAULT_FOR_TPARAM);
- PRINT_MACRO(_RWSTD_NO_DEFAULT_TEMPLATE_ARGS);
- PRINT_MACRO(_RWSTD_NO_DESTROY_BUILTIN);
- PRINT_MACRO(_RWSTD_NO_DESTROY_NONBUILTIN);
- PRINT_MACRO(_RWSTD_NO_EMBEDDED_TYPEDEF);
- PRINT_MACRO(_RWSTD_NO_EX_SPEC);
- PRINT_MACRO(_RWSTD_NO_EXCEPTIONS);
- PRINT_MACRO(_RWSTD_NO_EXPLICIT);
- PRINT_MACRO(_RWSTD_NO_EXPLICIT_ARG);
- PRINT_MACRO(_RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION);
- PRINT_MACRO(_RWSTD_NO_EXPLICIT_INSTANTIATION);
- PRINT_MACRO(_RWSTD_NO_EXTENSION);
- PRINT_MACRO(_RWSTD_NO_FORWARD_SPECIALIZATIONS);
- PRINT_MACRO(_RWSTD_NO_FPOS_T);
- PRINT_MACRO(_RWSTD_NO_FRIEND_TEMPLATES);
- PRINT_MACRO(_RWSTD_NO_FUNC_PARTIAL_SPEC);
- PRINT_MACRO(_RWSTD_NO_GETTIMEOFDAY);
- PRINT_MACRO(_RWSTD_NO_GLOBAL_TZ);
- PRINT_MACRO(_RWSTD_NO_INHERITED_TYPEDEFS);
- PRINT_MACRO(_RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG);
- PRINT_MACRO(_RWSTD_NO_INT_TYPEDEF);
- PRINT_MACRO(_RWSTD_NO_LDIV);
- PRINT_MACRO(_RWSTD_NO_LEADING_UNDERSCORE);
- PRINT_MACRO(_RWSTD_NO_LOCALE);
- PRINT_MACRO(_RWSTD_NO_LONG_NAME);
- PRINT_MACRO(_RWSTD_NO_LONGDOUBLE);
- PRINT_MACRO(_RWSTD_NO_MBSTATE_T);
- PRINT_MACRO(_RWSTD_NO_MEM_CLASS_TEMPLATES);
- PRINT_MACRO(_RWSTD_NO_MEMBER_TEMPLATES);
- PRINT_MACRO(_RWSTD_NO_MEMBER_TYPE_TPARAM);
- PRINT_MACRO(_RWSTD_NO_MEMBER_WO_DEF_CTOR);
- PRINT_MACRO(_RWSTD_NO_MEMMOVE);
- PRINT_MACRO(_RWSTD_NO_MULTI_DIM_ARRAY);
- PRINT_MACRO(_RWSTD_NO_MUTABLE);
- PRINT_MACRO(_RWSTD_NO_NAME_INJECTION);
- PRINT_MACRO(_RWSTD_NO_NAMESPACE);
- PRINT_MACRO(_RWSTD_NO_NESTING_TEMPLATES);
- PRINT_MACRO(_RWSTD_NO_NEW_BRACKETS);
- PRINT_MACRO(_RWSTD_NO_NEW_DECL);
- PRINT_MACRO(_RWSTD_NO_NEW_HEADER);
- PRINT_MACRO(_RWSTD_NO_NEW_TEMPLATE_SYNTAX);
- PRINT_MACRO(_RWSTD_NO_NONCLASS_ARROW_RETURN);
- PRINT_MACRO(_RWSTD_NO_NONTYPE_ARGS);
- PRINT_MACRO(_RWSTD_NO_ONLY_NEEDED_INSTANTIATION);
- PRINT_MACRO(_RWSTD_NO_OVERLOAD_C_POW);
- PRINT_MACRO(_RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION);
- PRINT_MACRO(_RWSTD_NO_OVERLOAD_WCHAR);
- PRINT_MACRO(_RWSTD_NO_PART_SPEC_OVERLOAD);
- PRINT_MACRO(_RWSTD_NO_RET_TEMPLATE);
- PRINT_MACRO(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES);
- PRINT_MACRO(_RWSTD_NO_STATIC_CAST);
- PRINT_MACRO(_RWSTD_NO_STATIC_DEF);
- PRINT_MACRO(_RWSTD_NO_STATIC_DEF2);
- PRINT_MACRO(_RWSTD_NO_STATIC_DEF3);
- PRINT_MACRO(_RWSTD_NO_STATIC_MEM_DEF);
- PRINT_MACRO(_RWSTD_NO_STI_SIMPLE);
- PRINT_MACRO(_RWSTD_NO_STI_TEMPLATE);
- PRINT_MACRO(_RWSTD_NO_STREAM_LONG_DOUBLE);
- PRINT_MACRO(_RWSTD_NO_STRFTIME_CAPC);
- PRINT_MACRO(_RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE);
- PRINT_MACRO(_RWSTD_NO_SWPRINTF);
- PRINT_MACRO(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE);
- PRINT_MACRO(_RWSTD_NO_TEMPLATE_TEMPLATE);
- PRINT_MACRO(_RWSTD_NO_THREADS);
- PRINT_MACRO(_RWSTD_NO_THROW_SPEC_ON_NEW);
- PRINT_MACRO(_RWSTD_NO_THROW_WITH_SHARED);
- PRINT_MACRO(_RWSTD_NO_TYPEDEF_INST);
- PRINT_MACRO(_RWSTD_NO_TYPEDEF_OVERLOAD);
- PRINT_MACRO(_RWSTD_NO_TYPENAME);
- PRINT_MACRO(_RWSTD_NO_UNDEFINED_FRIEND);
- PRINT_MACRO(_RWSTD_NO_UNINITIALIZED_STATIC_DEF);
- PRINT_MACRO(_RWSTD_NO_WCHAR_H);
- PRINT_MACRO(_RWSTD_NO_WCTYPE_H);
- PRINT_MACRO(_RWSTD_NO_WIDE_CHAR);
- PRINT_MACRO(_RWSTD_NO_WINT_TYPE);
- PRINT_MACRO(_RWSTD_NO_WSTR);
- PRINT_MACRO(_RWSTD_NOT_ALL_WSTR_CFUNCTIONS);
- PRINT_MACRO(_RWSTD_POSIX_D10_THREADS);
- PRINT_MACRO(_RWSTD_POSIX_THREADS);
- PRINT_MACRO(_RWSTD_REQUIRES_IEEEFP);
- PRINT_MACRO(_RWSTD_SOLARIS_THREADS);
- PRINT_MACRO(_RWSTD_STRUCT_TM_TZ);
- PRINT_MACRO(_RWSTD_WIDE_STRING_NULL_PROBLEM);
- #elif defined(__STD_RWCOMPILER_H__)
- // Rogue Wave 1.x std lib:
- PRINT_MACRO(__NO_EDG_EXCEPTION_CLASSES);
- PRINT_MACRO(RWSTD_ALLOCATOR);
- PRINT_MACRO(RWSTD_BAD_ALLOC_DEFINED);
- PRINT_MACRO(RWSTD_BAD_EXCEPTION_DEFINED);
- PRINT_MACRO(RWSTD_BOUNDS_CHECKING);
- PRINT_MACRO(RWSTD_COMPILE_INSTANTIATE);
- PRINT_MACRO(RWSTD_DEFAULT_PRECISION);
- PRINT_MACRO(RWSTD_EXCEPTION_DEFINED);
- PRINT_MACRO(RWSTD_EXCEPTION_HANDLER_IN_STD);
- PRINT_MACRO(RWSTD_EXCEPTION_PREDEFINED);
- PRINT_MACRO(RWSTD_FLT_ROUNDS_IS_CONSTANT);
- PRINT_MACRO(RWSTD_LOCALIZED_ERRORS);
- PRINT_MACRO(RWSTD_MESSAGE);
- PRINT_MACRO(RWSTD_MUTEXATTR_DEFAULT);
- PRINT_MACRO(RWSTD_NO_ANSI_SPRINTF);
- PRINT_MACRO(RWSTD_NO_ARG_MATCH);
- PRINT_MACRO(RWSTD_NO_BAD_CAST);
- PRINT_MACRO(RWSTD_NO_BASE_CLASS_MATCH);
- PRINT_MACRO(RWSTD_NO_BOOL);
- PRINT_MACRO(RWSTD_NO_BUILTIN_CTOR);
- PRINT_MACRO(RWSTD_NO_CATOPEN_CATGETS);
- PRINT_MACRO(RWSTD_NO_CLASS_PARTIAL_SPEC);
- PRINT_MACRO(RWSTD_NO_COMPLEX_DEFAULT_TEMPLATES);
- PRINT_MACRO(RWSTD_NO_COMPLICATED_EXCEPTIONS);
- PRINT_MACRO(RWSTD_NO_COMPLICATED_TYPEDEF);
- PRINT_MACRO(RWSTD_NO_CONST_INST);
- PRINT_MACRO(RWSTD_NO_CTOR_RETURN);
- PRINT_MACRO(RWSTD_NO_DEFAULT_FOR_TPARAM);
- PRINT_MACRO(RWSTD_NO_DEFAULT_TEMPLATE_ARGS);
- PRINT_MACRO(RWSTD_NO_DESTROY_BUILTIN);
- PRINT_MACRO(RWSTD_NO_DESTROY_NONBUILTIN);
- PRINT_MACRO(RWSTD_NO_EMBEDDED_TYPEDEF);
- PRINT_MACRO(RWSTD_NO_EX_SPEC);
- PRINT_MACRO(RWSTD_NO_EXCEPTIONS);
- PRINT_MACRO(RWSTD_NO_EXPLICIT);
- PRINT_MACRO(RWSTD_NO_EXPLICIT_ARG);
- PRINT_MACRO(RWSTD_NO_EXPLICIT_FUNC_INSTANTIATION);
- PRINT_MACRO(RWSTD_NO_EXPLICIT_INSTANTIATION);
- PRINT_MACRO(RWSTD_NO_EXTENSION);
- PRINT_MACRO(RWSTD_NO_FORWARD_SPECIALIZATIONS);
- PRINT_MACRO(RWSTD_NO_FPOS_T);
- PRINT_MACRO(RWSTD_NO_FRIEND_TEMPLATES);
- PRINT_MACRO(RWSTD_NO_FUNC_PARTIAL_SPEC);
- PRINT_MACRO(RWSTD_NO_GETTIMEOFDAY);
- PRINT_MACRO(RWSTD_NO_GLOBAL_TZ);
- PRINT_MACRO(RWSTD_NO_INHERITED_TYPEDEFS);
- PRINT_MACRO(RWSTD_NO_INIT_CONST_TEMPLATE_REF_ARG);
- PRINT_MACRO(RWSTD_NO_INT_TYPEDEF);
- PRINT_MACRO(RWSTD_NO_LDIV);
- PRINT_MACRO(RWSTD_NO_LEADING_UNDERSCORE);
- PRINT_MACRO(RWSTD_NO_LOCALE);
- PRINT_MACRO(RWSTD_NO_LONG_NAME);
- PRINT_MACRO(RWSTD_NO_LONGDOUBLE);
- PRINT_MACRO(RWSTD_NO_MBSTATE_T);
- PRINT_MACRO(RWSTD_NO_MEM_CLASS_TEMPLATES);
- PRINT_MACRO(RWSTD_NO_MEMBER_TEMPLATES);
- PRINT_MACRO(RWSTD_NO_MEMBER_TYPE_TPARAM);
- PRINT_MACRO(RWSTD_NO_MEMBER_WO_DEF_CTOR);
- PRINT_MACRO(RWSTD_NO_MEMMOVE);
- PRINT_MACRO(RWSTD_NO_MULTI_DIM_ARRAY);
- PRINT_MACRO(RWSTD_NO_MUTABLE);
- PRINT_MACRO(RWSTD_NO_NAME_INJECTION);
- PRINT_MACRO(RWSTD_NO_NAMESPACE);
- PRINT_MACRO(RWSTD_NO_NESTING_TEMPLATES);
- PRINT_MACRO(RWSTD_NO_NEW_BRACKETS);
- PRINT_MACRO(RWSTD_NO_NEW_DECL);
- PRINT_MACRO(RWSTD_NO_NEW_HEADER);
- PRINT_MACRO(RWSTD_NO_NEW_TEMPLATE_SYNTAX);
- PRINT_MACRO(RWSTD_NO_NONCLASS_ARROW_RETURN);
- PRINT_MACRO(RWSTD_NO_NONTYPE_ARGS);
- PRINT_MACRO(RWSTD_NO_ONLY_NEEDED_INSTANTIATION);
- PRINT_MACRO(RWSTD_NO_OVERLOAD_C_POW);
- PRINT_MACRO(RWSTD_NO_OVERLOAD_OF_TEMPLATE_FUNCTION);
- PRINT_MACRO(RWSTD_NO_OVERLOAD_WCHAR);
- PRINT_MACRO(RWSTD_NO_PART_SPEC_OVERLOAD);
- PRINT_MACRO(RWSTD_NO_RET_TEMPLATE);
- PRINT_MACRO(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES);
- PRINT_MACRO(RWSTD_NO_STATIC_CAST);
- PRINT_MACRO(RWSTD_NO_STATIC_DEF);
- PRINT_MACRO(RWSTD_NO_STATIC_DEF2);
- PRINT_MACRO(RWSTD_NO_STATIC_DEF3);
- PRINT_MACRO(RWSTD_NO_STATIC_MEM_DEF);
- PRINT_MACRO(RWSTD_NO_STI_SIMPLE);
- PRINT_MACRO(RWSTD_NO_STI_TEMPLATE);
- PRINT_MACRO(RWSTD_NO_STREAM_LONG_DOUBLE);
- PRINT_MACRO(RWSTD_NO_STRFTIME_CAPC);
- PRINT_MACRO(RWSTD_NO_STRICT_TEMPLATE_INSTANTIATE);
- PRINT_MACRO(RWSTD_NO_SWPRINTF);
- PRINT_MACRO(RWSTD_NO_TEMPLATE_ON_RETURN_TYPE);
- PRINT_MACRO(RWSTD_NO_TEMPLATE_TEMPLATE);
- PRINT_MACRO(RWSTD_NO_THREADS);
- PRINT_MACRO(RWSTD_NO_THROW_SPEC_ON_NEW);
- PRINT_MACRO(RWSTD_NO_THROW_WITH_SHARED);
- PRINT_MACRO(RWSTD_NO_TYPEDEF_INST);
- PRINT_MACRO(RWSTD_NO_TYPEDEF_OVERLOAD);
- PRINT_MACRO(RWSTD_NO_TYPENAME);
- PRINT_MACRO(RWSTD_NO_UNDEFINED_FRIEND);
- PRINT_MACRO(RWSTD_NO_UNINITIALIZED_STATIC_DEF);
- PRINT_MACRO(RWSTD_NO_WCHAR_H);
- PRINT_MACRO(RWSTD_NO_WCTYPE_H);
- PRINT_MACRO(RWSTD_NO_WIDE_CHAR);
- PRINT_MACRO(RWSTD_NO_WINT_TYPE);
- PRINT_MACRO(RWSTD_NO_WSTR);
- PRINT_MACRO(RWSTD_NOT_ALL_WSTR_CFUNCTIONS);
- PRINT_MACRO(RWSTD_POSIX_D10_THREADS);
- PRINT_MACRO(RWSTD_POSIX_THREADS);
- PRINT_MACRO(RWSTD_REQUIRES_IEEEFP);
- PRINT_MACRO(RWSTD_SOLARIS_THREADS);
- PRINT_MACRO(RWSTD_STRUCT_TM_TZ);
- PRINT_MACRO(RWSTD_WIDE_STRING_NULL_PROBLEM);
- #endif
- // Dinkumware options:
- PRINT_MACRO(_CPPLIB_VER);
- PRINT_MACRO(_MSVC_STL_VERSION); // VS2017 15.5+
- PRINT_MACRO(_MSVC_STL_UPDATE); // VS2017 15.5+
- PRINT_MACRO(_GLOBAL_USING);
- PRINT_MACRO(_HAS_EXCEPTIONS);
- PRINT_MACRO(_HAS_MEMBER_TEMPLATES_REBIND);
- PRINT_MACRO(_HAS_TEMPLATE_PARTIAL_ORDERING);
- // https://blogs.msdn.microsoft.com/vcblog/2016/08/12/stl-fixes-in-vs-2015-update-3/
- PRINT_MACRO(_HAS_CXX17);
- PRINT_MACRO(_HAS_AUTO_PTR_ETC);
- PRINT_MACRO(_HAS_OLD_IOSTREAMS_MEMBERS);
- PRINT_MACRO(_HAS_FUNCTION_ASSIGN);
- PRINT_MACRO(_HAS_TR1_NAMESPACE);
- PRINT_MACRO(_HAS_IDENTITY_STRUCT);
- // VS2017 15.5+
- PRINT_MACRO(_HAS_STATIC_RTTI);
- PRINT_MACRO(_HAS_UNEXPECTED);
- PRINT_MACRO(_HAS_STD_BYTE);
- PRINT_MACRO(_HAS_FUNCTION_ALLOCATOR_SUPPORT);
- PRINT_MACRO(_HAS_TR2_SYS_NAMESPACE);
- PRINT_MACRO(_ENFORCE_MATCHING_ALLOCATORS);
- PRINT_MACRO(_HAS_HAS_UNIQUE_OBJECT_REPRESENTATIONS);
- PRINT_MACRO(_HAS_INLINE_VARIABLES);
- PRINT_MACRO(_HAS_ALIGNED_NEW);
- PRINT_MACRO(_HAS_NOEXCEPT_FUNCTION_TYPES);
- PRINT_MACRO(_ITERATOR_DEBUG_LEVEL);
- PRINT_MACRO(_HAS_ITERATOR_DEBUGGING);
- PRINT_MACRO(_ITERATOR_DEBUG_ARRAY_OVERLOADS);
- // Libc++:
- PRINT_MACRO(_LIBCPP_VERSION);
- // STLPort and generic SGI STL options:
- PRINT_MACRO(__SGI_STL_NO_ARROW_OPERATOR);
- PRINT_MACRO(__SGI_STL_OWN_IOSTREAMS);
- PRINT_MACRO(__SGI_STL_PORT);
- PRINT_MACRO(__STL_AUTOMATIC_TYPE_TRAITS);
- PRINT_MACRO(__STL_BASE_MATCH_BUG);
- PRINT_MACRO(__STL_BASE_TYPEDEF_BUG);
- PRINT_MACRO(__STL_BASE_TYPEDEF_OUTSIDE_BUG);
- PRINT_MACRO(__STL_BROKEN_USING_DIRECTIVE);
- PRINT_MACRO(__STL_CONST_CONSTRUCTOR_BUG);
- PRINT_MACRO(__STL_DEBUG);
- PRINT_MACRO(__STL_DEBUG_ALLOC);
- PRINT_MACRO(__STL_DEFAULT_CONSTRUCTOR_BUG);
- PRINT_MACRO(__STL_DEFAULT_TYPE_PARAM);
- PRINT_MACRO(__STL_DONT_REDEFINE_STD);
- PRINT_MACRO(__STL_DONT_USE_BOOL_TYPEDEF);
- PRINT_MACRO(__STL_HAS_NO_EXCEPTIONS);
- PRINT_MACRO(__STL_HAS_NO_NAMESPACES);
- PRINT_MACRO(__STL_HAS_NO_NEW_C_HEADERS);
- PRINT_MACRO(__STL_HAS_NO_NEW_IOSTREAMS);
- PRINT_MACRO(__STL_IMPORT_VENDOR_CSTD);
- PRINT_MACRO(__STL_LIMITED_DEFAULT_TEMPLATES);
- PRINT_MACRO(__STL_LINK_TIME_INSTANTIATION);
- PRINT_MACRO(__STL_LONG_LONG);
- PRINT_MACRO(__STL_LOOP_INLINE_PROBLEMS);
- PRINT_MACRO(__STL_MEMBER_POINTER_PARAM_BUG);
- PRINT_MACRO(__STL_NEED_EXPLICIT);
- PRINT_MACRO(__STL_NEED_MUTABLE);
- PRINT_MACRO(__STL_NEED_TYPENAME);
- PRINT_MACRO(__STL_NESTED_TYPE_PARAM_BUG);
- PRINT_MACRO(__STL_NO_BAD_ALLOC);
- PRINT_MACRO(__STL_NO_BOOL);
- PRINT_MACRO(__STL_NO_CLASS_PARTIAL_SPECIALIZATION);
- PRINT_MACRO(__STL_NO_CSTD_FUNCTION_IMPORTS);
- PRINT_MACRO(__STL_NO_DEFAULT_NON_TYPE_PARAM);
- PRINT_MACRO(__STL_NO_EXCEPTION_HEADER);
- PRINT_MACRO(__STL_NO_EXCEPTION_SPEC);
- PRINT_MACRO(__STL_NO_EXCEPTIONS);
- PRINT_MACRO(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS);
- PRINT_MACRO(__STL_NO_FRIEND_TEMPLATES);
- PRINT_MACRO(__STL_NO_FUNCTION_TMPL_PARTIAL_ORDER);
- PRINT_MACRO(__STL_NO_IOSTREAMS);
- PRINT_MACRO(__STL_NO_LONG_DOUBLE);
- PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_CLASSES);
- PRINT_MACRO(__STL_NO_MEMBER_TEMPLATE_KEYWORD);
- PRINT_MACRO(__STL_NO_MEMBER_TEMPLATES);
- PRINT_MACRO(__STL_NO_METHOD_SPECIALIZATION);
- PRINT_MACRO(__STL_NO_NAMESPACES);
- PRINT_MACRO(__STL_NO_NEW_IOSTREAMS);
- PRINT_MACRO(__STL_NO_NEW_NEW_HEADER);
- PRINT_MACRO(__STL_NO_NEW_STYLE_CASTS);
- PRINT_MACRO(__STL_NO_PARTIAL_SPECIALIZATION_SYNTAX);
- PRINT_MACRO(__STL_NO_QUALIFIED_FRIENDS);
- PRINT_MACRO(__STL_NO_RELOPS_NAMESPACE);
- PRINT_MACRO(__STL_NO_SGI_IOSTREAMS);
- PRINT_MACRO(__STL_NO_STATIC_TEMPLATE_DATA);
- PRINT_MACRO(__STL_NO_TEMPLATE_CONVERSIONS);
- PRINT_MACRO(__STL_NO_WCHAR_T);
- PRINT_MACRO(__STL_NON_TYPE_TMPL_PARAM_BUG);
- PRINT_MACRO(__STL_NONTEMPL_BASE_MATCH_BUG);
- PRINT_MACRO(__STL_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS);
- PRINT_MACRO(__STL_RAND48);
- PRINT_MACRO(__STL_STATIC_ARRAY_BUG);
- PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG);
- PRINT_MACRO(__STL_STATIC_CONST_INIT_BUG);
- PRINT_MACRO(__STL_THROW_RETURN_BUG);
- PRINT_MACRO(__STL_TRIVIAL_CONSTRUCTOR_BUG);
- PRINT_MACRO(__STL_TRIVIAL_DESTRUCTOR_BUG);
- PRINT_MACRO(__STL_UNINITIALIZABLE_PRIVATE);
- PRINT_MACRO(__STL_USE_ABBREVS);
- PRINT_MACRO(__STL_USE_DEFALLOC);
- PRINT_MACRO(__STL_USE_MALLOC);
- PRINT_MACRO(__STL_USE_NEW_C_HEADERS);
- PRINT_MACRO(__STL_USE_NEW_IOSTREAMS);
- PRINT_MACRO(__STL_USE_NEWALLOC);
- PRINT_MACRO(__STL_USE_OWN_NAMESPACE);
- PRINT_MACRO(__STL_USE_SGI_ALLOCATORS);
- PRINT_MACRO(__STL_WCHAR_T_IS_USHORT);
- PRINT_MACRO(__STL_WEAK_ATTRIBUTE);
- PRINT_MACRO(__STL_YVALS_H);
- PRINT_MACRO(_NOTHREADS);
- PRINT_MACRO(_PTHREADS);
- #if defined(__SGI_STL_PORT) && (__SGI_STL_PORT > 0x0400)
- PRINT_MACRO(_STLP_AUTOMATIC_TYPE_TRAITS);
- PRINT_MACRO(_STLP_BASE_MATCH_BUG);
- PRINT_MACRO(_STLP_BASE_TYPEDEF_BUG);
- PRINT_MACRO(_STLP_BASE_TYPEDEF_OUTSIDE_BUG);
- PRINT_MACRO(_STLP_BROKEN_USING_DIRECTIVE);
- PRINT_MACRO(_STLP_CONST_CONSTRUCTOR_BUG);
- PRINT_MACRO(_STLP_DEBUG);
- PRINT_MACRO(_STLP_DEBUG_ALLOC);
- PRINT_MACRO(_STLP_DEFAULT_CONSTRUCTOR_BUG);
- PRINT_MACRO(_STLP_DEFAULT_TYPE_PARAM);
- PRINT_MACRO(_STLP_DONT_REDEFINE_STD);
- PRINT_MACRO(_STLP_DONT_USE_BOOL_TYPEDEF);
- PRINT_MACRO(_STLP_HAS_NO_EXCEPTIONS);
- PRINT_MACRO(_STLP_HAS_NO_NAMESPACES);
- PRINT_MACRO(_STLP_HAS_NO_NEW_C_HEADERS);
- PRINT_MACRO(_STLP_HAS_NO_NEW_IOSTREAMS);
- PRINT_MACRO(_STLP_IMPORT_VENDOR_CSTD);
- PRINT_MACRO(_STLP_LIMITED_DEFAULT_TEMPLATES);
- PRINT_MACRO(_STLP_LINK_TIME_INSTANTIATION);
- PRINT_MACRO(_STLP_LONG_LONG);
- PRINT_MACRO(_STLP_LOOP_INLINE_PROBLEMS);
- PRINT_MACRO(_STLP_MEMBER_POINTER_PARAM_BUG);
- PRINT_MACRO(_STLP_NEED_EXPLICIT);
- PRINT_MACRO(_STLP_NEED_MUTABLE);
- PRINT_MACRO(_STLP_NEED_TYPENAME);
- PRINT_MACRO(_STLP_NESTED_TYPE_PARAM_BUG);
- PRINT_MACRO(_STLP_NO_ARROW_OPERATOR);
- PRINT_MACRO(_STLP_NO_BAD_ALLOC);
- PRINT_MACRO(_STLP_NO_BOOL);
- PRINT_MACRO(_STLP_NO_CLASS_PARTIAL_SPECIALIZATION);
- PRINT_MACRO(_STLP_NO_CSTD_FUNCTION_IMPORTS);
- PRINT_MACRO(_STLP_NO_DEFAULT_NON_TYPE_PARAM);
- PRINT_MACRO(_STLP_NO_EXCEPTION_HEADER);
- PRINT_MACRO(_STLP_NO_EXCEPTION_SPEC);
- PRINT_MACRO(_STLP_NO_EXCEPTIONS);
- PRINT_MACRO(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS);
- PRINT_MACRO(_STLP_NO_FRIEND_TEMPLATES);
- PRINT_MACRO(_STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER);
- PRINT_MACRO(_STLP_NO_IOSTREAMS);
- PRINT_MACRO(_STLP_NO_LONG_DOUBLE);
- PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_CLASSES);
- PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATE_KEYWORD);
- PRINT_MACRO(_STLP_NO_MEMBER_TEMPLATES);
- PRINT_MACRO(_STLP_NO_METHOD_SPECIALIZATION);
- PRINT_MACRO(_STLP_NO_NAMESPACES);
- PRINT_MACRO(_STLP_NO_NEW_IOSTREAMS);
- PRINT_MACRO(_STLP_NO_NEW_NEW_HEADER);
- PRINT_MACRO(_STLP_NO_NEW_STYLE_CASTS);
- PRINT_MACRO(_STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX);
- PRINT_MACRO(_STLP_NO_QUALIFIED_FRIENDS);
- PRINT_MACRO(_STLP_NO_RELOPS_NAMESPACE);
- PRINT_MACRO(_STLP_NO_SGI_IOSTREAMS);
- PRINT_MACRO(_STLP_NO_STATIC_TEMPLATE_DATA);
- PRINT_MACRO(_STLP_NO_TEMPLATE_CONVERSIONS);
- PRINT_MACRO(_STLP_NO_WCHAR_T);
- PRINT_MACRO(_STLP_NON_TYPE_TMPL_PARAM_BUG);
- PRINT_MACRO(_STLP_NONTEMPL_BASE_MATCH_BUG);
- PRINT_MACRO(_STLP_OWN_IOSTREAMS);
- PRINT_MACRO(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS);
- PRINT_MACRO(_STLP_RAND48);
- PRINT_MACRO(_STLP_STATIC_ARRAY_BUG);
- PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG);
- PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG);
- PRINT_MACRO(_STLP_THROW_RETURN_BUG);
- PRINT_MACRO(_STLP_TRIVIAL_CONSTRUCTOR_BUG);
- PRINT_MACRO(_STLP_TRIVIAL_DESTRUCTOR_BUG);
- PRINT_MACRO(_STLP_UNINITIALIZABLE_PRIVATE);
- PRINT_MACRO(_STLP_USE_ABBREVS);
- PRINT_MACRO(_STLP_USE_DEFALLOC);
- PRINT_MACRO(_STLP_USE_MALLOC);
- PRINT_MACRO(_STLP_USE_NEW_C_HEADERS);
- PRINT_MACRO(_STLP_USE_NEWALLOC);
- PRINT_MACRO(_STLP_USE_OWN_NAMESPACE);
- PRINT_MACRO(_STLP_USE_SGI_ALLOCATORS);
- PRINT_MACRO(_STLP_WCHAR_T_IS_USHORT);
- PRINT_MACRO(_STLP_WEAK_ATTRIBUTE);
- PRINT_MACRO(_STLP_YVALS_H);
- #endif
- PRINT_MACRO(__GLIBCPP__);
- PRINT_MACRO(_GLIBCPP_USE_WCHAR_T);
- PRINT_MACRO(_GLIBCPP_VERSION);
- PRINT_MACRO(__GLIBCXX__);
- PRINT_MACRO(_GLIBCXX_USE_WCHAR_T);
- PRINT_MACRO(_GLIBCXX_VERSION);
- PRINT_MACRO(_GLIBCXX_USE_LONG_LONG);
- PRINT_MACRO(_GLIBCXX_USE_NLS);
- PRINT_MACRO(_GLIBCXX_USE_C99_MATH);
- PRINT_MACRO(_GLIBCXX_USE_C99);
- PRINT_MACRO(_GLIBCXX_CONCEPT_CHECKS);
- PRINT_MACRO(_GLIBCXX_USE_LFS);
- PRINT_MACRO(_GLIBCXX_SYMVER);
- PRINT_MACRO(_GLIBCXX_MEM_LIMITS);
- PRINT_MACRO(_GLIBCXX_HOSTED);
- PRINT_MACRO(_GLIBCXX_SJLJ_EXCEPTIONS);
- PRINT_MACRO(_GLIBCXX_RELEASE);
- // Modena C++ standard library
- PRINT_MACRO(MSIPL_ANSI_HEADER);
- PRINT_MACRO(MSIPL_BOOL_BUILTIN);
- PRINT_MACRO(MSIPL_DEF_EXPLICIT);
- PRINT_MACRO(MSIPL_DEF_TEMPARG);
- PRINT_MACRO(MSIPL_EXPINST_ALLOWED);
- PRINT_MACRO(MSIPL_EXPLICIT_FUNC_TEMPLATE_ARG);
- PRINT_MACRO(MISPL_EXPLICIT_TEMPLATE_ARGUMENT);
- PRINT_MACRO(MSIPL_FUNC_TEMPLATE_DEFARG);
- PRINT_MACRO(MSIPL_MEMBER_TEMPLATE);
- PRINT_MACRO(MSIPL_MULTITHREAD);
- PRINT_MACRO(MSIPL_NON_TYPE_TEMPARG);
- PRINT_MACRO(MSIPL_PARTIAL_TEMPL);
- PRINT_MACRO(MSIPL_STATIC_CONST_INIT);
- PRINT_MACRO(MSIPL_TEMPL_NEWSPEC);
- PRINT_MACRO(MSIPL_TYPENAME);
- PRINT_MACRO(MSIPL_USING_NAMESPACE);
- PRINT_MACRO(MSIPL_WCHART);
- }
- void print_platform_macros()
- {
- std::cout << "Detected Platform: " << BOOST_PLATFORM << std::endl;
- // signedness:
- PRINT_SIGN(char);
- PRINT_SIGN(wchar_t);
- // byte ordering:
- PRINT_ORDER(short);
- PRINT_ORDER(int);
- PRINT_ORDER(long);
- // sizes:
- PRINT_EXPRESSION(sizeof(wchar_t));
- PRINT_EXPRESSION(sizeof(short));
- PRINT_EXPRESSION(sizeof(int));
- PRINT_EXPRESSION(sizeof(long));
- PRINT_EXPRESSION(sizeof(size_t));
- PRINT_EXPRESSION(sizeof(ptrdiff_t));
- PRINT_EXPRESSION(sizeof(void*));
- PRINT_EXPRESSION(sizeof(void(*)(void)));
- PRINT_EXPRESSION(sizeof(float));
- PRINT_EXPRESSION(sizeof(double));
- PRINT_EXPRESSION(sizeof(long double));
- // limits:
- PRINT_MACRO(CHAR_BIT);
- PRINT_MACRO(CHAR_MAX);
- PRINT_MACRO(WCHAR_MAX);
- PRINT_MACRO(SHRT_MAX);
- PRINT_MACRO(INT_MAX);
- PRINT_MACRO(LONG_MAX);
- PRINT_MACRO(LLONG_MAX);
- PRINT_MACRO(LONG_LONG_MAX);
- PRINT_MACRO(LONGLONG_MAX);
- PRINT_MACRO(ULLONG_MAX); // <boost/cstdint.hpp> uses these, so we need to know them
- PRINT_MACRO(ULONG_LONG_MAX);
- PRINT_MACRO(ULONGLONG_MAX);
- // general C99:
- PRINT_MACRO(__STDC_IEC_559__);
- PRINT_MACRO(__STDC_IEC_559_COMPLEX__);
- PRINT_MACRO(__STDC_ISO_10646__);
- // GNU:
- PRINT_MACRO(__GLIBC__);
- PRINT_MACRO(__GLIBC_MINOR__);
- PRINT_MACRO(__GNU_LIBRARY__);
- PRINT_MACRO(_BSD_SOURCE);
- PRINT_MACRO(_GNU_SOURCE);
- PRINT_MACRO(_ISOC99_SOURCE);
- PRINT_MACRO(_ISOC9X_SOURCE);
- PRINT_MACRO(_LARGEFILE_SOURCE);
- PRINT_MACRO(_LARGEFILE64_SOURCE);
- PRINT_MACRO(_SVID_SOURCE);
- PRINT_MACRO(_THREAD_SAFE);
- PRINT_MACRO(_XOPEN_SOURCE_EXTENDED);
- PRINT_MACRO(XPG);
- PRINT_MACRO(__MINGW32_MAJOR_VERSION);
- PRINT_MACRO(__MINGW32_MINOR_VERSION);
- // POSIX:
- PRINT_MACRO(_POSIX_ADVISORY_INFO);
- PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO);
- PRINT_MACRO(_POSIX_BARRIERS);
- PRINT_MACRO(_POSIX_C_SOURCE);
- PRINT_MACRO(_POSIX_CHOWN_RESTRICTED);
- PRINT_MACRO(_POSIX_CLOCK_SELECTION);
- PRINT_MACRO(_POSIX_CPUTIME);
- PRINT_MACRO(_POSIX_FSYNC);
- PRINT_MACRO(_POSIX_JOB_CONTROL);
- PRINT_MACRO(_POSIX_MAPPED_FILES);
- PRINT_MACRO(_POSIX_MEMLOCK);
- PRINT_MACRO(_POSIX_MEMLOCK_RANGE);
- PRINT_MACRO(_POSIX_MEMORY_PROTECTION);
- PRINT_MACRO(_POSIX_MESSAGE_PASSING);
- PRINT_MACRO(_POSIX_MONOTONIC_CLOCK);
- PRINT_MACRO(_POSIX_NO_TRUNC);
- PRINT_MACRO(_POSIX_PRIORITIZED_IO);
- PRINT_MACRO(_POSIX_PRIORITY_SCHEDULING);
- PRINT_MACRO(_POSIX_RAW_SOCKETS);
- PRINT_MACRO(_POSIX_READER_WRITER_LOCKS);
- PRINT_MACRO(_POSIX_REALTIME_SIGNALS);
- PRINT_MACRO(_POSIX_REGEXP);
- PRINT_MACRO(_POSIX_SAVED_IDS);
- PRINT_MACRO(_POSIX_SEMAPHORES);
- PRINT_MACRO(_POSIX_SHARED_MEMORY_OBJECTS);
- PRINT_MACRO(_POSIX_SHELL);
- PRINT_MACRO(_POSIX_SOURCE);
- PRINT_MACRO(_POSIX_SPAWN);
- PRINT_MACRO(_POSIX_SPIN_LOCKS);
- PRINT_MACRO(_POSIX_SPORADIC_SERVER);
- PRINT_MACRO(_POSIX_SYNCHRONIZED_IO);
- PRINT_MACRO(_POSIX_THREAD_ATTR_STACKADDR);
- PRINT_MACRO(_POSIX_THREAD_ATTR_STACKSIZE);
- PRINT_MACRO(_POSIX_THREAD_CPUTIME);
- PRINT_MACRO(_POSIX_THREAD_PRIO_INHERIT);
- PRINT_MACRO(_POSIX_THREAD_PRIO_PROTECT);
- PRINT_MACRO(_POSIX_THREAD_PRIORITY_SCHEDULING);
- PRINT_MACRO(_POSIX_THREAD_PROCESS_SHARED);
- PRINT_MACRO(_POSIX_THREAD_SAFE_FUNCTIONS);
- PRINT_MACRO(_POSIX_THREAD_SPORADIC_SERVER);
- PRINT_MACRO(_POSIX_THREADS);
- PRINT_MACRO(_POSIX_TIMEOUTS);
- PRINT_MACRO(_POSIX_TIMERS);
- PRINT_MACRO(_POSIX_TRACE);
- PRINT_MACRO(_POSIX_TRACE_EVENT_FILTER);
- PRINT_MACRO(_POSIX_TRACE_INHERIT);
- PRINT_MACRO(_POSIX_TRACE_LOG);
- PRINT_MACRO(_POSIX_TYPED_MEMORY_OBJECTS);
- PRINT_MACRO(_POSIX_VDISABLE);
- PRINT_MACRO(_POSIX_VERSION);
- PRINT_MACRO(_POSIX2_C_BIND);
- PRINT_MACRO(_POSIX2_C_DEV);
- PRINT_MACRO(_POSIX2_CHAR_TERM);
- PRINT_MACRO(_POSIX2_FORT_DEV);
- PRINT_MACRO(_POSIX2_FORT_RUN);
- PRINT_MACRO(_POSIX2_LOCALEDEF);
- PRINT_MACRO(_POSIX2_PBS);
- PRINT_MACRO(_POSIX2_PBS_ACCOUNTING);
- PRINT_MACRO(_POSIX2_PBS_CHECKPOINT);
- PRINT_MACRO(_POSIX2_PBS_LOCATE);
- PRINT_MACRO(_POSIX2_PBS_MESSAGE);
- PRINT_MACRO(_POSIX2_PBS_TRACK);
- PRINT_MACRO(_POSIX2_SW_DEV);
- PRINT_MACRO(_POSIX2_UPE);
- PRINT_MACRO(_POSIX2_VERSION);
- PRINT_MACRO(_V6_ILP32_OFF32);
- PRINT_MACRO(_V6_ILP32_OFFBIG);
- PRINT_MACRO(_V6_LP64_OFF64);
- PRINT_MACRO(_V6_LPBIG_OFFBIG);
- PRINT_MACRO(_XBS5_ILP32_OFF32);
- PRINT_MACRO(_XBS5_ILP32_OFFBIG);
- PRINT_MACRO(_XBS5_LP64_OFF64);
- PRINT_MACRO(_XBS5_LPBIG_OFFBIG);
- PRINT_MACRO(_XOPEN_CRYPT);
- PRINT_MACRO(_XOPEN_ENH_I18N);
- PRINT_MACRO(_XOPEN_LEGACY);
- PRINT_MACRO(_XOPEN_REALTIME);
- PRINT_MACRO(_XOPEN_REALTIME_THREADS);
- PRINT_MACRO(_XOPEN_SHM);
- PRINT_MACRO(_XOPEN_SOURCE);
- PRINT_MACRO(_XOPEN_STREAMS);
- PRINT_MACRO(_XOPEN_UNIX);
- PRINT_MACRO(_XOPEN_VERSION);
- // Misc:
- PRINT_MACRO(__USE_BSD);
- PRINT_MACRO(_FILE_OFFSET_BITS);
- }
- void print_boost_macros()
- {
- std::cout << "Boost version " << BOOST_STRINGIZE(BOOST_VERSION) << std::endl;
- // config setup macros first:
- PRINT_MACRO(BOOST_USER_CONFIG);
- PRINT_MACRO(BOOST_COMPILER_CONFIG);
- PRINT_MACRO(BOOST_STDLIB_CONFIG);
- PRINT_MACRO(BOOST_PLATFORM_CONFIG);
- PRINT_MACRO(BOOST_NO_CONFIG);
- PRINT_MACRO(BOOST_NO_USER_CONFIG);
- PRINT_MACRO(BOOST_NO_COMPILER_CONFIG);
- PRINT_MACRO(BOOST_NO_STDLIB_CONFIG);
- PRINT_MACRO(BOOST_NO_PLATFORM_CONFIG);
- // then defect and feature macros:
- PRINT_MACRO(BOOST_DISABLE_THREADS);
- PRINT_MACRO(BOOST_DISABLE_WIN32);
- PRINT_MACRO(BOOST_HAS_THREADS);
- PRINT_MACRO(BOOST_WINDOWS);
- // BEGIN GENERATED BLOCK DO NOT EDIT THIS!!!!!!
- PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG);
- PRINT_MACRO(BOOST_DEDUCED_TYPENAME);
- PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL);
- PRINT_MACRO(BOOST_HAS_BETHREADS);
- PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
- PRINT_MACRO(BOOST_HAS_DIRENT_H);
- PRINT_MACRO(BOOST_HAS_EXPM1);
- PRINT_MACRO(BOOST_HAS_FLOAT128);
- PRINT_MACRO(BOOST_HAS_FTIME);
- PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME);
- PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY);
- PRINT_MACRO(BOOST_HAS_HASH);
- PRINT_MACRO(BOOST_HAS_INT128);
- PRINT_MACRO(BOOST_HAS_LOG1P);
- PRINT_MACRO(BOOST_HAS_LONG_LONG);
- PRINT_MACRO(BOOST_HAS_MACRO_USE_FACET);
- PRINT_MACRO(BOOST_HAS_MS_INT64);
- PRINT_MACRO(BOOST_HAS_NANOSLEEP);
- PRINT_MACRO(BOOST_HAS_NL_TYPES_H);
- PRINT_MACRO(BOOST_HAS_NRVO);
- PRINT_MACRO(BOOST_HAS_PARTIAL_STD_ALLOCATOR);
- PRINT_MACRO(BOOST_HAS_PRAGMA_DETECT_MISMATCH);
- PRINT_MACRO(BOOST_HAS_PTHREADS);
- PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP);
- PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE);
- PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD);
- PRINT_MACRO(BOOST_HAS_RVALUE_REFS);
- PRINT_MACRO(BOOST_HAS_SCHED_YIELD);
- PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS);
- PRINT_MACRO(BOOST_HAS_SIGACTION);
- PRINT_MACRO(BOOST_HAS_SLIST);
- PRINT_MACRO(BOOST_HAS_STATIC_ASSERT);
- PRINT_MACRO(BOOST_HAS_STDINT_H);
- PRINT_MACRO(BOOST_HAS_STLP_USE_FACET);
- PRINT_MACRO(BOOST_HAS_TWO_ARG_USE_FACET);
- PRINT_MACRO(BOOST_HAS_UNISTD_H);
- PRINT_MACRO(BOOST_HAS_VARIADIC_TMPL);
- PRINT_MACRO(BOOST_HAS_WINTHREADS);
- PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES);
- PRINT_MACRO(BOOST_MSVC_STD_ITERATOR);
- PRINT_MACRO(BOOST_NO_ADL_BARRIER);
- PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
- PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS);
- PRINT_MACRO(BOOST_NO_AUTO_PTR);
- PRINT_MACRO(BOOST_NO_COMPLETE_VALUE_INITIALIZATION);
- PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS);
- PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS);
- PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS);
- PRINT_MACRO(BOOST_NO_CWCHAR);
- PRINT_MACRO(BOOST_NO_CWCTYPE);
- PRINT_MACRO(BOOST_NO_CXX11_ADDRESSOF);
- PRINT_MACRO(BOOST_NO_CXX11_ALIGNAS);
- PRINT_MACRO(BOOST_NO_CXX11_ALLOCATOR);
- PRINT_MACRO(BOOST_NO_CXX11_ATOMIC_SMART_PTR);
- PRINT_MACRO(BOOST_NO_CXX11_AUTO_DECLARATIONS);
- PRINT_MACRO(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS);
- PRINT_MACRO(BOOST_NO_CXX11_CHAR16_T);
- PRINT_MACRO(BOOST_NO_CXX11_CHAR32_T);
- PRINT_MACRO(BOOST_NO_CXX11_CONSTEXPR);
- PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE);
- PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE_N3276);
- PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS);
- PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_MOVES);
- PRINT_MACRO(BOOST_NO_CXX11_DELETED_FUNCTIONS);
- PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS);
- PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE);
- PRINT_MACRO(BOOST_NO_CXX11_FINAL);
- PRINT_MACRO(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS);
- PRINT_MACRO(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_ARRAY);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_ATOMIC);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_CHRONO);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_CODECVT);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_EXCEPTION);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_FORWARD_LIST);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_FUNCTIONAL);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_FUTURE);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_INITIALIZER_LIST);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_MUTEX);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_RANDOM);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_RATIO);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_REGEX);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_SYSTEM_ERROR);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_THREAD);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_TUPLE);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPEINDEX);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_TYPE_TRAITS);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_MAP);
- PRINT_MACRO(BOOST_NO_CXX11_HDR_UNORDERED_SET);
- PRINT_MACRO(BOOST_NO_CXX11_INLINE_NAMESPACES);
- PRINT_MACRO(BOOST_NO_CXX11_LAMBDAS);
- PRINT_MACRO(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS);
- PRINT_MACRO(BOOST_NO_CXX11_NOEXCEPT);
- PRINT_MACRO(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS);
- PRINT_MACRO(BOOST_NO_CXX11_NULLPTR);
- PRINT_MACRO(BOOST_NO_CXX11_NUMERIC_LIMITS);
- PRINT_MACRO(BOOST_NO_CXX11_POINTER_TRAITS);
- PRINT_MACRO(BOOST_NO_CXX11_RANGE_BASED_FOR);
- PRINT_MACRO(BOOST_NO_CXX11_RAW_LITERALS);
- PRINT_MACRO(BOOST_NO_CXX11_REF_QUALIFIERS);
- PRINT_MACRO(BOOST_NO_CXX11_RVALUE_REFERENCES);
- PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS);
- PRINT_MACRO(BOOST_NO_CXX11_SFINAE_EXPR);
- PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR);
- PRINT_MACRO(BOOST_NO_CXX11_STATIC_ASSERT);
- PRINT_MACRO(BOOST_NO_CXX11_STD_ALIGN);
- PRINT_MACRO(BOOST_NO_CXX11_TEMPLATE_ALIASES);
- PRINT_MACRO(BOOST_NO_CXX11_THREAD_LOCAL);
- PRINT_MACRO(BOOST_NO_CXX11_TRAILING_RESULT_TYPES);
- PRINT_MACRO(BOOST_NO_CXX11_UNICODE_LITERALS);
- PRINT_MACRO(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX);
- PRINT_MACRO(BOOST_NO_CXX11_USER_DEFINED_LITERALS);
- PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_MACROS);
- PRINT_MACRO(BOOST_NO_CXX11_VARIADIC_TEMPLATES);
- PRINT_MACRO(BOOST_NO_CXX14_AGGREGATE_NSDMI);
- PRINT_MACRO(BOOST_NO_CXX14_BINARY_LITERALS);
- PRINT_MACRO(BOOST_NO_CXX14_CONSTEXPR);
- PRINT_MACRO(BOOST_NO_CXX14_DECLTYPE_AUTO);
- PRINT_MACRO(BOOST_NO_CXX14_DIGIT_SEPARATORS);
- PRINT_MACRO(BOOST_NO_CXX14_GENERIC_LAMBDAS);
- PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX);
- PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES);
- PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION);
- PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE);
- PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
- PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS);
- PRINT_MACRO(BOOST_NO_CXX17_HDR_OPTIONAL);
- PRINT_MACRO(BOOST_NO_CXX17_HDR_STRING_VIEW);
- PRINT_MACRO(BOOST_NO_CXX17_HDR_VARIANT);
- PRINT_MACRO(BOOST_NO_CXX17_IF_CONSTEXPR);
- PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES);
- PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS);
- PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY);
- PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE);
- PRINT_MACRO(BOOST_NO_CXX17_STRUCTURED_BINDINGS);
- PRINT_MACRO(BOOST_NO_CXX98_BINDERS);
- PRINT_MACRO(BOOST_NO_CXX98_FUNCTION_BASE);
- PRINT_MACRO(BOOST_NO_CXX98_RANDOM_SHUFFLE);
- PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS);
- PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS);
- PRINT_MACRO(BOOST_NO_EXCEPTIONS);
- PRINT_MACRO(BOOST_NO_EXCEPTION_STD_NAMESPACE);
- PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS);
- PRINT_MACRO(BOOST_NO_FENV_H);
- PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING);
- PRINT_MACRO(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS);
- PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION);
- PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T);
- PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T);
- PRINT_MACRO(BOOST_NO_IOSFWD);
- PRINT_MACRO(BOOST_NO_IOSTREAM);
- PRINT_MACRO(BOOST_NO_IS_ABSTRACT);
- PRINT_MACRO(BOOST_NO_LIMITS);
- PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS);
- PRINT_MACRO(BOOST_NO_LONG_LONG);
- PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS);
- PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS);
- PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES);
- PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_FRIENDS);
- PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD);
- PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS);
- PRINT_MACRO(BOOST_NO_NESTED_FRIENDSHIP);
- PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE);
- PRINT_MACRO(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS);
- PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
- PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS);
- PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
- PRINT_MACRO(BOOST_NO_RESTRICT_REFERENCES);
- PRINT_MACRO(BOOST_NO_RTTI);
- PRINT_MACRO(BOOST_NO_SFINAE);
- PRINT_MACRO(BOOST_NO_SFINAE_EXPR);
- PRINT_MACRO(BOOST_NO_STDC_NAMESPACE);
- PRINT_MACRO(BOOST_NO_STD_ALLOCATOR);
- PRINT_MACRO(BOOST_NO_STD_DISTANCE);
- PRINT_MACRO(BOOST_NO_STD_ITERATOR);
- PRINT_MACRO(BOOST_NO_STD_ITERATOR_TRAITS);
- PRINT_MACRO(BOOST_NO_STD_LOCALE);
- PRINT_MACRO(BOOST_NO_STD_MESSAGES);
- PRINT_MACRO(BOOST_NO_STD_MIN_MAX);
- PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN);
- PRINT_MACRO(BOOST_NO_STD_TYPEINFO);
- PRINT_MACRO(BOOST_NO_STD_USE_FACET);
- PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF);
- PRINT_MACRO(BOOST_NO_STD_WSTRING);
- PRINT_MACRO(BOOST_NO_STRINGSTREAM);
- PRINT_MACRO(BOOST_NO_SWPRINTF);
- PRINT_MACRO(BOOST_NO_TEMPLATED_IOSTREAMS);
- PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS);
- PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION);
- PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES);
- PRINT_MACRO(BOOST_NO_TWO_PHASE_NAME_LOOKUP);
- PRINT_MACRO(BOOST_NO_TYPEID);
- PRINT_MACRO(BOOST_NO_TYPENAME_WITH_CTOR);
- PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION);
- PRINT_MACRO(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE);
- PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
- PRINT_MACRO(BOOST_NO_VOID_RETURNS);
- // END GENERATED BLOCK
- PRINT_MACRO(BOOST_INTEL);
- PRINT_MACRO(BOOST_MSVC);
- PRINT_MACRO(BOOST_GCC);
- PRINT_MACRO(BOOST_LIBSTDCXX_VERSION);
- PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
- PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
- PRINT_MACRO(BOOST_CONSTEXPR);
- PRINT_MACRO(BOOST_CONSTEXPR_OR_CONST);
- PRINT_MACRO(BOOST_STATIC_CONSTEXPR);
- PRINT_MACRO(BOOST_NOEXCEPT);
- PRINT_MACRO(BOOST_FORCEINLINE);
- PRINT_MACRO(BOOST_NOINLINE);
- PRINT_MACRO(BOOST_FALLTHROUGH);
- PRINT_MACRO(BOOST_MAY_ALIAS);
- PRINT_MACRO(BOOST_NO_MAY_ALIAS);
- PRINT_MACRO(BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS);
- PRINT_MACRO(BOOST_ATTRIBUTE_UNUSED);
- PRINT_MACRO(BOOST_UNLIKELY);
- PRINT_MACRO(BOOST_NORETURN);
- }
- void print_sd6_macros()
- {
- // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0096r5.html
- // C++20:
- PRINT_MACRO(__cpp_aggregate_paren_init);
- PRINT_MACRO(__cpp_char8_t);
- PRINT_MACRO(__cpp_char8_type);
- PRINT_MACRO(__cpp_conditional_explicit);
- PRINT_MACRO(__cpp_coroutines);
- PRINT_MACRO(__cpp_impl_destroying_delete);
- PRINT_MACRO(__cpp_impl_three_way_comparison);
- PRINT_MACRO(__cpp_nontype_template_parameter_class);
- // C++17:
- PRINT_MACRO(__cpp_hex_float);
- PRINT_MACRO(__cpp_inline_variables);
- PRINT_MACRO(__cpp_aligned_new);
- PRINT_MACRO(__cpp_guaranteed_copy_elision);
- PRINT_MACRO(__cpp_noexcept_function_type);
- PRINT_MACRO(__cpp_fold_expressions);
- PRINT_MACRO(__cpp_capture_star_this);
- PRINT_MACRO(__cpp_constexpr);
- PRINT_MACRO(__cpp_if_constexpr);
- PRINT_MACRO(__cpp_range_based_for);
- PRINT_MACRO(__cpp_static_assert);
- PRINT_MACRO(__cpp_deduction_guides);
- PRINT_MACRO(__cpp_nontype_template_parameter_auto);
- PRINT_MACRO(__cpp_namespace_attributes);
- PRINT_MACRO(__cpp_enumerator_attributes);
- PRINT_MACRO(__cpp_inheriting_constructors);
- PRINT_MACRO(__cpp_variadic_using);
- PRINT_MACRO(__cpp_structured_bindings);
- PRINT_MACRO(__cpp_aggregate_bases);
- PRINT_MACRO(__cpp_nontype_template_args);
- PRINT_MACRO(__cpp_template_template_args);
- // C++14:
- PRINT_MACRO(__cpp_binary_literals);
- PRINT_MACRO(__cpp_init_captures);
- PRINT_MACRO(__cpp_generic_lambdas);
- PRINT_MACRO(__cpp_sized_deallocation);
- PRINT_MACRO(__cpp_decltype_auto);
- PRINT_MACRO(__cpp_return_type_deduction);
- PRINT_MACRO(__cpp_aggregate_nsdmi);
- PRINT_MACRO(__cpp_variable_templates);
- // C++11:
- PRINT_MACRO(__cpp_unicode_characters);
- PRINT_MACRO(__cpp_raw_strings);
- PRINT_MACRO(__cpp_unicode_literals);
- PRINT_MACRO(__cpp_user_defined_literals);
- PRINT_MACRO(__cpp_threadsafe_static_init);
- PRINT_MACRO(__cpp_lambdas);
- PRINT_MACRO(__cpp_decltype);
- PRINT_MACRO(__cpp_attributes);
- PRINT_MACRO(__cpp_rvalue_references);
- PRINT_MACRO(__cpp_variadic_templates);
- PRINT_MACRO(__cpp_initializer_lists);
- PRINT_MACRO(__cpp_delegating_constructors);
- PRINT_MACRO(__cpp_nsdmi);
- PRINT_MACRO(__cpp_ref_qualifiers);
- PRINT_MACRO(__cpp_alias_templates);
- // C++98:
- PRINT_MACRO(__cpp_rtti);
- PRINT_MACRO(__cpp_exceptions);
- }
- void print_separator()
- {
- std::cout <<
- "\n\n*********************************************************************\n\n";
- }
- int main()
- {
- // boost compiler workaround defines
- print_compiler_macros();
- print_separator();
- print_stdlib_macros();
- print_separator();
- print_platform_macros();
- print_separator();
- print_boost_macros();
- print_separator();
- print_sd6_macros();
- return 0;
- }
|