diff --git a/boost/predef/compiler.h b/boost/predef/compiler.h index 58b4b50..ab36848 100644 --- a/boost/predef/compiler.h +++ b/boost/predef/compiler.h @@ -9,6 +9,7 @@ http://www.boost.org/LICENSE_1_0.txt) #define BOOST_PREDEF_COMPILER_H #include +#include #include #include #include diff --git a/boost/predef/compiler/borland.h b/boost/predef/compiler/borland.h index 87283c6..e797669 100644 --- a/boost/predef/compiler/borland.h +++ b/boost/predef/compiler/borland.h @@ -14,18 +14,22 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_BORLAND`] -[@http://en.wikipedia.org/wiki/XXX Borland] compiler. +[@http://en.wikipedia.org/wiki/C_plus_plus_builder Borland C++] compiler. Version number available as major, minor, and patch. */ #define BOOST_CXX_BORLAND BOOST_VERSION_NUMBER(0,0,0) -#if defined(__BORLANDC__) +#if defined(__BORLANDC__) || defined(__CODEGEARC__) #undef BOOST_CXX_BORLAND - #define BOOST_CXX_BORLAND BOOST_PREDEF_MAKE_FF_F_F(__BORLANDC__) + #if defined(__CODEGEARC__) + #define BOOST_CXX_BORLAND BOOST_PREDEF_MAKE_FF_F_F(__CODEGEARC__) + #else + #define BOOST_CXX_BORLAND BOOST_PREDEF_MAKE_FF_F_F(__BORLANDC__) + #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_BORLAND,"Borland") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_BORLAND,"Borland C++") #endif diff --git a/boost/predef/compiler/clang.h b/boost/predef/compiler/clang.h new file mode 100644 index 0000000..2e149e5 --- /dev/null +++ b/boost/predef/compiler/clang.h @@ -0,0 +1,31 @@ +/* +Copyright Redshift Software, Inc. 2008-2011 +Distributed under 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) +*/ + +#ifndef BOOST_PREDEF_COMPILER_CLANG_H +#define BOOST_PREDEF_COMPILER_CLANG_H + +#include +#include + +/*` +[heading `BOOST_CXX_CLANG`] + +[@http://en.wikipedia.org/wiki/Clang Clang] compiler. +Version number available as major, minor, and patch. + */ + +#define BOOST_CXX_CLANG BOOST_VERSION_NUMBER(0,0,0) + +#if defined(__clang__) + #undef BOOST_CXX_CLANG + #define BOOST_CXX_CLANG BOOST_VERSION_NUMBER(__clang_major__,__clang_minor__,__clang_patchlevel__) +#endif + +#include +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_CLANG,"Clang") + +#endif diff --git a/boost/predef/compiler/comeau.h b/boost/predef/compiler/comeau.h index 361bca2..ce0f5c0 100644 --- a/boost/predef/compiler/comeau.h +++ b/boost/predef/compiler/comeau.h @@ -16,16 +16,20 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_COMO`] -[@http://en.wikipedia.org/wiki/XXX Comeau] compiler. +[@http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B Comeau C++] compiler. Version number available as major, minor, and patch. */ #if defined(__COMO__) #undef BOOST_CXX_COMO - #define BOOST_CXX_COMO BOOST_PREDEF_MAKE_F_F_FF(__COMO_VERSION__) + #if defined(__CONO_VERSION__) + #define BOOST_CXX_COMO BOOST_PREDEF_MAKE_F_F_F(__COMO_VERSION__) + #else + #define BOOST_CXX_COMO BOOST_VERSION_NUMBER(0,0,1) + #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_COMO,"Comeau") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_COMO,"Comeau C++") #endif diff --git a/boost/predef/compiler/compaq.h b/boost/predef/compiler/compaq.h index 14192f0..71df1ea 100644 --- a/boost/predef/compiler/compaq.h +++ b/boost/predef/compiler/compaq.h @@ -14,21 +14,23 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_DEC`] -[@http://en.wikipedia.org/wiki/XXX Compaq DEC] compiler. +[@http://www.openvms.compaq.com/openvms/brochures/deccplus/ Compaq C/C++] compiler. Version number available as major, minor, and patch. */ #define BOOST_CXX_DEC BOOST_VERSION_NUMBER(0,0,0) -#if defined(__DECC) +#if defined(__DECC) || defined(__DECCXX) #undef BOOST_CXX_DEC - #define BOOST_CXX_DEC BOOST_VERSION_NUMBER(\ - (__DECC_VER)/10000000,\ - (__DECC_VER%10000000)/100000,\ - (__DECC_VER%10000)) + #if defined(__DECCXX_VER) + #define BOOST_CXX_DEC BOOST_PREDEF_MAKE_NN_NN_0_NN_00(__DECCXX_VER) + #elif defined(__DECC_VER) + #define BOOST_CXX_DEC BOOST_PREDEF_MAKE_NN_NN_0_NN_00(__DECC_VER) + #else + #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_DEC,"Compaq") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_DEC,"Compaq C/C++") #endif diff --git a/boost/predef/compiler/diab.h b/boost/predef/compiler/diab.h index 90188cb..6e46d67 100644 --- a/boost/predef/compiler/diab.h +++ b/boost/predef/compiler/diab.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_DIAB`] -[@http://en.wikipedia.org/wiki/XXX Diab] compiler. +[@http://www.windriver.com/products/development_suite/wind_river_compiler/ Diab C/C++] compiler. Version number available as major, minor, and patch. */ @@ -26,6 +26,6 @@ Version number available as major, minor, and patch. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_DIAB,"Diab") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_DIAB,"Diab C/C++") #endif diff --git a/boost/predef/compiler/digitalmars.h b/boost/predef/compiler/digitalmars.h index e918e1e..6af5a5a 100644 --- a/boost/predef/compiler/digitalmars.h +++ b/boost/predef/compiler/digitalmars.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_DMC`] -[@http://en.wikipedia.org/wiki/XXX Digital Mars] compiler. +[@http://en.wikipedia.org/wiki/Digital_Mars Digital Mars] compiler. Version number available as major, minor, and patch. */ diff --git a/boost/predef/compiler/dignus.h b/boost/predef/compiler/dignus.h index a061fea..a767e0f 100644 --- a/boost/predef/compiler/dignus.h +++ b/boost/predef/compiler/dignus.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_SYSC`] -[@http://en.wikipedia.org/wiki/XXX Dignus SysC] compiler. +[@http://www.dignus.com/dcxx/ Dignus Systems/C++] compiler. Version number available as major, minor, and patch. */ @@ -26,6 +26,6 @@ Version number available as major, minor, and patch. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_SYSC,"SysC") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_SYSC,"Dignus Systems/C++") #endif diff --git a/boost/predef/compiler/edg.h b/boost/predef/compiler/edg.h index d302218..4992fb8 100644 --- a/boost/predef/compiler/edg.h +++ b/boost/predef/compiler/edg.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_EDG`] -[@http://en.wikipedia.org/wiki/XXX EDG] compiler. +[@http://en.wikipedia.org/wiki/Edison_Design_Group EDG C++ Frontend] compiler. Version number available as major, minor, and patch. */ @@ -22,10 +22,10 @@ Version number available as major, minor, and patch. #if defined(__EDG__) #undef BOOST_CXX_EDG - #define BOOST_CXX_EDG BOOST_PREDEF_MAKE_N_N_N(__EDG_VERSION__) + #define BOOST_CXX_EDG BOOST_PREDEF_MAKE_N_NN(__EDG_VERSION__) #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_EDG,"EDG") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_EDG,"EDG C++ Frontend") #endif diff --git a/boost/predef/compiler/ekopath.h b/boost/predef/compiler/ekopath.h index e1cc5e5..dff0927 100644 --- a/boost/predef/compiler/ekopath.h +++ b/boost/predef/compiler/ekopath.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_PATH`] -[@http://en.wikipedia.org/wiki/XXX Ekopath] compiler. +[@http://en.wikipedia.org/wiki/PathScale EKOpath] compiler. Version number available as major, minor, and patch. */ @@ -27,6 +27,6 @@ Version number available as major, minor, and patch. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_PATH,"Ekopath") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_PATH,"EKOpath") #endif diff --git a/boost/predef/compiler/gcc.h b/boost/predef/compiler/gcc.h index af5cd9a..82c21b6 100644 --- a/boost/predef/compiler/gcc.h +++ b/boost/predef/compiler/gcc.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_GNUC`] -[@http://en.wikipedia.org/wiki/XXX Gnu C/C++] compiler. +[@http://en.wikipedia.org/wiki/GNU_Compiler_Collection Gnu GCC C/C++] compiler. Version number available as major, minor, and patch (if available). */ @@ -32,6 +32,6 @@ Version number available as major, minor, and patch (if available). #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_GNUC,"Gnu C/C++") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_GNUC,"Gnu GCC C/C++") #endif diff --git a/boost/predef/compiler/greenhills.h b/boost/predef/compiler/greenhills.h index a2cdd73..65b0153 100644 --- a/boost/predef/compiler/greenhills.h +++ b/boost/predef/compiler/greenhills.h @@ -14,18 +14,22 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_GHS`] -[@http://en.wikipedia.org/wiki/XXX Green Hills] compiler. +[@http://en.wikipedia.org/wiki/Green_Hills_Software Green Hills C/C++] compiler. Version number available as major, minor, and patch. */ #define BOOST_CXX_GHS BOOST_VERSION_NUMBER(0,0,0) -#if defined(__ghs) +#if defined(__ghs) || defined(__ghs__) #undef BOOST_CXX_GHS - #define BOOST_CXX_GHS BOOST_PREDEF_MAKE_N_N_N(__ghs) + #if defined(__GHS_VERSION_NUMBER__) + #define BOOST_CXX_GHS BOOST_PREDEF_MAKE_N_N_N(__GHS_VERSION_NUMBER__) + #else if defined(__ghs) + #define BOOST_CXX_GHS BOOST_PREDEF_MAKE_N_N_N(__ghs) + #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_GHS,"Green Hills") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_GHS,"Green Hills C/C++") #endif diff --git a/boost/predef/compiler/hp_acc.h b/boost/predef/compiler/hp_acc.h index 8538774..c3ceeca 100644 --- a/boost/predef/compiler/hp_acc.h +++ b/boost/predef/compiler/hp_acc.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_HPACC`] -[@http://en.wikipedia.org/wiki/XXX HP ACC] compiler. +HP aC++ compiler. Version number available as major, minor, and patch. */ @@ -22,10 +22,14 @@ Version number available as major, minor, and patch. #if defined(__HP_aCC) #undef BOOST_CXX_HPACC - #define BOOST_CXX_HPACC BOOST_PREDEF_MAKE_NN_NN_NN(__HP_aCC) + #if (__HP_aCC > 1) + #define BOOST_CXX_HPACC BOOST_PREDEF_MAKE_NN_NN_NN(__HP_aCC) + #else + #define BOOST_CXX_HPACC BOOST_VERSION_NUMBER(0,0,1) + #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_HPACC,"HP ACC") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_HPACC,"HP aC++") #endif diff --git a/boost/predef/compiler/iar.h b/boost/predef/compiler/iar.h index 8f9e384..95fd479 100644 --- a/boost/predef/compiler/iar.h +++ b/boost/predef/compiler/iar.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_IAR`] -[@http://en.wikipedia.org/wiki/XXX IAR] compiler. +IAR C/C++ compiler. Version number available as major, minor, and patch. */ @@ -26,6 +26,6 @@ Version number available as major, minor, and patch. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_IAR,"IAR") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_IAR,"IAR C/C++") #endif diff --git a/boost/predef/compiler/ibm.h b/boost/predef/compiler/ibm.h index 8af9c3d..67b0c94 100644 --- a/boost/predef/compiler/ibm.h +++ b/boost/predef/compiler/ibm.h @@ -14,24 +14,26 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_IBM`] -[@http://en.wikipedia.org/wiki/XXX Iternational Business Mchines] compiler. +[@http://en.wikipedia.org/wiki/VisualAge IBM XL C/C++] compiler. Version number available as major, minor, and patch. */ #define BOOST_CXX_IBM BOOST_VERSION_NUMBER(0,0,0) -#if defined(__IBMCPP__) || defined(__xlC__) +#if defined(__IBMCPP__) || defined(__xlC__) || defined(__xlc__) #undef BOOST_CXX_IBM #if defined(__COMPILER_VER__) #define BOOST_CXX_IBM BOOST_PREDEF_MAKE_F_FF_FFFF(__COMPILER_VER__) #elif defined(__xlC__) #define BOOST_CXX_IBM BOOST_PREDEF_MAKE_FF_FF(__xlC__) + #elif defined(__xlc__) + #define BOOST_CXX_IBM BOOST_PREDEF_MAKE_FF_FF(__xlc__) #else #define BOOST_CXX_IBM BOOST_PREDEF_MAKE_N_N_N(__IBMCPP__) #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_IBM,"IBM") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_IBM,"IBM XL C/C++") #endif diff --git a/boost/predef/compiler/intel.h b/boost/predef/compiler/intel.h index 3a5da7c..d3b2578 100644 --- a/boost/predef/compiler/intel.h +++ b/boost/predef/compiler/intel.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_INTEL`] -[@http://en.wikipedia.org/wiki/XXX Intel] compiler. +[@http://en.wikipedia.org/wiki/Intel_C%2B%2B Intel C/C++] compiler. Version number available as major, minor, and patch. */ @@ -23,10 +23,14 @@ Version number available as major, minor, and patch. #if defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || \ defined(__ECC) #undef BOOST_CXX_INTEL - #define BOOST_CXX_INTEL BOOST_PREDEF_MAKE_N_N_N(__INTEL_COMPILER) + #if defined(__INTEL_COMPILER) + #define BOOST_CXX_INTEL BOOST_PREDEF_MAKE_N_N_N(__INTEL_COMPILER) + #else + #define BOOST_CXX_INTEL BOOST_VERSION_NUMBER(0,0,1) + #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_INTEL,"Intel") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_INTEL,"Intel C/C++") #endif diff --git a/boost/predef/compiler/kai.h b/boost/predef/compiler/kai.h index d26afb4..6888900 100644 --- a/boost/predef/compiler/kai.h +++ b/boost/predef/compiler/kai.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_KCC`] -[@http://en.wikipedia.org/wiki/XXX Kai] compiler. +Kai C++ compiler. Version number available as major, minor, and patch. */ @@ -26,6 +26,6 @@ Version number available as major, minor, and patch. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_KCC,"Kai") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_KCC,"Kai C++") #endif diff --git a/boost/predef/compiler/llvm.h b/boost/predef/compiler/llvm.h index e5c31e6..57b731d 100644 --- a/boost/predef/compiler/llvm.h +++ b/boost/predef/compiler/llvm.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_LLVM`] -[@http://en.wikipedia.org/wiki/XXX LLVM] compiler. +[@http://en.wikipedia.org/wiki/LLVM LLVM] compiler. */ #define BOOST_CXX_LLVM BOOST_VERSION_NUMBER(0,0,0) diff --git a/boost/predef/compiler/metaware.h b/boost/predef/compiler/metaware.h index 3bffd3c..67fdc60 100644 --- a/boost/predef/compiler/metaware.h +++ b/boost/predef/compiler/metaware.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_HIGHC`] -[@http://en.wikipedia.org/wiki/XXX Metaware HighC] compiler. +MetaWare High C/C++ compiler. */ #define BOOST_CXX_HIGHC BOOST_VERSION_NUMBER(0,0,0) @@ -25,6 +25,6 @@ http://www.boost.org/LICENSE_1_0.txt) #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_HIGHC,"Metaware HighC") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_HIGHC,"MetaWare High C/C++") #endif diff --git a/boost/predef/compiler/metrowerks.h b/boost/predef/compiler/metrowerks.h index fe20b41..103ee6e 100644 --- a/boost/predef/compiler/metrowerks.h +++ b/boost/predef/compiler/metrowerks.h @@ -14,26 +14,30 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_MWERKS`] -[@http://en.wikipedia.org/wiki/XXX Metrowerks] compiler. +[@http://en.wikipedia.org/wiki/CodeWarrior Metrowerks CodeWarrior] compiler. Version number available as major, minor, and patch. */ #define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(0,0,0) -#if defined(__MWERKS__) +#if defined(__MWERKS__) || defined(__CWCC__) #undef BOOST_CXX_MWERKS - #if (__MWERKS__ >= 0x3000) && (__MWERKS__ < 0x3200) - #define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(8,(__MWERKS__)%100,0) - #elif (__MWERKS__ >= 0x3200) && (__MWERKS__ <= 0x3202) - #define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100,0) - #elif (__MWERKS__ >= 0x3204) && (__MWERKS__ < 0x3300) // note the "skip": 04->9.3 - #define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100-1,0) - #else + #if defined(__CWCC__) + #define BOOST_CXX_MWERKS BOOST_PREDEF_MAKE_F_F_FF(__CWCC__) + #elif (__MWERKS__ >= 0x4200) #define BOOST_CXX_MWERKS BOOST_PREDEF_MAKE_F_F_FF(__MWERKS__) + #elif (__MWERKS__ >= 0x3204) // note the "skip": 04->9.3 + #define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100-1,0) + #elif (__MWERKS__ >= 0x3200) + #define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(9,(__MWERKS__)%100,0) + #elif (__MWERKS__ >= 0x3000) + #define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(8,(__MWERKS__)%100,0) + #else + #define BOOST_CXX_MWERKS BOOST_VERSION_NUMBER(0,0,1) #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_MWERKS,"Metrowerks") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_MWERKS,"Metrowerks CodeWarrior") #endif diff --git a/boost/predef/compiler/microtec.h b/boost/predef/compiler/microtec.h index 68447ee..77c020a 100644 --- a/boost/predef/compiler/microtec.h +++ b/boost/predef/compiler/microtec.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_MRI`] -[@http://en.wikipedia.org/wiki/XXX Microtec] compiler. +[@http://www.mentor.com/microtec/ Microtec C/C++] compiler. */ #define BOOST_CXX_MRI BOOST_VERSION_NUMBER(0,0,0) @@ -25,6 +25,6 @@ http://www.boost.org/LICENSE_1_0.txt) #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_MRI,"Microtec") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_MRI,"Microtec C/C++") #endif diff --git a/boost/predef/compiler/mingw.h b/boost/predef/compiler/mingw.h index 1d65613..d9b5c4f 100644 --- a/boost/predef/compiler/mingw.h +++ b/boost/predef/compiler/mingw.h @@ -14,17 +14,24 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_MINGW`] -[@http://en.wikipedia.org/wiki/XXX MinGW] compiler. +[@http://en.wikipedia.org/wiki/MinGW MinGW] compiler. Version number available as major, minor, and patch. */ #define BOOST_CXX_MINGW BOOST_VERSION_NUMBER(0,0,0) -#if defined(__MINGW32__) +#if defined(__MINGW32__) || defined(__MINGW64__) #include <_mingw.h> #undef BOOST_CXX_MINGW - #define BOOST_CXX_MINGW \ - BOOST_VERSION_NUMBER(__MINGW32_MAJOR_VERSION,__MINGW32_MINOR_VERSION,0) + #if defined(__MINGW64_VERSION_MAJOR) && defined(__MINGW64_VERSION_MINOR) + #define BOOST_CXX_MINGW \ + BOOST_VERSION_NUMBER(__MINGW64_VERSION_MAJOR,__MINGW64_VERSION_MINOR,0) + #elif defined(__MINGW32_VERSION_MAJOR) && defined(__MINGW32_VERSION_MINOR) + #define BOOST_CXX_MINGW \ + BOOST_VERSION_NUMBER(__MINGW32_MAJOR_VERSION,__MINGW32_MINOR_VERSION,0) + #else + #define BOOST_CXX_MINGW BOOST_VERSION_NUMBER(0,0,1) + #endif #endif #include diff --git a/boost/predef/compiler/mpw.h b/boost/predef/compiler/mpw.h index 4413fa2..fa85696 100644 --- a/boost/predef/compiler/mpw.h +++ b/boost/predef/compiler/mpw.h @@ -14,18 +14,22 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_MPW`] -[@http://en.wikipedia.org/wiki/XXX MPW] compiler. +[@http://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop MPW C++] compiler. Version number available as major, and minor. */ #define BOOST_CXX_MPW BOOST_VERSION_NUMBER(0,0,0) -#if defined(__MRC__) +#if defined(__MRC__) || defined(MPW_C) || defined(MPW_CPLUS) #undef BOOST_CXX_MPW - #define BOOST_CXX_MPW BOOST_PREDEF_MAKE_FF_FF(__MRC__) + #if defined(__MRC__) + #define BOOST_CXX_MPW BOOST_PREDEF_MAKE_FF_FF(__MRC__) + #else + #define BOOST_CXX_MPW BOOST_VERSION_NUMBER(0,0,1) + #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_MPW,"MPW") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_MPW,"MPW C++") #endif diff --git a/boost/predef/compiler/palm.h b/boost/predef/compiler/palm.h index 08a459c..d0722b5 100644 --- a/boost/predef/compiler/palm.h +++ b/boost/predef/compiler/palm.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_PALM`] -[@http://en.wikipedia.org/wiki/XXX Palm] compiler. +Palm C/C++ compiler. Version number available as major, minor, and patch. */ @@ -26,6 +26,6 @@ Version number available as major, minor, and patch. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_PALM,"Palm") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_PALM,"Palm C/C++") #endif diff --git a/boost/predef/compiler/pgi.h b/boost/predef/compiler/pgi.h index 00286f2..cfc7e3e 100644 --- a/boost/predef/compiler/pgi.h +++ b/boost/predef/compiler/pgi.h @@ -14,17 +14,21 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_PGI`] -[@http://en.wikipedia.org/wiki/XXX PGI] compiler. +[@http://en.wikipedia.org/wiki/The_Portland_Group Portland Group C/C++] compiler. */ #define BOOST_CXX_PGI BOOST_VERSION_NUMBER(0,0,0) #if defined(__PGI) #undef BOOST_CXX_PGI - #define BOOST_CXX_PGI BOOST_VERSION_NUMBER(0,0,1) + #if defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) + #define BOOST_CXX_PGI BOOST_VERSION_NUMBER(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__) + #else + #define BOOST_CXX_PGI BOOST_VERSION_NUMBER(0,0,1) + #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_PGI,"PGI") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_PGI,"Portland Group C/C++") #endif diff --git a/boost/predef/compiler/sgi_mipspro.h b/boost/predef/compiler/sgi_mipspro.h index 888c031..2b5b8fa 100644 --- a/boost/predef/compiler/sgi_mipspro.h +++ b/boost/predef/compiler/sgi_mipspro.h @@ -14,22 +14,24 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_SGI`] -[@http://en.wikipedia.org/wiki/XXX SGI Mips-pro] compiler. +[@http://en.wikipedia.org/wiki/MIPSpro SGI MIPSpro] compiler. Version number available as major, minor, and patch. */ #define BOOST_CXX_SGI BOOST_VERSION_NUMBER(0,0,0) -#if defined(__sgi) +#if defined(__sgi) || defined(sgi) #undef BOOST_CXX_SGI #if defined(_SGI_COMPILER_VERSION) #define BOOST_CXX_SGI BOOST_PREDEF_MAKE_N_N_N(_SGI_COMPILER_VERSION) - #else + #elif defined(_COMPILER_VERSION) #define BOOST_CXX_SGI BOOST_PREDEF_MAKE_N_N_N(_COMPILER_VERSION) + #else + #define BOOST_CXX_SGI BOOST_VERSION_NUMBER(0,0,1) #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_SGI,"SGI Mips-pro") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_SGI,"SGI MIPSpro") #endif diff --git a/boost/predef/compiler/sunpro.h b/boost/predef/compiler/sunpro.h index 04a9cd6..a5078ab 100644 --- a/boost/predef/compiler/sunpro.h +++ b/boost/predef/compiler/sunpro.h @@ -14,18 +14,24 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_SUNPRO`] -[@http://en.wikipedia.org/wiki/XXX Sun Pro] compiler. +[@http://en.wikipedia.org/wiki/Sun_Studio_%28software%29 Sun Studio] compiler. Version number available as major, minor, and patch. */ #define BOOST_CXX_SUNPRO BOOST_VERSION_NUMBER(0,0,0) -#if defined(__SUNPRO_CC) +#if defined(__SUNPRO_CC) || defined(__SUNPRO_C) #undef BOOST_CXX_SUNPRO - #define BOOST_CXX_SUNPRO BOOST_PREDEF_MAKE_F_F_F(__SUNPRO_CC) + #if defined(__SUNPRO_CC) + #define BOOST_CXX_SUNPRO BOOST_PREDEF_MAKE_F_F_F(__SUNPRO_CC) + #elif defined(__SUNPRO_C) + #define BOOST_CXX_SUNPRO BOOST_PREDEF_MAKE_F_F_F(__SUNPRO_C) + #else + #define BOOST_CXX_SUNPRO BOOST_VERSION_NUMBER(0,0,1) + #endif #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_SUNPRO,"Sun Pro") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_SUNPRO,"Sun Studio") #endif diff --git a/boost/predef/compiler/tendra.h b/boost/predef/compiler/tendra.h index 3deb43d..8f3b9f5 100644 --- a/boost/predef/compiler/tendra.h +++ b/boost/predef/compiler/tendra.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_TENDRA`] -[@http://en.wikipedia.org/wiki/XXX Tendra] compiler. +[@http://en.wikipedia.org/wiki/TenDRA_Compiler TenDRA C/C++] compiler. */ #define BOOST_CXX_TENDRA BOOST_VERSION_NUMBER(0,0,0) @@ -25,6 +25,6 @@ http://www.boost.org/LICENSE_1_0.txt) #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_TENDRA,"Tendra") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_TENDRA,"TenDRA C/C++") #endif diff --git a/boost/predef/compiler/visualc.h b/boost/predef/compiler/visualc.h index 3f9683e..1f55964 100644 --- a/boost/predef/compiler/visualc.h +++ b/boost/predef/compiler/visualc.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_MSVC`] -[@http://en.wikipedia.org/wiki/XXX Microsoft Visual C/C++] compiler. +[@http://en.wikipedia.org/wiki/Visual_studio Microsoft Visual C/C++] compiler. Version number available as major, minor, and patch. */ diff --git a/boost/predef/compiler/watcom.h b/boost/predef/compiler/watcom.h index b94b321..20a39ac 100644 --- a/boost/predef/compiler/watcom.h +++ b/boost/predef/compiler/watcom.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_CXX_WATCOM`] -[@http://en.wikipedia.org/wiki/XXX Watcom] compiler. +[@http://en.wikipedia.org/wiki/Watcom Watcom C++] compiler. Version number available as major, and minor. */ @@ -26,6 +26,6 @@ Version number available as major, and minor. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_WATCOM,"Watcom") +BOOST_PREDEF_DECLARE_TEST(BOOST_CXX_WATCOM,"Watcom C++") #endif diff --git a/boost/predef/library/c/uc.h b/boost/predef/library/c/uc.h index 037039c..7b828c1 100644 --- a/boost/predef/library/c/uc.h +++ b/boost/predef/library/c/uc.h @@ -27,6 +27,6 @@ Version number available as major, minor, and patch. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_LIBC_UC,"uC") +BOOST_PREDEF_DECLARE_TEST(BOOST_LIBC_UC,"uClibc") #endif diff --git a/boost/predef/library/c/vms.h b/boost/predef/library/c/vms.h index b6b60b3..b3d28f0 100644 --- a/boost/predef/library/c/vms.h +++ b/boost/predef/library/c/vms.h @@ -22,10 +22,7 @@ Version number available as major, minor, and patch. #if defined(__CRTL_VER) #undef BOOST_LIBC_VMS - #define BOOST_LIBC_VMS BOOST_VERSION_NUMBER( - (__CRTL_VER)/10000000,\ - (__CRTL_VER%10000000)/100000,\ - (__CRTL_VER%10000)/100) + #define BOOST_LIBC_VMS BOOST_PREDEF_MAKE_NN_NN_0_NN_00(__CRTL_VER) #endif #include diff --git a/boost/predef/library/std/cxx.h b/boost/predef/library/std/cxx.h index 0c2a970..de83c6a 100644 --- a/boost/predef/library/std/cxx.h +++ b/boost/predef/library/std/cxx.h @@ -22,7 +22,7 @@ If available version number as major, minor, and patch. #if defined(_LIBCPP_VERSION) #undef BOOST_LIBSTD_CXX - #define BOOST_LIBSTD_CXX BOOST_PREDEF_MAKE_NN_NN(__CPPLIB_VER) + #define BOOST_LIBSTD_CXX BOOST_PREDEF_MAKE_N__NNN(_LIBCPP_VERSION) #endif #include diff --git a/boost/predef/library/std/roguewave.h b/boost/predef/library/std/roguewave.h index ca31bac..c8cce21 100644 --- a/boost/predef/library/std/roguewave.h +++ b/boost/predef/library/std/roguewave.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_LIBSTD_RW`] -[@http://en.wikipedia.org/wiki/XXX Roguewave Standard C++] library. +[@http://stdcxx.apache.org/ Roguewave] Standard C++ library. If available version number as major, minor, and patch. */ diff --git a/boost/predef/library/std/sgi.h b/boost/predef/library/std/sgi.h index da8c5d3..21b6b02 100644 --- a/boost/predef/library/std/sgi.h +++ b/boost/predef/library/std/sgi.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_LIBSTD_SGI`] -[@http://en.wikipedia.org/wiki/XXX SGI Standard C++] library. +[@http://www.sgi.com/tech/stl/ SGI] Standard C++ library. If available version number as major, minor, and patch. */ diff --git a/boost/predef/library/std/stlport.h b/boost/predef/library/std/stlport.h index 517de43..00c87a0 100644 --- a/boost/predef/library/std/stlport.h +++ b/boost/predef/library/std/stlport.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_LIBSTD_STLPORT`] -[@http://en.wikipedia.org/wiki/XXX STLport Standard C++] library. +[@http://sourceforge.net/projects/stlport/ STLport Standard C++] library. Version number available as major, minor, and patch. */ diff --git a/boost/predef/library/std/vacpp.h b/boost/predef/library/std/vacpp.h index a243b7e..aa1dcbe 100644 --- a/boost/predef/library/std/vacpp.h +++ b/boost/predef/library/std/vacpp.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_LIBSTD_IBM`] -[@http://en.wikipedia.org/wiki/XXX IBM VACPP Standard C++] library. +[@http://www.ibm.com/software/awdtools/xlcpp/ IBM VACPP Standard C++] library. */ #define BOOST_LIBSTD_IBM BOOST_VERSION_NUMBER(0,0,0) diff --git a/boost/predef/make.h b/boost/predef/make.h index 9809f3d..3ebd555 100644 --- a/boost/predef/make.h +++ b/boost/predef/make.h @@ -48,25 +48,33 @@ number. Where "`N`" indicates a decimal digit, "`_`" separates the major/minor/patch parts of the version number, and "`0`" indicates an ignored decimal digit. Macros are: */ +/*` `BOOST_PREDEF_MAKE_N__NNN(V)` */ +#define BOOST_PREDEF_MAKE_N__NNN(V) BOOST_VERSION_NUMBER(((V)/1000)%10,0,(V)%1000) /*` `BOOST_PREDEF_MAKE_N_N_N(V)` */ -#define BOOST_PREDEF_MAKE_N_N_N(V) BOOST_VERSION_NUMBER((V)/100,(V%100)/10,(V%10)) -/*` `BOOST_PREDEF_MAKE_NN_NN_NN(V)` */ -#define BOOST_PREDEF_MAKE_NN_NN_NN(V) BOOST_VERSION_NUMBER((V)/10000,(V%10000)/100,(V%100)) -/*` `BOOST_PREDEF_MAKE_NN_NN(V)` */ -#define BOOST_PREDEF_MAKE_NN_NN(V) BOOST_VERSION_NUMBER((V%10000)/100,(V%100),0) -/*` `BOOST_PREDEF_MAKE_N_N_NN(V)` */ -#define BOOST_PREDEF_MAKE_N_N_NN(V) BOOST_VERSION_NUMBER((V)/1000,(V%1000)/100,(V%100)) -/*` `BOOST_PREDEF_MAKE_N_NN_NN(V)` */ -#define BOOST_PREDEF_MAKE_N_NN_NN(V) BOOST_VERSION_NUMBER((V)/10000,(V%10000)/100,(V%100)) +#define BOOST_PREDEF_MAKE_N_N_N(V) BOOST_VERSION_NUMBER(((V)/100)%10,((V)/10)%10,(V)%10) /*` `BOOST_PREDEF_MAKE_N_N_N_000(V)` */ -#define BOOST_PREDEF_MAKE_N_N_N_000(V) BOOST_VERSION_NUMBER((V%1000000)/100000,(V%100000)/10000,(V%10000)/1000) +#define BOOST_PREDEF_MAKE_N_N_N_000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,((V)/1000)%10) +/*` `BOOST_PREDEF_MAKE_N_N_NN(V)` */ +#define BOOST_PREDEF_MAKE_N_N_NN(V) BOOST_VERSION_NUMBER(((V)/1000)%10,((V)/100)%10,(V)%100) +/*` `BOOST_PREDEF_MAKE_N_NN(V)` */ +#define BOOST_PREDEF_MAKE_N_NN(V) BOOST_VERSION_NUMBER(((V)/100)%10,(V)%100,0) +/*` `BOOST_PREDEF_MAKE_N_NN_NN(V)` */ +#define BOOST_PREDEF_MAKE_N_NN_NN(V) BOOST_VERSION_NUMBER(((V)/10000)%10,((V)/100)%100,(V)%100) /*` `BOOST_PREDEF_MAKE_N_NN_000(V)` */ -#define BOOST_PREDEF_MAKE_N_NN_000(V) BOOST_VERSION_NUMBER((V%1000000)/100000,(V%100000)/1000,0) -/*` `BOOST_PREDEF_MAKE_NN_NN_00_NN_00(V)` */ -#define BOOST_PREDEF_MAKE_NN_NN_00_NN_00(V) BOOST_VERSION_NUMBER((V)/100000000,(V%100000000)/1000000,(V%10000)/100) +#define BOOST_PREDEF_MAKE_N_NN_000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/1000)%100,0) /*` `BOOST_PREDEF_MAKE_NN_00(V)` */ -#define BOOST_PREDEF_MAKE_NN_00(V) BOOST_VERSION_NUMBER((V)/100,0,0) +#define BOOST_PREDEF_MAKE_NN_00(V) BOOST_VERSION_NUMBER(((V)/100)%100,0,0) +/*` `BOOST_PREDEF_MAKE_NN_NN(V)` */ +#define BOOST_PREDEF_MAKE_NN_NN(V) BOOST_VERSION_NUMBER(((V)/100)%100,(V)%100,0) +/*` `BOOST_PREDEF_MAKE_NN_NN_NN(V)` */ +#define BOOST_PREDEF_MAKE_NN_NN_NN(V) BOOST_VERSION_NUMBER(((V)/10000)%100,((V)/100)%100,(V)%100) +/*` `BOOST_PREDEF_MAKE_NN_NN_0_NN_00(V)` */ +#define BOOST_PREDEF_MAKE_NN_NN_0_NN_00(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,((V)/100)%100) +/*` `BOOST_PREDEF_MAKE_NN_NN_0_NNNN(V)` */ +#define BOOST_PREDEF_MAKE_NN_NN_0_NNNN(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,(V)%10000) +/*` `BOOST_PREDEF_MAKE_NN_NN_00_NN_00(V)` */ +#define BOOST_PREDEF_MAKE_NN_NN_00_NN_00(V) BOOST_VERSION_NUMBER(((V)/100000000)%100,((V)/1000000)%100,((V)/100)%100) /*` `BOOST_PREDEF_MAKE_YYYY_MM_DD(V)` */ -#define BOOST_PREDEF_MAKE_YYYY_MM_DD(V) BOOST_VERSION_NUMBER((V)/10000-1970,(V%10000)/100,(V%100)) +#define BOOST_PREDEF_MAKE_YYYY_MM_DD(V) BOOST_VERSION_NUMBER(((V)/10000)%10000-1970,((V)/100)%100,(V)%100) #endif diff --git a/boost/predef/os.h b/boost/predef/os.h index ba7bc49..f4808f6 100644 --- a/boost/predef/os.h +++ b/boost/predef/os.h @@ -17,9 +17,11 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include #include +#include #include #include #include +#include #include #endif diff --git a/boost/predef/os/aix.h b/boost/predef/os/aix.h index ba53c46..b266571 100644 --- a/boost/predef/os/aix.h +++ b/boost/predef/os/aix.h @@ -12,9 +12,9 @@ http://www.boost.org/LICENSE_1_0.txt) #include /*` -[heading `BOOST_OS_`] +[heading `BOOST_OS_AIX`] -[@http://en.wikipedia.org/wiki/XXX AIX] operating system. +[@http://en.wikipedia.org/wiki/AIX_operating_system IBM AIX] operating system. Version number available as major, minor, and patch. */ @@ -36,6 +36,6 @@ Version number available as major, minor, and patch. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_AIX,"AIX") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_AIX,"IBM AIX") #endif diff --git a/boost/predef/os/amigaos.h b/boost/predef/os/amigaos.h index a19d119..fcea99c 100644 --- a/boost/predef/os/amigaos.h +++ b/boost/predef/os/amigaos.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_AMIGAOS`] -[@http://en.wikipedia.org/wiki/XXX AmigaOS] operating system. +[@http://en.wikipedia.org/wiki/AmigaOS AmigaOS] operating system. */ #define BOOST_OS_AMIGAOS BOOST_VERSION_NUMBER(0,0,0) diff --git a/boost/predef/os/beos.h b/boost/predef/os/beos.h index d041cf3..888865b 100644 --- a/boost/predef/os/beos.h +++ b/boost/predef/os/beos.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_BEOS`] -[@http://en.wikipedia.org/wiki/XXX Be] operating system. +[@http://en.wikipedia.org/wiki/BeOS BeOS] operating system. */ #define BOOST_OS_BEOS BOOST_VERSION_NUMBER(0,0,0) @@ -25,6 +25,6 @@ http://www.boost.org/LICENSE_1_0.txt) #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BEOS,"Be OS") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BEOS,"BeOS") #endif diff --git a/boost/predef/os/bsd.h b/boost/predef/os/bsd.h index e06bca2..d3a760c 100644 --- a/boost/predef/os/bsd.h +++ b/boost/predef/os/bsd.h @@ -14,17 +14,17 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_BSD`] -[@http://en.wikipedia.org/wiki/XXX BSD] operating system. +[@http://en.wikipedia.org/wiki/Berkeley_Software_Distribution BSD] operating system. BSD has various branch operating systems possible and each detected individually. This detects the following variations and sets a specific version number macro to match: -* `BOOST_OS_DRAGONFLY_BSD` [@http://en.wikipedia.org/wiki/XXX Dragonfly BSD] -* `BOOST_OS_FREE_BSD` [@http://en.wikipedia.org/wiki/XXX Free BSD] -* `BOOST_OS_BSDI_BSD` [@http://en.wikipedia.org/wiki/XXX BSDI] -* `BOOST_OS_NET_BSD` [@http://en.wikipedia.org/wiki/XXX Net BSD] -* `BOOST_OS_OPEN_BSD` [@http://en.wikipedia.org/wiki/XXX Open BSD] +* `BOOST_OS_DRAGONFLY_BSD` [@http://en.wikipedia.org/wiki/DragonFly_BSD DragonFly BSD] +* `BOOST_OS_FREE_BSD` [@http://en.wikipedia.org/wiki/Freebsd FreeBSD] +* `BOOST_OS_BSDI_BSD` [@http://en.wikipedia.org/wiki/BSD/OS BSDi BSD/OS] +* `BOOST_OS_NET_BSD` [@http://en.wikipedia.org/wiki/Netbsd NetBSD] +* `BOOST_OS_OPEN_BSD` [@http://en.wikipedia.org/wiki/Openbsd OpenBSD] [note The general `BOOST_OS_BSD` is set in all cases to indicate some form of BSD. If the above variants is detected the corresponding macro is also set.] @@ -47,6 +47,7 @@ of BSD. If the above variants is detected the corresponding macro is also set.] #undef BOOST_OS_FREE_BSD #undef BOOST_OS_NET_BSD #undef BOOST_OS_OPEN_BSD + #include #if defined(BSD4_2) #define BOOST_OS_BSD BOOST_VERSION_NUMBER(4,2,0) #elif defined(BSD4_3) @@ -148,10 +149,10 @@ of BSD. If the above variants is detected the corresponding macro is also set.] #include BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSD,"BSD") -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_DRAGONFLY_BSD,"Dragonfly BSD") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_DRAGONFLY_BSD,"DragonFly BSD") BOOST_PREDEF_DECLARE_TEST(BOOST_OS_FREE_BSD,"Free BSD") -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSDI_BSD,"BSDI BSD") -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_NET_BSD,"Net BSD") -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_OPEN_BSD,"Open BSD") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_BSDI_BSD,"BSDi BSD/OS") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_NET_BSD,"NetBSD") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_OPEN_BSD,"OpenBSD") #endif diff --git a/boost/predef/os/cygwin.h b/boost/predef/os/cygwin.h index 6b06c65..ddaf202 100644 --- a/boost/predef/os/cygwin.h +++ b/boost/predef/os/cygwin.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_CYGWIN`] -[@http://en.wikipedia.org/wiki/XXX Cygwin] operating system. +[@http://en.wikipedia.org/wiki/Cygwin Cygwin] evironment. */ #define BOOST_OS_CYGWIN BOOST_VERSION_NUMBER(0,0,0) diff --git a/boost/predef/os/hpux.h b/boost/predef/os/hpux.h index 04e1ea5..59a57ad 100644 --- a/boost/predef/os/hpux.h +++ b/boost/predef/os/hpux.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_HPUX`] -[@http://en.wikipedia.org/wiki/XXX HP-UX] operating system. +[@http://en.wikipedia.org/wiki/HP-UX HP-UX] operating system. */ #define BOOST_OS_HPUX BOOST_VERSION_NUMBER(0,0,0) diff --git a/boost/predef/os/irix.h b/boost/predef/os/irix.h index db77cbf..192c0e8 100644 --- a/boost/predef/os/irix.h +++ b/boost/predef/os/irix.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_IRIX`] -[@http://en.wikipedia.org/wiki/XXX Irix] operating system. +[@http://en.wikipedia.org/wiki/Irix IRIX] operating system. */ #define BOOST_OS_IRIX BOOST_VERSION_NUMBER(0,0,0) @@ -25,6 +25,6 @@ http://www.boost.org/LICENSE_1_0.txt) #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_IRIX,"Irix") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_IRIX,"IRIX") #endif diff --git a/boost/predef/os/linux.h b/boost/predef/os/linux.h index c01a981..4375ada 100644 --- a/boost/predef/os/linux.h +++ b/boost/predef/os/linux.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_LINUX`] -[@http://en.wikipedia.org/wiki/XXX Linux] operating system. +[@http://en.wikipedia.org/wiki/Linux Linux] operating system. */ #define BOOST_OS_LINUX BOOST_VERSION_NUMBER(0,0,0) diff --git a/boost/predef/os/macos.h b/boost/predef/os/macos.h index 11ad38d..f2a47bf 100644 --- a/boost/predef/os/macos.h +++ b/boost/predef/os/macos.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_MACOS`] -[@http://en.wikipedia.org/wiki/XXX MacOS] operating system. +[@http://en.wikipedia.org/wiki/Mac_OS Mac OS] operating system. Versions \[9-10\] are specifically detected. */ @@ -31,6 +31,6 @@ Versions \[9-10\] are specifically detected. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_MACOS,"MacOS") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_MACOS,"Mac OS") #endif diff --git a/boost/predef/os/os400.h b/boost/predef/os/os400.h new file mode 100644 index 0000000..ace0df4 --- /dev/null +++ b/boost/predef/os/os400.h @@ -0,0 +1,30 @@ +/* +Copyright Redshift Software Inc 2011 +Distributed under 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) +*/ + +#ifndef BOOST_PREDEF_OS_OS400_H +#define BOOST_PREDEF_OS_OS400_H + +#include +#include + +/*` +[heading `BOOST_OS_OS400`] + +[@http://en.wikipedia.org/wiki/IBM_i IBM OS/400] operating system. + */ + +#define BOOST_OS_OS400 BOOST_VERSION_NUMBER(0,0,0) + +#if defined(__OS400__) + #undef BOOST_OS_OS400 + #define BOOST_OS_OS400 BOOST_VERSION_NUMBER(0,0,1) +#endif + +#include +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_OS400,"IBM OS/400") + +#endif diff --git a/boost/predef/os/qnxnto.h b/boost/predef/os/qnxnto.h index 65765a7..554b83e 100644 --- a/boost/predef/os/qnxnto.h +++ b/boost/predef/os/qnxnto.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_QNX`] -[@http://en.wikipedia.org/wiki/XXX QNX-NTO] operating system. +[@http://en.wikipedia.org/wiki/QNX QNX] operating system. Version number available as major, and minor if possible. And version 4 is specifically detected. */ @@ -33,6 +33,6 @@ version 4 is specifically detected. #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_QNX,"QNX-NTO") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_QNX,"QNX") #endif diff --git a/boost/predef/os/solaris.h b/boost/predef/os/solaris.h index caed2df..c574da7 100644 --- a/boost/predef/os/solaris.h +++ b/boost/predef/os/solaris.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_SOLARIS`] -[@http://en.wikipedia.org/wiki/XXX Solaris] operating system. +[@http://en.wikipedia.org/wiki/Solaris_Operating_Environment Solaris] operating system. */ #define BOOST_OS_SOLARIS BOOST_VERSION_NUMBER(0,0,0) diff --git a/boost/predef/os/unix.h b/boost/predef/os/unix.h index c06493d..09d5693 100644 --- a/boost/predef/os/unix.h +++ b/boost/predef/os/unix.h @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_UNIX`] -[@http://en.wikipedia.org/wiki/XXX Unix] operating system. +[@http://en.wikipedia.org/wiki/Unix Unix Environment] operating system. */ #define BOOST_OS_UNIX BOOST_VERSION_NUMBER(0,0,0) @@ -25,7 +25,22 @@ http://www.boost.org/LICENSE_1_0.txt) #define BOOST_OS_UNIX BOOST_VERSION_NUMBER(0,0,1) #endif +/*` +[heading `BOOST_OS_SVR4`] + +[@http://en.wikipedia.org/wiki/UNIX_System_V SVR4 Environment] operating system. + */ + +#define BOOST_OS_SVR4 BOOST_VERSION_NUMBER(0,0,0) + +#if defined(__sysv__) || defined(__SVR4) || \ + defined(__svr4__) || defined(_SYSTYPE_SVR4) + #undef BOOST_OS_SVR4 + #define BOOST_OS_SVR4 BOOST_VERSION_NUMBER(0,0,1) +#endif + #include -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_UNIX,"Unix") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_UNIX,"Unix ENvironment") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_SVR4,"SVR4 Environment") #endif diff --git a/boost/predef/os/vms.h b/boost/predef/os/vms.h new file mode 100644 index 0000000..986cb2b --- /dev/null +++ b/boost/predef/os/vms.h @@ -0,0 +1,35 @@ +/* +Copyright Redshift Software Inc 2011 +Distributed under 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) +*/ + +#ifndef BOOST_PREDEF_OS_VMS_H +#define BOOST_PREDEF_OS_VMS_H + +#include +#include + +/*` +[heading `BOOST_OS_VMS`] + +[@http://en.wikipedia.org/wiki/Vms VMS] operating system. +Version number available as major, minor, and patch. + */ + +#define BOOST_OS_VMS BOOST_VERSION_NUMBER(0,0,0) + +#if defined(VMS) || defined(__VMS) + #undef BOOST_OS_VMS + #if defined(__VMS_VER) + #define BOOST_OS_VMS BOOST_PREDEF_MAKE_NN_NN_00_NN_00(__VMS_VER) + #else + #define BOOST_OS_VMS BOOST_VERSION_NUMBER(0,0,1) + #endif +#endif + +#include +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_VMS,"VMS") + +#endif diff --git a/boost/predef/os/windows.h b/boost/predef/os/windows.h index 5312c24..748c26c 100644 --- a/boost/predef/os/windows.h +++ b/boost/predef/os/windows.h @@ -14,18 +14,19 @@ http://www.boost.org/LICENSE_1_0.txt) /*` [heading `BOOST_OS_WINDOWS`] -[@http://en.wikipedia.org/wiki/XXX Microsoft Windows] operating system. +[@http://en.wikipedia.org/wiki/Category:Microsoft_Windows Microsoft Windows] operating system. */ #define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER(0,0,0) #if defined(_WIN32) || defined(_WIN64) || \ - defined(__WIN32__) || defined(__TOS_WIN__) + defined(__WIN32__) || defined(__TOS_WIN__) || \ + defined(__WINDOWS__) #undef BOOST_OS_WINDOWS #define BOOST_OS_WINDOWS BOOST_VERSION_NUMBER(0,0,1) #endif #include -BOOST_PREDEF_DECLARE_TEST(BOOST_OS_WINDOWS,"Windows") +BOOST_PREDEF_DECLARE_TEST(BOOST_OS_WINDOWS,"Microsoft Windows") #endif diff --git a/libs/predef/doc/html/index.html b/libs/predef/doc/html/index.html index 641a970..28b1b69 100644 --- a/libs/predef/doc/html/index.html +++ b/libs/predef/doc/html/index.html @@ -8,8 +8,6 @@ -
-
Next
@@ -61,7 +59,7 @@
- +

