gcc.hpp BOOST_NO_MEMBER_TEMPLATES BOOST_NO_SFINAE BOOST_NO_MEMBER_TEMPLATE_FRIENDS BOOST_NO_OPERATORS_IN_NAMESPACE BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL BOOST_NO_IS_ABSTRACT BOOST_NO_EXTERN_TEMPLATE BOOST_NO_VARIADIC_MACROS BOOST_NO_TWO_PHASE_NAME_LOOKUP BOOST_NO_COMPLETE_VALUE_INITIALIZATION BOOST_NO_EXCEPTIONS BOOST_HAS_THREADS BOOST_HAS_LONG_LONG BOOST_SYMBOL_EXPORT BOOST_NO_TEMPLATE_ALIASES BOOST_NO_DECLTYPE BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS BOOST_NO_RVALUE_REFERENCES BOOST_NO_STATIC_ASSERT BOOST_NO_VARIADIC_TEMPLATES BOOST_NO_AUTO_DECLARATIONS BOOST_NO_AUTO_MULTIDECLARATIONS BOOST_NO_CHAR16_T BOOST_NO_CHAR32_T BOOST_NO_INITIALIZER_LISTS BOOST_NO_DEFAULTED_FUNCTIONS BOOST_NO_DELETED_FUNCTIONS BOOST_NO_SFINAE_EXPR BOOST_NO_EXPLICIT_CONVERSION_OPERATORS BOOST_NO_LAMBDAS BOOST_NO_RAW_LITERALS BOOST_NO_UNICODE_LITERALS BOOST_NO_SCOPED_ENUMS BOOST_NO_CONSTEXPR BOOST_NO_NOEXCEPT BOOST_NO_NULLPTR BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX BOOST_COMPILER "GNU C++ version " __VERSION__ //(C)CopyrightJohnMaddock2001-2003. //(C)CopyrightDarinAdler2001-2002. //(C)CopyrightJensMaurer2001-2002. //(C)CopyrightBemanDawes2001-2003. //(C)CopyrightDouglasGregor2002. //(C)CopyrightDavidAbrahams2002-2003. //(C)CopyrightSyngeTodo2003. //Use,modificationanddistributionaresubjecttothe //BoostSoftwareLicense,Version1.0.(Seeaccompanyingfile //LICENSE_1_0.txtorcopyathttp://www.boost.org/LICENSE_1_0.txt) //Seehttp://www.boost.orgformostrecentversion. //GNUC++compilersetup: #if__GNUC__<3 #if__GNUC_MINOR__==91 //egcs1.1won'tparseshared_ptr.hppwithoutthis: #defineBOOST_NO_AUTO_PTR #endif #if__GNUC_MINOR__<95 // //Priortogcc2.95membertemplatesonlypartly //work-defineBOOST_MSVC6_MEMBER_TEMPLATES //insteadsinceinlinemembertemplatesmostlywork. // #defineBOOST_NO_MEMBER_TEMPLATES #if__GNUC_MINOR__>=9 #defineBOOST_MSVC6_MEMBER_TEMPLATES #endif #endif #if__GNUC_MINOR__<96 #defineBOOST_NO_SFINAE #endif #if__GNUC_MINOR__<=97 #defineBOOST_NO_MEMBER_TEMPLATE_FRIENDS #defineBOOST_NO_OPERATORS_IN_NAMESPACE #endif #defineBOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE #defineBOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL #defineBOOST_NO_IS_ABSTRACT #defineBOOST_NO_EXTERN_TEMPLATE //Variadicmacrosdonotexistforgccversionsbefore3.0 #defineBOOST_NO_VARIADIC_MACROS #elif__GNUC__==3 #ifdefined(__PATHSCALE__) #defineBOOST_NO_TWO_PHASE_NAME_LOOKUP #defineBOOST_NO_IS_ABSTRACT #endif // //gcc-3.xproblems: // //Bugspecifictogcc3.1and3.2: // #if((__GNUC_MINOR__==1)||(__GNUC_MINOR__==2)) #defineBOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS #endif #if__GNUC_MINOR__<4 #defineBOOST_NO_IS_ABSTRACT #endif #defineBOOST_NO_EXTERN_TEMPLATE #endif #if__GNUC__<4 // //Allproblemstogcc-3.xandearlierhere: // #defineBOOST_NO_TWO_PHASE_NAME_LOOKUP #ifdef__OPEN64__ #defineBOOST_NO_IS_ABSTRACT #endif #endif #if__GNUC__<4||(__GNUC__==4&&__GNUC_MINOR__<4) //PreviousversionsofGCCdidnotcompletelyimplementvalue-initialization: //GCCBug30111,"Value-initializationofPODbaseclassdoesn'tinitialize //members",reportedbyJonathanWakelyin2006, //http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111(fixedforGCC4.4) //GCCBug33916,"Defaultconstructorfailstoinitializearraymembers", //reportedbyMichaelElizabethChastainin2007, //http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916(fixedforGCC4.2.4) //Seealso:http://www.boost.org/libs/utility/value_init.htm#compiler_issues #defineBOOST_NO_COMPLETE_VALUE_INITIALIZATION #endif #if!defined(__EXCEPTIONS)&&!defined(BOOST_NO_EXCEPTIONS) #defineBOOST_NO_EXCEPTIONS #endif // //Threadingsupport:Turnthisonunconditionallyhere(exceptfor //thoseplatformswherewecanknowforsure).Itwillgetturnedoffagain //laterifnothreadingAPIisdetected. // #if!defined(__MINGW32__)&&!defined(linux)&&!defined(__linux)&&!defined(__linux__) #defineBOOST_HAS_THREADS #endif // //gcchas"longlong" // #defineBOOST_HAS_LONG_LONG // //gccimplementsthenamedreturnvalueoptimizationsinceversion3.1 // #if__GNUC__>3||(__GNUC__==3&&__GNUC_MINOR__>=1) #defineBOOST_HAS_NRVO #endif // //Dynamicsharedobject(DSO)anddynamic-linklibrary(DLL)support // #if__GNUC__>=4 #if(defined(_WIN32)||defined(__WIN32__)||defined(WIN32))&&!defined(__CYGWIN__) //AllWin32developmentenvironments,including64-bitWindowsandMinGW,define //_WIN32oroneofitsvariantspellings.NotethatCygwinisaPOSIXenvironment, //sodoesnotdefine_WIN32oritsvariants. #defineBOOST_HAS_DECLSPEC #defineBOOST_SYMBOL_EXPORT__attribute__((dllexport)) #defineBOOST_SYMBOL_IMPORT__attribute__((dllimport)) #else #defineBOOST_SYMBOL_EXPORT__attribute__((visibility("default"))) #defineBOOST_SYMBOL_IMPORT #endif #defineBOOST_SYMBOL_VISIBLE__attribute__((visibility("default"))) #else //config/platform/win32.hppwilldefineBOOST_SYMBOL_EXPORT,etc.,unlessalreadydefined #defineBOOST_SYMBOL_EXPORT #endif // //RTTIandtypeinfodetectionispossiblepostgcc-4.3: // #if__GNUC__*100+__GNUC_MINOR__>=403 #ifndef__GXX_RTTI #ifndefBOOST_NO_TYPEID #defineBOOST_NO_TYPEID #endif #ifndefBOOST_NO_RTTI #defineBOOST_NO_RTTI #endif #endif #endif //C++0xfeaturesnotimplementedinanyGCCversion // #defineBOOST_NO_TEMPLATE_ALIASES //C++0xfeaturesin4.3.nandlater // #if(__GNUC__>4||(__GNUC__==4&&__GNUC_MINOR__>2))&&defined(__GXX_EXPERIMENTAL_CXX0X__) //C++0xfeaturesareonlyenabledwhen-std=c++0xor-std=gnu++0xare //passedonthecommandline,whichinturndefines //__GXX_EXPERIMENTAL_CXX0X__. #defineBOOST_HAS_DECLTYPE #defineBOOST_HAS_RVALUE_REFS #defineBOOST_HAS_STATIC_ASSERT #defineBOOST_HAS_VARIADIC_TMPL #else #defineBOOST_NO_DECLTYPE #defineBOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS #defineBOOST_NO_RVALUE_REFERENCES #defineBOOST_NO_STATIC_ASSERT //Variadictemplatescompiler: //http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html #ifdefined(__VARIADIC_TEMPLATES)||(__GNUC__>4)||((__GNUC__==4)&&(__GNUC_MINOR__>=4)&&defined(__GXX_EXPERIMENTAL_CXX0X__)) #defineBOOST_HAS_VARIADIC_TMPL #else #defineBOOST_NO_VARIADIC_TEMPLATES #endif #endif //C++0xfeaturesin4.4.nandlater // #if__GNUC__<4||(__GNUC__==4&&__GNUC_MINOR__<4)||!defined(__GXX_EXPERIMENTAL_CXX0X__) #defineBOOST_NO_AUTO_DECLARATIONS #defineBOOST_NO_AUTO_MULTIDECLARATIONS #defineBOOST_NO_CHAR16_T #defineBOOST_NO_CHAR32_T #defineBOOST_NO_INITIALIZER_LISTS #defineBOOST_NO_DEFAULTED_FUNCTIONS #defineBOOST_NO_DELETED_FUNCTIONS #endif #if__GNUC__<4||(__GNUC__==4&&__GNUC_MINOR__<4) #defineBOOST_NO_SFINAE_EXPR #endif //C++0xfeaturesin4.5.0andlater // #if__GNUC__<4||(__GNUC__==4&&__GNUC_MINOR__<5)||!defined(__GXX_EXPERIMENTAL_CXX0X__) #defineBOOST_NO_EXPLICIT_CONVERSION_OPERATORS #defineBOOST_NO_LAMBDAS #defineBOOST_NO_RAW_LITERALS #defineBOOST_NO_UNICODE_LITERALS #endif //C++0xfeaturesin4.5.1andlater // #if(__GNUC__*10000+__GNUC_MINOR__*100+__GNUC_PATCHLEVEL__<40501)||!defined(__GXX_EXPERIMENTAL_CXX0X__) //scopedenumshaveaseriousbugin4.4.0,sodefineBOOST_NO_SCOPED_ENUMSbefore4.5.1 //Seehttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 #defineBOOST_NO_SCOPED_ENUMS #endif //C++0xfeaturesin4.6.nandlater // #if__GNUC__<4||(__GNUC__==4&&__GNUC_MINOR__<6)||!defined(__GXX_EXPERIMENTAL_CXX0X__) #defineBOOST_NO_CONSTEXPR #defineBOOST_NO_NOEXCEPT #defineBOOST_NO_NULLPTR #defineBOOST_NO_UNIFIED_INITIALIZATION_SYNTAX #endif #ifndefBOOST_COMPILER #defineBOOST_COMPILER"GNUC++version"__VERSION__ #endif //ConceptGCCcompiler: //http://www.generic-programming.org/software/ConceptGCC/ #ifdef__GXX_CONCEPTS__ #defineBOOST_HAS_CONCEPTS #defineBOOST_COMPILER"ConceptGCCversion"__VERSION__ #endif //versionscheck: //wedon'tknowgccpriortoversion2.90: #if(__GNUC__==2)&&(__GNUC_MINOR__<90) #error"Compilernotconfigured-pleasereconfigure" #endif // //lastknownandcheckedversionis4.6(Pre-release): #if(__GNUC__>4)||((__GNUC__==4)&&(__GNUC_MINOR__>6)) #ifdefined(BOOST_ASSERT_CONFIG) #error"Unknowncompilerversion-pleaseruntheconfiguretestsandreporttheresults" #else //wedon'temitwarningshereanymoresincetherearenodefectmacrosdefinedfor //gccpost3.4,soanyfailuresaregccregressions... //#warning"Unknowncompilerversion-pleaseruntheconfiguretestsandreporttheresults" #endif #endif