diff --git a/include/boost/predef/make.h b/include/boost/predef/make.h index 4f2f9ee..36b891a 100644 --- a/include/boost/predef/make.h +++ b/include/boost/predef/make.h @@ -50,6 +50,8 @@ Macros are: #define BOOST_PREDEF_MAKE_10_VRP(V) BOOST_VERSION_NUMBER(((V)/100)%10,((V)/10)%10,(V)%10) /*` `BOOST_PREDEF_MAKE_10_VRP000(V)` */ #define BOOST_PREDEF_MAKE_10_VRP000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,((V)/1000)%10) +/*` `BOOST_PREDEF_MAKE_10_VRPPPP(V)` */ +#define BOOST_PREDEF_MAKE_10_VRPPPP(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,(V)%10000) /*` `BOOST_PREDEF_MAKE_10_VRPP(V)` */ #define BOOST_PREDEF_MAKE_10_VRPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,((V)/100)%10,(V)%100) /*` `BOOST_PREDEF_MAKE_10_VRR(V)` */ @@ -64,6 +66,8 @@ Macros are: #define BOOST_PREDEF_MAKE_10_VVRR(V) BOOST_VERSION_NUMBER(((V)/100)%100,(V)%100,0) /*` `BOOST_PREDEF_MAKE_10_VVRRPP(V)` */ #define BOOST_PREDEF_MAKE_10_VVRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%100,((V)/100)%100,(V)%100) +/*` `BOOST_PREDEF_MAKE_10_VVRRPPP(V)` */ +#define BOOST_PREDEF_MAKE_10_VVRRPPP(V) BOOST_VERSION_NUMBER(((V)/100000)%100,((V)/1000)%100,(V)%1000) /*` `BOOST_PREDEF_MAKE_10_VVRR0PP00(V)` */ #define BOOST_PREDEF_MAKE_10_VVRR0PP00(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,((V)/100)%100) /*` `BOOST_PREDEF_MAKE_10_VVRR0PPPP(V)` */ diff --git a/include/boost/predef/os/bsd/free.h b/include/boost/predef/os/bsd/free.h index 248011a..81c0021 100644 --- a/include/boost/predef/os/bsd/free.h +++ b/include/boost/predef/os/bsd/free.h @@ -34,13 +34,20 @@ http://www.boost.org/LICENSE_1_0.txt) # define BOOST_OS_BSD_AVAILABLE # endif # undef BOOST_OS_BSD_FREE +# include # if defined(__FreeBSD_version) -# if __FreeBSD_version < 500000 +# if __FreeBSD_version == 491000 # define BOOST_OS_BSD_FREE \ - BOOST_PREDEF_MAKE_10_VRP000(__FreeBSD_version) + BOOST_VERSION_NUMBER(4, 10, 0) +# elif __FreeBSD_version == 492000 +# define BOOST_OS_BSD_FREE \ + BOOST_VERSION_NUMBER(4, 11, 0) +# elif __FreeBSD_version < 500000 +# define BOOST_OS_BSD_FREE \ + BOOST_PREDEF_MAKE_10_VRPPPP(__FreeBSD_version) # else # define BOOST_OS_BSD_FREE \ - BOOST_PREDEF_MAKE_10_VRR000(__FreeBSD_version) + BOOST_PREDEF_MAKE_10_VVRRPPP(__FreeBSD_version) # endif # else # define BOOST_OS_BSD_FREE BOOST_VERSION_NUMBER_AVAILABLE diff --git a/test/make.cpp b/test/make.cpp index 3ae8192..d288833 100644 --- a/test/make.cpp +++ b/test/make.cpp @@ -44,6 +44,8 @@ void test_BOOST_VERSION_NUMBER() PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRR(9999) == BOOST_VERSION_NUMBER(99,99,0)); PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VRPP(9999) == BOOST_VERSION_NUMBER(9,9,99)); PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VRRPP(99999) == BOOST_VERSION_NUMBER(9,99,99)); + PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VRPPPP(460002) == BOOST_VERSION_NUMBER(4,6,2)); + PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VRPPPP(491000) == BOOST_VERSION_NUMBER(4,9,1000)); PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VRP000(999000) == BOOST_VERSION_NUMBER(9,9,9)); PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VRR000(999000) == BOOST_VERSION_NUMBER(9,99,0)); PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRR00PP00(2199009900u) == BOOST_VERSION_NUMBER(21,99,99)); @@ -52,6 +54,8 @@ void test_BOOST_VERSION_NUMBER() PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VV00(9900) == BOOST_VERSION_NUMBER(99,00,00)); PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRR0PPPP(999909999) == BOOST_VERSION_NUMBER(99,99,9999)); PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VRR(999) == BOOST_VERSION_NUMBER(9,99,00)); + PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRRPPP(903122) == BOOST_VERSION_NUMBER(9,3,122)); + PREDEF_CHECK(BOOST_PREDEF_MAKE_10_VVRRPPP(1101002) == BOOST_VERSION_NUMBER(11,1,2)); PREDEF_CHECK(BOOST_PREDEF_MAKE_DATE(1971,1,1) == BOOST_VERSION_NUMBER(1,1,1)); PREDEF_CHECK(BOOST_PREDEF_MAKE_YYYYMMDD(19700101) == BOOST_VERSION_NUMBER(0,1,1));