Last revised: November 30, 2011 at 23:35:32 GMT

Last revised: December 15, 2011 at 03:47:03 GMT


diff --git a/libs/predef/doc/html/predef/adding_new_predefs.html b/libs/predef/doc/html/predef/adding_new_predefs.html index cefa8d4..b3bb109 100644 --- a/libs/predef/doc/html/predef/adding_new_predefs.html +++ b/libs/predef/doc/html/predef/adding_new_predefs.html @@ -10,8 +10,6 @@ -
-
PrevUpHomeNext
@@ -82,8 +80,6 @@ below, as current predef headers do. First we have the copyright and license statement, followed by the include guard:

-

-

/*
 Copyright Jane Doe YYYY
 Distributed under the Boost Software License, Version 1.0.
@@ -94,21 +90,15 @@ http://www.boost.org/LICENSE_1_0.txt)
 #ifndef BOOST_PREDEF_category_tag_H
 #define BOOST_PREDEF_category_tag_H
 
-

-

Depending on how you are defining the predef you will at minimum have to include the version_number.h header. But you might also want to include the make.h header for the version number decomposing utility macros:

-

-

#include <boost/predef/version_number.h>
 #include <boost/predef/make.h>
 
-

-

The Predef library uses Quickbook for documentation and for the individual predefs to appear in the reference section we add in-code documentation followed @@ -117,8 +107,6 @@ http://www.boost.org/LICENSE_1_0.txt) some development environments automatically interpret this and provide in-line help for the macro. In particular this works for the popular Eclipse IDE:

-

-

/*`
 [heading `BOOST_category_tag`]
 
@@ -127,8 +115,6 @@ Documentation about what is detected.
 
 #define BOOST_category_tag BOOST_VERSION_NUMBER(0,0,0)
 
-

-

Next is the detection and definition of the particular predef. The structure for this is to do a single overall check (condition_a) @@ -140,8 +126,6 @@ Documentation about what is detected. BOOST_category_tag BOOST_VERSION_NUMBER(0,0,1)" as the fallback to minimally indicate that the predef was detected:

-

-

#if (condition_a)
     #undef BOOST_category_tag
     #if (condition_b)
@@ -151,30 +135,20 @@ Documentation about what is detected.
     #endif
 #endif
 
-

-

The testing of the predef macros is automated to generate checks for all the defined predefs, whether detected or not. To do this we need to declare the predef to the test system. This declaration is empty for regular use. And during the test programs theexpand out specially to create informational output:

-

-

#include <boost/predef/detail/test.h>
 BOOST_PREDEF_DECLARE_TEST(BOOST_category_tag,"Name")
 
-

-

And, of course, we last need to close out the include guard:

-

-

#endif
 
-

-

Using utility @@ -183,23 +157,15 @@ Documentation about what is detected.

By including:

-

-

#include <boost/predef/make.h>
 
-

-

One will get a set utlity macros to decompose common version macros as defined by compilers. For example the EDG compiler uses a simple 3-digit version macro (M,N,P). It can be decomesed and defined as:

-

-

#define BOOST_CXX_EDG BOOST_PREDEF_MAKE_N_N_N(__EDG_VERSION__)
 
-

-

The decomposition macros are split into three types: decimal decomposition, hexadecimal decomposition, and date decomposition. They follow the format of diff --git a/libs/predef/doc/html/predef/introduction.html b/libs/predef/doc/html/predef/introduction.html index df0df4a..55c1532 100644 --- a/libs/predef/doc/html/predef/introduction.html +++ b/libs/predef/doc/html/predef/introduction.html @@ -10,8 +10,6 @@ -
-


diff --git a/libs/predef/doc/html/predef/reference.html b/libs/predef/doc/html/predef/reference.html index 5bd1666..aa2b1f4 100644 --- a/libs/predef/doc/html/predef/reference.html +++ b/libs/predef/doc/html/predef/reference.html @@ -9,8 +9,6 @@ -
-
PrevUpHome
@@ -169,233 +167,240 @@ BOOST_CXX_BORLAND

- Borland compiler. Version - number available as major, minor, and patch. + Borland C++ + compiler. Version number available as major, minor, and patch.

- BOOST_CXX_COMO + BOOST_CXX_CLANG

- Comeau compiler. Version + Clang compiler. Version number available as major, minor, and patch.

- BOOST_CXX_DEC + BOOST_CXX_COMO

- Compaq DEC compiler. - Version number available as major, minor, and patch. + Comeau C++ + compiler. Version number available as major, minor, and patch.

+ BOOST_CXX_DEC +
+

+ Compaq + C/C++ compiler. Version number available as major, minor, and patch. +

+
+ BOOST_CXX_CYGWIN

Cygwin compiler.

- + BOOST_CXX_DIAB

- Diab compiler. Version - number available as major, minor, and patch. -

-
- - BOOST_CXX_DMC -
-

- Digital Mars compiler. - Version number available as major, minor, and patch. + Diab + C/C++ compiler. Version number available as major, minor, and patch.

- BOOST_CXX_SYSC + BOOST_CXX_DMC

- Dignus SysC compiler. - Version number available as major, minor, and patch. + Digital Mars + compiler. Version number available as major, minor, and patch.

- BOOST_CXX_EDG + BOOST_CXX_SYSC

- EDG compiler. Version - number available as major, minor, and patch. + Dignus Systems/C++ compiler. + Version number available as major, minor, and patch.

- BOOST_CXX_PATH + BOOST_CXX_EDG

- Ekopath compiler. Version - number available as major, minor, and patch. + EDG C++ Frontend + compiler. Version number available as major, minor, and patch.

- BOOST_CXX_GNUC + BOOST_CXX_PATH

- Gnu C/C++ compiler. - Version number available as major, minor, and patch (if available). + EKOpath compiler. + Version number available as major, minor, and patch.

+ BOOST_CXX_GNUC +
+

+ Gnu GCC + C/C++ compiler. Version number available as major, minor, and patch + (if available). +

+
+ BOOST_CXX_GCCXML

GCC XML compiler.

- + BOOST_CXX_GHS

- Green Hills compiler. - Version number available as major, minor, and patch. -

-
- - BOOST_CXX_HPACC -
-

- HP ACC compiler. Version - number available as major, minor, and patch. + Green Hills + C/C++ compiler. Version number available as major, minor, and patch.

- BOOST_CXX_IAR + BOOST_CXX_HPACC

- IAR compiler. Version - number available as major, minor, and patch. + HP aC++ compiler. Version number available as major, minor, and patch.

- BOOST_CXX_IBM + BOOST_CXX_IAR

- Iternational Business Mchines - compiler. Version number available as major, minor, and patch. + IAR C/C++ compiler. Version number available as major, minor, and patch.

- BOOST_CXX_INTEL + BOOST_CXX_IBM

- Intel compiler. Version - number available as major, minor, and patch. -

-
- - BOOST_CXX_KCC -
-

- Kai compiler. Version - number available as major, minor, and patch. -

-
- - BOOST_CXX_LLVM -
-

- LLVM compiler. -

-
- - BOOST_CXX_HIGHC -
-

- Metaware HighC compiler. -

-
- - BOOST_CXX_MWERKS -
-

- Metrowerks compiler. - Version number available as major, minor, and patch. -

-
- - BOOST_CXX_MRI -
-

- Microtec compiler. -

-
- - BOOST_CXX_MINGW -
-

- MinGW compiler. Version - number available as major, minor, and patch. -

-
- - BOOST_CXX_MPW -
-

- MPW compiler. Version - number available as major, and minor. -

-
- - BOOST_CXX_PALM -
-

- Palm compiler. Version - number available as major, minor, and patch. -

-
- - BOOST_CXX_PGI -
-

- PGI compiler. -

-
- - BOOST_CXX_SGI -
-

- SGI Mips-pro compiler. - Version number available as major, minor, and patch. -

-
- - BOOST_CXX_SUNPRO -
-

- Sun Pro compiler. Version - number available as major, minor, and patch. -

-
- - BOOST_CXX_TENDRA -
-

- Tendra compiler. -

-
- - BOOST_CXX_MSVC -
-

- Microsoft Visual C/C++ + IBM XL C/C++ compiler. Version number available as major, minor, and patch.

+ + BOOST_CXX_INTEL +
+

+ Intel C/C++ + compiler. Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_KCC +
+

+ Kai C++ compiler. Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_LLVM +
+

+ LLVM compiler. +

+
+ + BOOST_CXX_HIGHC +
+

+ MetaWare High C/C++ compiler. +

+
+ + BOOST_CXX_MWERKS +
+

+ Metrowerks CodeWarrior + compiler. Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_MRI +
+

+ Microtec C/C++ compiler. +

+
+ + BOOST_CXX_MINGW +
+

+ MinGW compiler. Version + number available as major, minor, and patch. +

+
+ + BOOST_CXX_MPW +
+

+ MPW + C++ compiler. Version number available as major, and minor. +

+
+ + BOOST_CXX_PALM +
+

+ Palm C/C++ compiler. Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_PGI +
+

+ Portland Group + C/C++ compiler. +

+
+ + BOOST_CXX_SGI +
+

+ SGI MIPSpro compiler. + Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_SUNPRO +
+

+ Sun Studio + compiler. Version number available as major, minor, and patch. +

+
+ + BOOST_CXX_TENDRA +
+

+ TenDRA C/C++ + compiler. +

+
+ BOOST_CXX_MSVC +
+

+ Microsoft Visual + C/C++ compiler. Version number available as major, minor, and patch. +

+
+ BOOST_CXX_WATCOM

- Watcom compiler. Version - number available as major, and minor. + Watcom C++ compiler. + Version number available as major, and minor.

@@ -626,15 +631,15 @@ BOOST_LIBSTD_RW

- Roguewave Standard C++ - library. If available version number as major, minor, and patch. + Roguewave Standard C++ library. + If available version number as major, minor, and patch.

BOOST_LIBSTD_SGI

- SGI Standard C++ library. + SGI Standard C++ library. If available version number as major, minor, and patch.

@@ -650,7 +655,7 @@ BOOST_LIBSTD_STLPORT

- STLport Standard C++ + STLport Standard C++ library. Version number available as major, minor, and patch.

@@ -658,8 +663,8 @@ BOOST_LIBSTD_IBM

- IBM VACPP Standard C++ - library. + IBM VACPP Standard + C++ library.

@@ -668,32 +673,34 @@
- BOOST_OS_ + BOOST_OS_AIX

- AIX operating system. - Version number available as major, minor, and patch. + IBM AIX + operating system. Version number available as major, minor, and patch.

BOOST_OS_AMIGAOS

- AmigaOS operating system. + AmigaOS operating + system.

BOOST_OS_BEOS

- Be operating system. + BeOS operating system.

BOOST_OS_BSD

- BSD operating system. + BSD + operating system.

BSD has various branch operating systems possible and each detected individually. @@ -703,19 +710,19 @@

@@ -734,67 +741,93 @@ BOOST_OS_CYGWIN

- Cygwin operating system. + Cygwin evironment.

BOOST_OS_HPUX

- HP-UX operating system. + HP-UX operating system.

BOOST_OS_IRIX

- Irix operating system. + IRIX operating system.

BOOST_OS_LINUX

- Linux operating system. + Linux operating system.

BOOST_OS_MACOS

- MacOS operating system. - Versions [9-10] are specifically detected. + Mac OS operating + system. Versions [9-10] are specifically detected.

+ BOOST_OS_OS400 +
+

+ IBM OS/400 operating + system. +

+
+ BOOST_OS_QNX

- QNX-NTO operating system. + QNX operating system. Version number available as major, and minor if possible. And version 4 is specifically detected.

- + BOOST_OS_SOLARIS

- Solaris operating system. -

-
- - BOOST_OS_UNIX -
-

- Unix operating system. + Solaris + operating system.

+ BOOST_OS_UNIX +
+

+ Unix Environment operating + system. +

+
+ + BOOST_OS_SVR4 +
+

+ SVR4 Environment + operating system. +

+
+ + BOOST_OS_VMS +
+

+ VMS operating system. + Version number available as major, minor, and patch. +

+
+ BOOST_OS_WINDOWS

- Microsoft Windows operating - system. + Microsoft + Windows operating system.

@@ -806,12 +839,8 @@ BOOST_VERSION_NUMBER -

-

BOOST_VERSION_NUMBER(major,minor,patch)
 
-

-

Defines standard version numbers, with these properties:

@@ -893,32 +922,44 @@ separates the major/minor/patch parts of the version number, and "0" indicates an ignored decimal digit. Macros are:

+

+ BOOST_PREDEF_MAKE_N__NNN(V) +

BOOST_PREDEF_MAKE_N_N_N(V)

-

- BOOST_PREDEF_MAKE_NN_NN_NN(V) -

-

- BOOST_PREDEF_MAKE_NN_NN(V) -

-

- BOOST_PREDEF_MAKE_N_N_NN(V) -

-

- BOOST_PREDEF_MAKE_N_NN_NN(V) -

BOOST_PREDEF_MAKE_N_N_N_000(V)

+

+ BOOST_PREDEF_MAKE_N_N_NN(V) +

+

+ BOOST_PREDEF_MAKE_N_NN(V) +

+

+ BOOST_PREDEF_MAKE_N_NN_NN(V) +

BOOST_PREDEF_MAKE_N_NN_000(V)

- BOOST_PREDEF_MAKE_NN_NN_00_NN_00(V) + BOOST_PREDEF_MAKE_NN_00(V)

- BOOST_PREDEF_MAKE_NN_00(V) + BOOST_PREDEF_MAKE_NN_NN(V) +

+

+ BOOST_PREDEF_MAKE_NN_NN_NN(V) +

+

+ BOOST_PREDEF_MAKE_NN_NN_0_NN_00(V) +

+

+ BOOST_PREDEF_MAKE_NN_NN_0_NNNN(V) +

+

+ BOOST_PREDEF_MAKE_NN_NN_00_NN_00(V)

BOOST_PREDEF_MAKE_YYYY_MM_DD(V) diff --git a/libs/predef/doc/html/predef/using_the_predefs.html b/libs/predef/doc/html/predef/using_the_predefs.html index 8318d70..7b76cc4 100644 --- a/libs/predef/doc/html/predef/using_the_predefs.html +++ b/libs/predef/doc/html/predef/using_the_predefs.html @@ -10,8 +10,6 @@ -

-
PrevUpHomeNext
@@ -23,12 +21,8 @@ To use the automatically defined predefs one needs to only include the single top-level header:

-

-

#include <boost/predef.h>
 
-

-

This defines all the version macros known to the library. For each macro it will be defined to either a zero @@ -75,8 +69,6 @@ macro. For example, to make a choice based on the version of the GCC C++ compiler one would:

-

-

#include <boost/predef.h>
 #include <iostream>
 
@@ -89,8 +81,6 @@
   return 0;
 }
 
-

-

As you might notice above the else clause also covers the case where we the particular compiler is not detected. @@ -98,8 +88,6 @@ are defined as a zero (0) expression when not detected. Hence one could use the detection with a natural single condition. For example:

-

-

#include <boost/predef.h>
 #include <iostream>
 
@@ -112,14 +100,10 @@
   return 0;
 }
 
-

-

And since the predef's are preprocessor definitions the same is possible from the preprocessor:

-

-

#include <boost/predef.h>
 #include <iostream>
 
@@ -139,8 +123,6 @@
   return 0;
 }
 
-

-

Using the @@ -150,12 +132,8 @@ All the predefs are defined to be a use of the BOOST_VERSION_NUMBER macro. The macro takes individual major, minor, and patch value expressions:

-

-

#define BOOST_VERSION_NUMBER( major, minor, patch ) ...
 
-

-

The arguments are:

@@ -185,21 +163,13 @@ the other predef macros. This means that any allowed base is possible, i.e. binary, octal, decimal, and hexadecimal. For example:

-

-

#define MY_APPLICATION_VERSION_NUMBER BOOST_VERSION_NUMBER(2,0xA,015)
 
-

-

Is equivalent to:

-

-

#define MY_APPLICATION_VERSION_NUMBER BOOST_VERSION_NUMBER(2,10,13)
 
-

-

diff --git a/libs/predef/doc/predef.qbk b/libs/predef/doc/predef.qbk index 7ad3a34..b16df8d 100644 --- a/libs/predef/doc/predef.qbk +++ b/libs/predef/doc/predef.qbk @@ -1,5 +1,5 @@ [article Predef - [quickbook 1.6] + [quickbook 1.7] [version 1.0] [authors [Rivera, Rene]] [copyright 2005 Rene Rivera, 2008-2011 Redshift Software Inc] diff --git a/libs/predef/test/make.cpp b/libs/predef/test/make.cpp index acb4046..bd4f514 100644 --- a/libs/predef/test/make.cpp +++ b/libs/predef/test/make.cpp @@ -38,6 +38,7 @@ void test_BOOST_VERSION_NUMBER() PREDEF_CHECK(BOOST_PREDEF_MAKE_F_FF_FF_000(0xFFFFF000) == BOOST_VERSION_NUMBER(0xF,0xFF,0xFF)); PREDEF_CHECK(BOOST_PREDEF_MAKE_N_N_N(999) == BOOST_VERSION_NUMBER(9,9,9)); + PREDEF_CHECK(BOOST_PREDEF_MAKE_N__NNN(9999) == BOOST_VERSION_NUMBER(9,0,999)); PREDEF_CHECK(BOOST_PREDEF_MAKE_NN_NN_NN(999999) == BOOST_VERSION_NUMBER(99,99,99)); PREDEF_CHECK(BOOST_PREDEF_MAKE_NN_NN(9999) == BOOST_VERSION_NUMBER(99,99,0)); PREDEF_CHECK(BOOST_PREDEF_MAKE_N_N_NN(9999) == BOOST_VERSION_NUMBER(9,9,99)); @@ -45,7 +46,10 @@ void test_BOOST_VERSION_NUMBER() PREDEF_CHECK(BOOST_PREDEF_MAKE_N_N_N_000(999000) == BOOST_VERSION_NUMBER(9,9,9)); PREDEF_CHECK(BOOST_PREDEF_MAKE_N_NN_000(999000) == BOOST_VERSION_NUMBER(9,99,0)); PREDEF_CHECK(BOOST_PREDEF_MAKE_NN_NN_00_NN_00(9999009900) == BOOST_VERSION_NUMBER(99,99,99)); + PREDEF_CHECK(BOOST_PREDEF_MAKE_NN_NN_0_NN_00(999909900) == BOOST_VERSION_NUMBER(99,99,99)); PREDEF_CHECK(BOOST_PREDEF_MAKE_NN_00(9900) == BOOST_VERSION_NUMBER(99,00,00)); + PREDEF_CHECK(BOOST_PREDEF_MAKE_NN_NN_0_NNNN(999909999) == BOOST_VERSION_NUMBER(99,99,9999)); + PREDEF_CHECK(BOOST_PREDEF_MAKE_N_NN(999) == BOOST_VERSION_NUMBER(9,99,00)); PREDEF_CHECK(BOOST_PREDEF_MAKE_YYYY_MM_DD(19700101) == BOOST_VERSION_NUMBER(0,1,1)); PREDEF_CHECK(BOOST_PREDEF_MAKE_YYYY_MM_DD(19710101) == BOOST_VERSION_NUMBER(1,1,1));