Boost logo

Boost Users :

From: Mauricio Gomes (mg_at_[hidden])
Date: 2005-04-20 09:46:27


This is excellent information Markus.
It gives us a good view of compilers conformance (using boost libraries
as test cases).

Thank you !
Mauricio Gomes
Pensar Digital
phone: 55-11-4121-6287
mobile: 55-11-8319-9610
http://pensardigital.com

On Apr 20, 2005, at 10:00 AM, Markus Schöpflin wrote:

> Mauricio Gomes wrote:
>
>> Do the code still needs a lot of workarounds for compilers problems
>> or the latest versions of the compilers have good compliance ?
>> 1.32 report shows a good situation but I don't know if it reflects
>> good compilers compliance or boost developers heroic efforts to
>> workaround problems.
>
> Not a direct answer to your question, but... you have made me curious.
> I hacked together something which counts the occurences of the various
> BOOST_WORKAROUND macros in use. Attached is the result.
>
> This is far from perfect, but as you can see the majority of
> workaround are either for gcc < 3 of for the various versions of MSVC.
>
> Markus
> 257 BOOST_WORKAROUND(__GNUC__,<3)
> 133 BOOST_WORKAROUND(BOOST_MSVC,<=1300)
> 112 BOOST_WORKAROUND(BOOST_MSVC,<1300)
> 73 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x564))
> 63 BOOST_WORKAROUND(BOOST_MSVC,<=1200)
> 50 BOOST_WORKAROUND(__BORLANDC__,<0x600)
> 47 BOOST_WORKAROUND(__IBMCPP__,<=600)
> 36 BOOST_WORKAROUND(BOOST_MSVC,==1200)
> 24 BOOST_WORKAROUND(__MWERKS__,BOOST_TESTED_AT(0x3003))
> 22 BOOST_WORKAROUND(__MWERKS__,<=0x3003)
> 22 BOOST_WORKAROUND(BOOST_MSVC,==1300)
> 22 BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB,==1)
> 21 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x551))
> 18 BOOST_WORKAROUND(__GNUC__,==2)
> 16 BOOST_WORKAROUND(__DMC__,BOOST_TESTED_AT(0x840))
> 16 BOOST_WORKAROUND(__BORLANDC__,<=0x551)
> 14 BOOST_WORKAROUND(__MWERKS__,<=0x2407)
> 13 BOOST_WORKAROUND(__MWERKS__,BOOST_TESTED_AT(0x3201)))
> 13 BOOST_WORKAROUND(__MWERKS__,>0x3100)
> 12 BOOST_WORKAROUND(BOOST_MSVC,==1310)
> 12 BOOST_WORKAROUND(BOOST_MSVC,<1310)
> 11 BOOST_WORKAROUND(__IBMCPP__,BOOST_TESTED_AT(600))
> 11
> BOOST_WORKAROUND(__GNUC__,<3)&&!defined(__SGI_STL_PORT)&&!
> defined(_STLPORT_VERSION)
> 10 BOOST_WORKAROUND(__SUNPRO_CC,BOOST_TESTED_AT(0x530))
> 9 BOOST_WORKAROUND(__BORLANDC__,<0x560)
> 9 BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1400))
> 8 BOOST_WORKAROUND(_RWSTD_VER,BOOST_TESTED_AT(20101))
> 8 BOOST_WORKAROUND(__MWERKS__,BOOST_TESTED_AT(0x3202))
> 8 BOOST_WORKAROUND(__BORLANDC__,<=0x0551)
> 7 BOOST_WORKAROUND(_MSC_FULL_VER,BOOST_TESTED_AT(13102292))
> 7 BOOST_WORKAROUND(__HP_aCC,BOOST_TESTED_AT(55500))
> 7 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x570)))
> 7 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x561))
> 7 BOOST_WORKAROUND(__BORLANDC__,<=0x564)
> 7 BOOST_WORKAROUND(BOOST_MSVC,>=1400)
> 6 BOOST_WORKAROUND(__GLIBCPP__,==20020514)
> 6 BOOST_WORKAROUND(__EDG_VERSION__,<=238)
> 6 BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION,<=700)
> 5 BOOST_WORKAROUND(__SUNPRO_CC,<=0x530)
> 5 BOOST_WORKAROUND(__GNUC__,<=2)
> 5 BOOST_WORKAROUND(__EDG_VERSION__,<=245)
> 5 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x0551))
> 5 BOOST_WORKAROUND(__BORLANDC__,<=0x570)
> 4 BOOST_WORKAROUND(__SUNPRO_CC,==0x530)
> 4 BOOST_WORKAROUND(__IBMCPP__,==600)
> 4 BOOST_WORKAROUND(__HP_aCC,BOOST_TESTED_AT(53800))
> 4 BOOST_WORKAROUND(__GNUC__,==4)
> 4 BOOST_WORKAROUND(__GNUC__,==3)
> 4 BOOST_WORKAROUND(__EDG_VERSION__,<=243)
> 4 BOOST_WORKAROUND(BOOST_MSVC,>1300)
> 4 BOOST_WORKAROUND(BOOST_MPL_CFG_GCC,BOOST_TESTED_AT(0x0304))
> 3 BOOST_WORKAROUND(__IBMCPP__,BOOST_TESTED_AT(502))
> 3
> BOOST_WORKAROUND(__EDG_VERSION__,<=244)&&!
> defined(BOOST_INTEL_CXX_VERSION)
> 3 BOOST_WORKAROUND(__DECCXX_VER,BOOST_TESTED_AT(60590040))
> 3 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x0564))
> 3 BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1310))
> 3 BOOST_WORKAROUND(BOOST_MSVC,<=1310)
> 3 BOOST_WORKAROUND(BOOST_MPL_CFG_GCC,BOOST_TESTED_AT(0x0302))
> 3 BOOST_WORKAROUND(BOOST_INTEL_WIN,BOOST_TESTED_AT(800))
> 3 BOOST_WORKAROUND(BOOST_INTEL,<=700)
> 3 BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB,<306)
> 2 BOOST_WORKAROUND(symbol,test)
> 2 BOOST_WORKAROUND(_STLPORT_VERSION,<0x461)
> 2 BOOST_WORKAROUND(_STLPORT_VERSION,<=0x450)
> 2 BOOST_WORKAROUND(_RWSTD_VER,BOOST_TESTED_AT(0x20101))
> 2 BOOST_WORKAROUND(__MWERKS__,BOOST_TESTED_AT(0x3205))
> 2 BOOST_WORKAROUND(__MWERKS__,<=0x3001)
> 2 BOOST_WORKAROUND(_MSC_VER,>=1200)
> 2 BOOST_WORKAROUND(__LIBCOMO_VERSION__,BOOST_TESTED_AT(29))
> 2 BOOST_WORKAROUND(__GNUC_PATCHLEVEL__,==3))
> 2 BOOST_WORKAROUND(__GNUC_PATCHLEVEL__,==1)
> 2 BOOST_WORKAROUND(__GNUC_MINOR__,==3)
> 2 BOOST_WORKAROUND(__GNUC_MINOR__,<=1))
> 2 BOOST_WORKAROUND(__GNUC__,==2)&&defined(__STL_CONFIG_H)
> 2 BOOST_WORKAROUND(__GNUC__)
> 2 BOOST_WORKAROUND(__EDG_VERSION__,<=238))
> 2 BOOST_WORKAROUND(__EDG__,BOOST_TESTED_AT(302))
> 2 BOOST_WORKAROUND(__DECCXX_VER,BOOST_TESTED_AT(60590042))
> 2 BOOST_WORKAROUND(__DECCXX_VER,BOOST_TESTED_AT(60590041))
> 2 BOOST_WORKAROUND(_CRAYC,!=0)
> 2 BOOST_WORKAROUND(_COMPILER_VERSION,BOOST_TESTED_AT(741)))
> 2 BOOST_WORKAROUND(__COMO_VERSION__,BOOST_TESTED_AT(4303))
> 2 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x570))
> 2 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x531))
> 2
> BOOST_WORKAROUND(__BORLANDC__,<0x600)&&!
> defined(BOOST_TT_TEST_MS_FUNC_SIGS)
> 2 BOOST_WORKAROUND(__BORLANDC__,<=0x600)
> 2 BOOST_WORKAROUND(BOOST_MSVC,&lt;=1300)
> 2 BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1300))
> 2 BOOST_WORKAROUND(BOOST_MSVC,==1400)
> 2 BOOST_WORKAROUND(BOOST_MSVC,>=1310))
> 2 BOOST_WORKAROUND(BOOST_MSVC,<1310))
> 2 BOOST_WORKAROUND(BOOST_MSVC,<=1300)||defined(__MWERKS__)
> 2
> BOOST_WORKAROUND(BOOST_MSVC,<1300)||(defined(_MSC_EXTENSIONS)&&BOOST_MS
> VC<1310)
> 2 BOOST_WORKAROUND(BOOST_MSVC,<=1200&&__SGI_STL_PORT)
> 2 BOOST_WORKAROUND(BOOST_MSVC,<=0x1701)
> 2 BOOST_WORKAROUND(BOOST_MSVC,<=0x1700)
> 2 BOOST_WORKAROUND(BOOST_MSVC)
> 2 BOOST_WORKAROUND(BOOST_MPL_CFG_GCC,>=0x0300)
> 2 BOOST_WORKAROUND(BOOST_MPL_CFG_GCC,<=0x0295)
> 2 BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION,BOOST_TESTED_AT(810))
> 2 BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION,<=800)
> 2 BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB,<310)
> 2 BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB,<=1)
> 1 BOOST_WORKAROUND(__SUNPRO_CC,BOOST_TESTED_AT(0x560))
> 1 BOOST_WORKAROUND(__SUNPRO_CC,BOOST_TESTED_AT(0x540))
> 1 BOOST_WORKAROUND(_STLPORT_VERSION,BOOST_TESTED_AT(0x452))
> 1 BOOST_WORKAROUND(_STLPORT_VERSION,>0x450)
> 1 BOOST_WORKAROUND(__SGI_STL_PORT,<0x500)
> 1
> BOOST_WORKAROUND(__MWERKS__,BOOST_TESTED_AT(0x3002))&&BOOST_PP_ITERATIO
> N()
> 1 BOOST_WORKAROUND(__MWERKS__,<0x3202)
> 1 BOOST_WORKAROUND(__MWERKS__,<=0x3201)
> 1 BOOST_WORKAROUND(__MWERKS__,<0x3200))
> 1 BOOST_WORKAROUND(__MWERKS__,<0x3200)
> 1 BOOST_WORKAROUND(__MWERKS__,<=0x3004))
> 1 BOOST_WORKAROUND(__MWERKS__,<=0x3004)
> 1 BOOST_WORKAROUND(__MWERKS__,<0x3003)
> 1 BOOST_WORKAROUND(__MWERKS__,<0x3001)
> 1 BOOST_WORKAROUND(__MWERKS__,>=0x3000)&&defined(__INTEL__))
> 1 BOOST_WORKAROUND(__MWERKS__,<=0x3000)
> 1 BOOST_WORKAROUND(_MSC_VER,BOOST_TESTED_AT(1300))
> 1 BOOST_WORKAROUND(_MSC_VER,<1300)&&!defined(_STLP_VERSION)
> 1 BOOST_WORKAROUND(_MSC_VER,<=1300)
> 1 BOOST_WORKAROUND(_MSC_VER,<=1200)
> 1 BOOST_WORKAROUND(_MSC_FULL_VER,BOOST_TESTED_AT(13103077))
> 1
> BOOST_WORKAROUND(_MSC_FULL_VER,BOOST_TESTED_AT(13102292)&&BOOST_MSVC>13
> 00)
> 1 BOOST_WORKAROUND(_MSC_FULL_VER,>140040607)
> 1 BOOST_WORKAROUND(_MSC_FULL_VER,>=13102292)
> 1 BOOST_WORKAROUND(__INTEL_COMPILER,<=800)
> 1 BOOST_WORKAROUND(__ICL,BOOST_TESTED_AT(700))
> 1 BOOST_WORKAROUND(__HP_aCC,<=33500))
> 1 BOOST_WORKAROUND(__GNUC_MINOR__,BOOST_TESTED_AT(95))
> 1 BOOST_WORKAROUND(__GNUC_MINOR__,<4)&&!defined(__EDG_VERSION__)
> 1 BOOST_WORKAROUND(__GNUC_MINOR__,<3))
> 1 BOOST_WORKAROUND(__GNUC__,BOOST_TESTED_AT(3))
> 1 BOOST_WORKAROUND(__GNUC__,BOOST_TESTED_AT(2))
> 1 BOOST_WORKAROUND(__GNUC__,==3)&&(__GNUC_MINOR__<4)
> 1 BOOST_WORKAROUND(__GNUC__,<3)&&defined(__STL_CONFIG_H))
> 1
> BOOST_WORKAROUND(__GNUC__,<3)&&!defined(__SGI_STL_PORT)&&!
> defined(_STLPORT_VERSION))
> 1 BOOST_WORKAROUND(__GNUC__,<3))
> 1 BOOST_WORKAROUND(__GNUC__,<=3)
> 1 BOOST_WORKAROUND(__GNUC__,==2&&__GNUC_MINOR__==95)
> 1 BOOST_WORKAROUND(__GNUC__,<=2))
> 1 BOOST_WORKAROUND(__EDG_VERSION__,BOOST_TESTED_AT(300))
> 1 BOOST_WORKAROUND(__EDG_VERSION__,<300)
> 1 BOOST_WORKAROUND(__EDG_VERSION__,<=300)
> 1 BOOST_WORKAROUND(__EDG_VERSION__,==245)
> 1 BOOST_WORKAROUND(__EDG_VERSION__,==238)
> 1 BOOST_WORKAROUND(__DECCXX_VER,<=60590041)
> 1 BOOST_WORKAROUND(_CPPLIB_VER,<=310)
> 1 BOOST_WORKAROUND(_COMPILER_VERSION,BOOST_TESTED_AT(730)))
> 1 BOOST_WORKAROUND(__COMO__,BOOST_TESTED_AT(4303))
> 1 BOOST_WORKAROUND(__COMO__,<=0x433)
> 1 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x600))
> 1 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x564)))
> 1 BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x0561))
> 1 BOOST_WORKAROUND(__BORLANDC__,<0x600))
> 1 BOOST_WORKAROUND(__BORLANDC__,<0x561)
> 1 BOOST_WORKAROUND(__BORLANDC__,>=0x560)
> 1 BOOST_WORKAROUND(__BORLANDC__,<=0x550)
> 1 BOOST_WORKAROUND(__BORLANDC__,<0x0600)
> 1 BOOST_WORKAROUND(BOOST_RWSTD_VER,BOOST_TESTED_AT(0x20101)))
> 1 BOOST_WORKAROUND(BOOST_RWSTD_VER,BOOST_TESTED_AT(0x20101))
> 1 BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1301))
> 1 BOOST_WORKAROUND(BOOST_MSVC,==1310))
> 1 BOOST_WORKAROUND(BOOST_MSVC,<=1301)&&!defined(NDEBUG)
> 1
> BOOST_WORKAROUND(BOOST_MSVC_,<=1200)&&!
> (defined(__ICL)&&defined(_MSC_VER)&&(_MSC_VER==1200))
> 1 BOOST_WORKAROUND(BOOST_MSVC,!=1200)
> 1 BOOST_WORKAROUND(BOOST_IOSTREAMS_GCC,BOOST_TESTED_AT(400))
> 1 BOOST_WORKAROUND(BOOST_IOSTREAMS_GCC,<=295)
> 1 BOOST_WORKAROUND(BOOST_INTEL_WIN,<=900)
> 1 BOOST_WORKAROUND(BOOST_INTEL_WIN,==710)
> 1 BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION,<=700)&&defined(_MSC_VER))
> 1 BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION,<=700))
> 1 BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION,!=0)&&defined(_MSC_VER)
> 1 BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB,BOOST_TESTED_AT(313))
> 1 BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB,BOOST_TESTED_AT(310)))
> 1 BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB,<=310)
> 1
> BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB,==1)&&!
> defined(__SGI_STL_PORT)
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net