diff --git a/doc/history.adoc b/doc/history.adoc index 7b6b76f..1746fbb 100644 --- a/doc/history.adoc +++ b/doc/history.adoc @@ -1,5 +1,5 @@ //// -Copyright 2014-2020 Rene Rivera +Copyright 2014-2021 Rene Rivera 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) @@ -7,6 +7,13 @@ http://www.boost.org/LICENSE_1_0.txt) = History +== 1.13 + +* Add `ARCH_PPC_64` predef. +* Fix `ARCH_WORD_BITS*` redefinition warnings/errors. +* Add `ARCH_E2K`, Elbrus 2000, architecture from Konstantin Ivlev. +* Fix not handling recent C++ version that go above 10.x version. + == 1.12 * Switch to using the endian.h header on OpenBSD. (Brad Smith) diff --git a/doc/index.html b/doc/index.html index a799041..c7bde8c 100644 --- a/doc/index.html +++ b/doc/index.html @@ -550,23 +550,25 @@ pre.pygments .tok-il { color: #666666 } /* Literal.Number.Integer.Long */
  • 4.1.2. BOOST_ARCH_ARM
  • 4.1.3. BOOST_ARCH_BLACKFIN
  • 4.1.4. BOOST_ARCH_CONVEX
  • -
  • 4.1.5. BOOST_ARCH_IA64
  • -
  • 4.1.6. BOOST_ARCH_M68K
  • -
  • 4.1.7. BOOST_ARCH_MIPS
  • -
  • 4.1.8. BOOST_ARCH_PARISC
  • -
  • 4.1.9. BOOST_ARCH_PPC
  • -
  • 4.1.10. BOOST_ARCH_PTX
  • -
  • 4.1.11. BOOST_ARCH_PYRAMID
  • -
  • 4.1.12. BOOST_ARCH_RISCV
  • -
  • 4.1.13. BOOST_ARCH_RS6000
  • -
  • 4.1.14. BOOST_ARCH_SPARC
  • -
  • 4.1.15. BOOST_ARCH_SH
  • -
  • 4.1.16. BOOST_ARCH_SYS370
  • -
  • 4.1.17. BOOST_ARCH_SYS390
  • -
  • 4.1.18. BOOST_ARCH_X86
  • -
  • 4.1.19. BOOST_ARCH_Z
  • -
  • 4.1.20. BOOST_ARCH_X86_32
  • -
  • 4.1.21. BOOST_ARCH_X86_64
  • +
  • 4.1.5. BOOST_ARCH_E2K
  • +
  • 4.1.6. BOOST_ARCH_IA64
  • +
  • 4.1.7. BOOST_ARCH_M68K
  • +
  • 4.1.8. BOOST_ARCH_MIPS
  • +
  • 4.1.9. BOOST_ARCH_PARISC
  • +
  • 4.1.10. BOOST_ARCH_PPC
  • +
  • 4.1.11. BOOST_ARCH_PPC_64
  • +
  • 4.1.12. BOOST_ARCH_PTX
  • +
  • 4.1.13. BOOST_ARCH_PYRAMID
  • +
  • 4.1.14. BOOST_ARCH_RISCV
  • +
  • 4.1.15. BOOST_ARCH_RS6000
  • +
  • 4.1.16. BOOST_ARCH_SPARC
  • +
  • 4.1.17. BOOST_ARCH_SH
  • +
  • 4.1.18. BOOST_ARCH_SYS370
  • +
  • 4.1.19. BOOST_ARCH_SYS390
  • +
  • 4.1.20. BOOST_ARCH_X86
  • +
  • 4.1.21. BOOST_ARCH_Z
  • +
  • 4.1.22. BOOST_ARCH_X86_32
  • +
  • 4.1.23. BOOST_ARCH_X86_64
  • 4.2. BOOST_COMP compiler macros @@ -715,19 +717,20 @@ pre.pygments .tok-il { color: #666666 } /* Literal.Number.Integer.Long */
  • 6. History
  • 7. To Do
  • @@ -1818,7 +1821,35 @@ and "Y", "M", "D" for dates.

    -

    4.1.5. BOOST_ARCH_IA64

    +

    4.1.5. BOOST_ARCH_E2K

    +
    +

    E2K architecture.

    +
    + ++++ + + + + + + + + + + + + + + + + +
    SymbolVersion

    __e2k__

    detection

    __e2k__

    V.0.0

    +
    +
    +

    4.1.6. BOOST_ARCH_IA64

    Intel Itanium 64 architecture.

    @@ -1862,7 +1893,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.6. BOOST_ARCH_M68K

    +

    4.1.7. BOOST_ARCH_M68K

    Motorola 68k architecture.

    @@ -1962,7 +1993,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.7. BOOST_ARCH_MIPS

    +

    4.1.8. BOOST_ARCH_MIPS

    MIPS architecture.

    @@ -2034,7 +2065,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.8. BOOST_ARCH_PARISC

    +

    4.1.9. BOOST_ARCH_PARISC

    HP/PA RISC architecture.

    @@ -2098,7 +2129,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.9. BOOST_ARCH_PPC

    +

    4.1.10. BOOST_ARCH_PPC

    PowerPC architecture.

    @@ -2123,6 +2154,10 @@ and "Y", "M", "D" for dates.

    detection

    +

    __powerpc64__

    +

    detection

    + +

    __POWERPC__

    detection

    @@ -2131,6 +2166,18 @@ and "Y", "M", "D" for dates.

    detection

    +

    __ppc64__

    +

    detection

    + + +

    __PPC__

    +

    detection

    + + +

    __PPC64__

    +

    detection

    + +

    _M_PPC

    detection

    @@ -2139,6 +2186,10 @@ and "Y", "M", "D" for dates.

    detection

    +

    _ARCH_PPC64

    +

    detection

    + +

    __PPCGECKO__

    detection

    @@ -2151,6 +2202,10 @@ and "Y", "M", "D" for dates.

    detection

    +

    __ppc

    +

    detection

    + +

    __ppc601__

    6.1.0

    @@ -2178,7 +2233,43 @@ and "Y", "M", "D" for dates.

    -

    4.1.10. BOOST_ARCH_PTX

    +

    4.1.11. BOOST_ARCH_PPC_64

    +
    +

    PowerPC 64 bit architecture.

    +
    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    SymbolVersion

    __powerpc64__

    detection

    __ppc64__

    detection

    __PPC64__

    detection

    _ARCH_PPC64

    detection

    +
    +
    +

    4.1.12. BOOST_ARCH_PTX

    PTX architecture.

    @@ -2206,7 +2297,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.11. BOOST_ARCH_PYRAMID

    +

    4.1.13. BOOST_ARCH_PYRAMID

    Pyramid 9810 architecture.

    @@ -2230,7 +2321,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.12. BOOST_ARCH_RISCV

    +

    4.1.14. BOOST_ARCH_RISCV

    RISC-V architecture.

    @@ -2254,7 +2345,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.13. BOOST_ARCH_RS6000

    +

    4.1.15. BOOST_ARCH_RS6000

    RS/6000 architecture.

    @@ -2294,7 +2385,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.14. BOOST_ARCH_SPARC

    +

    4.1.16. BOOST_ARCH_SPARC

    SPARC architecture.

    @@ -2323,14 +2414,22 @@ and "Y", "M", "D" for dates.

    9.0.0

    +

    __sparc_v9__

    +

    9.0.0

    + +

    __sparcv8

    8.0.0

    + +

    __sparc_v8__

    +

    8.0.0

    +
    -

    4.1.15. BOOST_ARCH_SH

    +

    4.1.17. BOOST_ARCH_SH

    SuperH architecture: If available versions [1-5] are specifically detected.

    @@ -2379,7 +2478,7 @@ If available versions [1-5] are specifically detected.

    -

    4.1.16. BOOST_ARCH_SYS370

    +

    4.1.18. BOOST_ARCH_SYS370

    System/370 architecture.

    @@ -2407,7 +2506,7 @@ If available versions [1-5] are specifically detected.

    -

    4.1.17. BOOST_ARCH_SYS390

    +

    4.1.19. BOOST_ARCH_SYS390

    System/390 architecture.

    @@ -2435,7 +2534,7 @@ If available versions [1-5] are specifically detected.

    -

    4.1.18. BOOST_ARCH_X86

    +

    4.1.20. BOOST_ARCH_X86

    Intel x86 architecture. This is a category to indicate that either BOOST_ARCH_X86_32 or @@ -2443,7 +2542,7 @@ a category to indicate that either BOOST_ARCH_X86_32 or

    -

    4.1.19. BOOST_ARCH_Z

    +

    4.1.21. BOOST_ARCH_Z

    z/Architecture architecture.

    @@ -2467,7 +2566,7 @@ a category to indicate that either BOOST_ARCH_X86_32 or
    -

    4.1.20. BOOST_ARCH_X86_32

    +

    4.1.22. BOOST_ARCH_X86_32

    Intel x86 architecture: If available versions [3-6] are specifically detected.

    @@ -2556,9 +2655,9 @@ If available versions [3-6] are specifically detected.

    -

    4.1.21. BOOST_ARCH_X86_64

    +

    4.1.23. BOOST_ARCH_X86_64

    -

    Intel IA-64 architecture.

    +

    X86-64 architecture.

    @@ -4175,7 +4274,7 @@ If available version number as major, minor, and patch.

    4.4.13. BOOST_LIB_STD_GNU

    -

    http://gcc.gnu.org/libstdc/[GNU libstdc] Standard C++ library. +

    GNU libstdc++ Standard C++ library. Version number available as year (from 1970), month, and day.

    @@ -6839,7 +6938,26 @@ expressions. It defaults to "c++", but can be any of: "c", "cpp",

    6. History

    -

    6.1. 1.12

    +

    6.1. 1.13

    +
    +
      +
    • +

      Add ARCH_PPC_64 predef.

      +
    • +
    • +

      Fix ARCH_WORD_BITS* redefinition warnings/errors.

      +
    • +
    • +

      Add ARCH_E2K, Elbrus 2000, architecture from Konstantin Ivlev.

      +
    • +
    • +

      Fix not handling recent C++ version that go above 10.x version.

      +
    • +
    +
    +
    +
    +

    6.2. 1.12

    • @@ -6868,7 +6986,7 @@ Initial implementation inspired by submission from Mikhail Komarov.

    -

    6.2. 1.11

    +

    6.3. 1.11

    • @@ -6896,7 +7014,7 @@ Initial implementation inspired by submission from Mikhail Komarov.

    -

    6.3. 1.10

    +

    6.4. 1.10

    • @@ -6921,7 +7039,7 @@ removed in a future release.

    -

    6.4. 1.9

    +

    6.5. 1.9

    • @@ -6934,7 +7052,7 @@ removed in a future release.

    -

    6.5. 1.8

    +

    6.6. 1.8

    • @@ -6956,7 +7074,7 @@ removed in a future release.

    -

    6.6. 1.7

    +

    6.7. 1.7

    • @@ -6972,7 +7090,7 @@ removed in a future release.

    -

    6.7. 1.6

    +

    6.8. 1.6

    • @@ -6996,7 +7114,7 @@ Baratov)

    -

    6.8. 1.5

    +

    6.9. 1.5

    • @@ -7015,7 +7133,7 @@ version instead of the varied product versions.

    -

    6.9. 1.4.1

    +

    6.10. 1.4.1

    • @@ -7028,7 +7146,7 @@ version instead of the varied product versions.

    -

    6.10. 1.4

    +

    6.11. 1.4

    • @@ -7049,7 +7167,7 @@ use cases. And changed the BBv2 check support to use compile only checks.

    -

    6.11. 1.3

    +

    6.12. 1.3

    • @@ -7074,7 +7192,7 @@ use cases. And changed the BBv2 check support to use compile only checks.

    -

    6.12. 1.2

    +

    6.13. 1.2

    • @@ -7098,7 +7216,7 @@ checks.

    -

    6.13. 1.1

    +

    6.14. 1.1

    • diff --git a/doc/predef.adoc b/doc/predef.adoc index 85566b9..850d48d 100644 --- a/doc/predef.adoc +++ b/doc/predef.adoc @@ -564,6 +564,8 @@ include::../include/boost/predef/architecture/blackfin.h[tag=reference] include::../include/boost/predef/architecture/convex.h[tag=reference] +include::../include/boost/predef/architecture/e2k.h[tag=reference] + include::../include/boost/predef/architecture/ia64.h[tag=reference] include::../include/boost/predef/architecture/m68k.h[tag=reference] diff --git a/include/boost/predef/architecture.h b/include/boost/predef/architecture.h index 3048329..f43f946 100644 --- a/include/boost/predef/architecture.h +++ b/include/boost/predef/architecture.h @@ -14,6 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) #include #include #include +#include #include #include #include diff --git a/include/boost/predef/architecture/e2k.h b/include/boost/predef/architecture/e2k.h new file mode 100644 index 0000000..92edc9e --- /dev/null +++ b/include/boost/predef/architecture/e2k.h @@ -0,0 +1,54 @@ +/* +Copyright Konstantin Ivlev 2021 +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_ARCHITECTURE_E2K_H +#define BOOST_PREDEF_ARCHITECTURE_E2K_H + +#include +#include + +/* tag::reference[] += `BOOST_ARCH_E2K` + +https://en.wikipedia.org/wiki/Elbrus_2000[E2K] architecture. + +[options="header"] +|=== +| {predef_symbol} | {predef_version} + +| `+__e2k__+` | {predef_detection} + +| `+__e2k__+` | V.0.0 +|=== +*/ // end::reference[] + +#define BOOST_ARCH_E2K BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if defined(__e2k__) +# undef BOOST_ARCH_E2K +# if !defined(BOOST_ARCH_E2K) && defined(__iset__) +# define BOOST_ARCH_E2K BOOST_VERSION_NUMBER(__iset__,0,0) +# endif +# if !defined(BOOST_ARCH_E2K) +# define BOOST_ARCH_E2K BOOST_VERSION_NUMBER_AVAILABLE +# endif +#endif + +#if BOOST_ARCH_E2K +# define BOOST_ARCH_E2K_AVAILABLE +#endif + +#if BOOST_ARCH_E2K +# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE +#endif + +#define BOOST_ARCH_E2K_NAME "E2K" + +#endif + +#include +BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_E2K,BOOST_ARCH_E2K_NAME) diff --git a/include/boost/predef/architecture/ppc.h b/include/boost/predef/architecture/ppc.h index 55ba5a1..73d99f3 100644 --- a/include/boost/predef/architecture/ppc.h +++ b/include/boost/predef/architecture/ppc.h @@ -22,13 +22,19 @@ http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture. | `+__powerpc+` | {predef_detection} | `+__powerpc__+` | {predef_detection} +| `+__powerpc64__+` | {predef_detection} | `+__POWERPC__+` | {predef_detection} | `+__ppc__+` | {predef_detection} +| `+__ppc64__+` | {predef_detection} +| `+__PPC__+` | {predef_detection} +| `+__PPC64__+` | {predef_detection} | `+_M_PPC+` | {predef_detection} | `+_ARCH_PPC+` | {predef_detection} +| `+_ARCH_PPC64+` | {predef_detection} | `+__PPCGECKO__+` | {predef_detection} | `+__PPCBROADWAY__+` | {predef_detection} | `+_XENON+` | {predef_detection} +| `+__ppc+` | {predef_detection} | `+__ppc601__+` | 6.1.0 | `+_ARCH_601+` | 6.1.0 @@ -41,11 +47,13 @@ http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture. #define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE -#if defined(__powerpc) || defined(__powerpc__) || \ - defined(__POWERPC__) || defined(__ppc__) || \ - defined(_M_PPC) || defined(_ARCH_PPC) || \ +#if defined(__powerpc) || defined(__powerpc__) || defined(__powerpc64__) || \ + defined(__POWERPC__) || defined(__ppc__) || defined(__ppc64__) || \ + defined(__PPC__) || defined(__PPC64__) || \ + defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \ defined(__PPCGECKO__) || defined(__PPCBROADWAY__) || \ - defined(_XENON) + defined(_XENON) || \ + defined(__ppc) # undef BOOST_ARCH_PPC # if !defined (BOOST_ARCH_PPC) && (defined(__ppc601__) || defined(_ARCH_601)) # define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,1,0) @@ -65,14 +73,52 @@ http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture. # define BOOST_ARCH_PPC_AVAILABLE #endif -#if BOOST_ARCH_PPC +#define BOOST_ARCH_PPC_NAME "PowerPC" + + +/* tag::reference[] += `BOOST_ARCH_PPC_64` + +http://en.wikipedia.org/wiki/PowerPC[PowerPC] 64 bit architecture. + +[options="header"] +|=== +| {predef_symbol} | {predef_version} + +| `+__powerpc64__+` | {predef_detection} +| `+__ppc64__+` | {predef_detection} +| `+__PPC64__+` | {predef_detection} +| `+_ARCH_PPC64+` | {predef_detection} +|=== +*/ // end::reference[] + +#define BOOST_ARCH_PPC_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE + +#if defined(__powerpc64__) || defined(__ppc64__) || defined(__PPC64__) || \ + defined(_ARCH_PPC64) +# undef BOOST_ARCH_PPC_64 +# define BOOST_ARCH_PPC_64 BOOST_VERSION_NUMBER_AVAILABLE +#endif + +#if BOOST_ARCH_PPC_64 +# define BOOST_ARCH_PPC_64_AVAILABLE +#endif + +#define BOOST_ARCH_PPC_64_NAME "PowerPC64" + + +#if BOOST_ARCH_PPC_64 +# undef BOOST_ARCH_WORD_BITS_64 +# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE +#else # undef BOOST_ARCH_WORD_BITS_32 # define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE #endif -#define BOOST_ARCH_PPC_NAME "PowerPC" - #endif #include BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PPC,BOOST_ARCH_PPC_NAME) + +#include +BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PPC_64,BOOST_ARCH_PPC_64_NAME) diff --git a/include/boost/predef/architecture/sparc.h b/include/boost/predef/architecture/sparc.h index 52e9fcb..d7b94f0 100644 --- a/include/boost/predef/architecture/sparc.h +++ b/include/boost/predef/architecture/sparc.h @@ -24,7 +24,9 @@ http://en.wikipedia.org/wiki/SPARC[SPARC] architecture. | `+__sparc+` | {predef_detection} | `+__sparcv9+` | 9.0.0 +| `+__sparc_v9__+` | 9.0.0 | `+__sparcv8+` | 8.0.0 +| `+__sparc_v8__+` | 8.0.0 |=== */ // end::reference[] @@ -32,10 +34,10 @@ http://en.wikipedia.org/wiki/SPARC[SPARC] architecture. #if defined(__sparc__) || defined(__sparc) # undef BOOST_ARCH_SPARC -# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv9) +# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__) # define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0) # endif -# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv8) +# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__) # define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0) # endif # if !defined(BOOST_ARCH_SPARC) diff --git a/include/boost/predef/architecture/x86/64.h b/include/boost/predef/architecture/x86/64.h index f0554a0..6f59722 100644 --- a/include/boost/predef/architecture/x86/64.h +++ b/include/boost/predef/architecture/x86/64.h @@ -1,5 +1,5 @@ /* -Copyright Rene Rivera 2008-2015 +Copyright Rene Rivera 2008-2021 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) @@ -14,7 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt) /* tag::reference[] = `BOOST_ARCH_X86_64` -http://en.wikipedia.org/wiki/Ia64[Intel IA-64] architecture. +https://en.wikipedia.org/wiki/X86-64[X86-64] architecture. [options="header"] |=== diff --git a/include/boost/predef/library/std/stdcpp3.h b/include/boost/predef/library/std/stdcpp3.h index bc9717a..90aa3d1 100644 --- a/include/boost/predef/library/std/stdcpp3.h +++ b/include/boost/predef/library/std/stdcpp3.h @@ -16,7 +16,7 @@ http://www.boost.org/LICENSE_1_0.txt) /* tag::reference[] = `BOOST_LIB_STD_GNU` -http://gcc.gnu.org/libstdc++/[GNU libstdc++] Standard {CPP} library. +https://gcc.gnu.org/onlinedocs/libstdc%2b%2b/[GNU libstdc++] Standard {CPP} library. Version number available as year (from 1970), month, and day. [options="header"] diff --git a/include/boost/predef/other/endian.h b/include/boost/predef/other/endian.h index 8f116de..d8ec63f 100644 --- a/include/boost/predef/other/endian.h +++ b/include/boost/predef/other/endian.h @@ -124,7 +124,8 @@ information and acquired knowledge: defined(_MIPSEL) || \ defined(__MIPSEL) || \ defined(__MIPSEL__) || \ - defined(__riscv) + defined(__riscv) || \ + defined(__e2k__) # undef BOOST_ENDIAN_LITTLE_BYTE # define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE # endif diff --git a/include/boost/predef/other/wordsize.h b/include/boost/predef/other/wordsize.h index 165e786..ce3016f 100644 --- a/include/boost/predef/other/wordsize.h +++ b/include/boost/predef/other/wordsize.h @@ -1,5 +1,5 @@ /* -Copyright Rene Ferdinand Rivera Morell 2020 +Copyright Rene Ferdinand Rivera Morell 2020-2021 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) @@ -31,34 +31,38 @@ the `wordsize.h` header will also include all the architecture headers. */ // end::reference[] -#ifndef BOOST_ARCH_WORD_BITS_16 -# define BOOST_ARCH_WORD_BITS_16 BOOST_VERSION_NUMBER_NOT_AVAILABLE -#else -# define BOOST_ARCH_WORD_BITS 16 +#if !defined(BOOST_ARCH_WORD_BITS_64) +# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE +#elif !defined(BOOST_ARCH_WORD_BITS) +# define BOOST_ARCH_WORD_BITS 64 #endif -#ifndef BOOST_ARCH_WORD_BITS_32 -# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE -#else -# define BOOST_ARCH_WORD_BITS 32 +#if !defined(BOOST_ARCH_WORD_BITS_32) +# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE +#elif !defined(BOOST_ARCH_WORD_BITS) +# define BOOST_ARCH_WORD_BITS 32 #endif -#ifndef BOOST_ARCH_WORD_BITS_64 -# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE -#else -# define BOOST_ARCH_WORD_BITS 64 +#if !defined(BOOST_ARCH_WORD_BITS_16) +# define BOOST_ARCH_WORD_BITS_16 BOOST_VERSION_NUMBER_NOT_AVAILABLE +#elif !defined(BOOST_ARCH_WORD_BITS) +# define BOOST_ARCH_WORD_BITS 16 #endif -#ifndef BOOST_ARCH_WORD_BITS -# define BOOST_ARCH_WORD_BITS 0 +#if !defined(BOOST_ARCH_WORD_BITS) +# define BOOST_ARCH_WORD_BITS 0 #endif +#define BOOST_ARCH_WORD_BITS_NAME "Word Bits" #define BOOST_ARCH_WORD_BITS_16_NAME "16-bit Word Size" #define BOOST_ARCH_WORD_BITS_32_NAME "32-bit Word Size" #define BOOST_ARCH_WORD_BITS_64_NAME "64-bit Word Size" #endif +#include +BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_WORD_BITS,BOOST_ARCH_WORD_BITS_NAME) + #include BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_WORD_BITS_16,BOOST_ARCH_WORD_BITS_16_NAME) diff --git a/include/boost/predef/version.h b/include/boost/predef/version.h index 9c271b0..41fcdc2 100644 --- a/include/boost/predef/version.h +++ b/include/boost/predef/version.h @@ -10,6 +10,6 @@ http://www.boost.org/LICENSE_1_0.txt) #include -#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,12,0) +#define BOOST_PREDEF_VERSION BOOST_VERSION_NUMBER(1,13,0) #endif