From 40c62058584f6474ec94a52f9ea08a47fceca7c4 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 9 Feb 2021 22:31:02 -0600 Subject: [PATCH 1/7] Fix incorrect reference to IA-64 instead of X86-64. --- doc/index.html | 2 +- include/boost/predef/architecture/x86/64.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/index.html b/doc/index.html index a799041..95873d1 100644 --- a/doc/index.html +++ b/doc/index.html @@ -2558,7 +2558,7 @@ If available versions [3-6] are specifically detected.

4.1.21. BOOST_ARCH_X86_64

-

Intel IA-64 architecture.

+

X86-64 architecture.

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"] |=== From f51e4ff45e6caafb08fdedf9bd0b22278e43bc0d Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 9 Feb 2021 22:49:00 -0600 Subject: [PATCH 2/7] Fix bad link to libstdc++. --- doc/index.html | 2 +- include/boost/predef/library/std/stdcpp3.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/index.html b/doc/index.html index 95873d1..9c4336e 100644 --- a/doc/index.html +++ b/doc/index.html @@ -4175,7 +4175,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.

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"] From d3460e05aaf2b0b6b989e595d8bd81f70b767865 Mon Sep 17 00:00:00 2001 From: SSE4 Date: Tue, 9 Feb 2021 20:52:29 -0800 Subject: [PATCH 3/7] Add support for Elbrus 2000 (e2k) architecture (#116) --- include/boost/predef/architecture.h | 1 + include/boost/predef/architecture/e2k.h | 54 +++++++++++++++++++++++ include/boost/predef/architecture/sparc.h | 6 ++- include/boost/predef/other/endian.h | 3 +- 4 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 include/boost/predef/architecture/e2k.h 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/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/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 From d37f35e578fd64f6f3531d0cf8cf57d0849231c2 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 9 Feb 2021 23:00:54 -0600 Subject: [PATCH 4/7] Add e2k arch to docs. --- doc/index.html | 105 ++++++++++++++++++++++++++++++++---------------- doc/predef.adoc | 2 + 2 files changed, 73 insertions(+), 34 deletions(-) diff --git a/doc/index.html b/doc/index.html index 9c4336e..ce787c4 100644 --- a/doc/index.html +++ b/doc/index.html @@ -550,23 +550,24 @@ 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_PTX
  • +
  • 4.1.12. BOOST_ARCH_PYRAMID
  • +
  • 4.1.13. BOOST_ARCH_RISCV
  • +
  • 4.1.14. BOOST_ARCH_RS6000
  • +
  • 4.1.15. BOOST_ARCH_SPARC
  • +
  • 4.1.16. BOOST_ARCH_SH
  • +
  • 4.1.17. BOOST_ARCH_SYS370
  • +
  • 4.1.18. BOOST_ARCH_SYS390
  • +
  • 4.1.19. BOOST_ARCH_X86
  • +
  • 4.1.20. BOOST_ARCH_Z
  • +
  • 4.1.21. BOOST_ARCH_X86_32
  • +
  • 4.1.22. BOOST_ARCH_X86_64
  • 4.2. BOOST_COMP compiler macros @@ -1818,7 +1819,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 +1891,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.6. BOOST_ARCH_M68K

    +

    4.1.7. BOOST_ARCH_M68K

    Motorola 68k architecture.

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

    -

    4.1.7. BOOST_ARCH_MIPS

    +

    4.1.8. BOOST_ARCH_MIPS

    MIPS architecture.

    @@ -2034,7 +2063,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 +2127,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.9. BOOST_ARCH_PPC

    +

    4.1.10. BOOST_ARCH_PPC

    PowerPC architecture.

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

    -

    4.1.10. BOOST_ARCH_PTX

    +

    4.1.11. BOOST_ARCH_PTX

    PTX architecture.

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

    -

    4.1.11. BOOST_ARCH_PYRAMID

    +

    4.1.12. BOOST_ARCH_PYRAMID

    Pyramid 9810 architecture.

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

    -

    4.1.12. BOOST_ARCH_RISCV

    +

    4.1.13. BOOST_ARCH_RISCV

    RISC-V architecture.

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

    -

    4.1.13. BOOST_ARCH_RS6000

    +

    4.1.14. BOOST_ARCH_RS6000

    RS/6000 architecture.

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

    -

    4.1.14. BOOST_ARCH_SPARC

    +

    4.1.15. BOOST_ARCH_SPARC

    SPARC architecture.

    @@ -2323,14 +2352,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.16. BOOST_ARCH_SH

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

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

    -

    4.1.16. BOOST_ARCH_SYS370

    +

    4.1.17. BOOST_ARCH_SYS370

    System/370 architecture.

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

    -

    4.1.17. BOOST_ARCH_SYS390

    +

    4.1.18. BOOST_ARCH_SYS390

    System/390 architecture.

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

    -

    4.1.18. BOOST_ARCH_X86

    +

    4.1.19. BOOST_ARCH_X86

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

    -

    4.1.19. BOOST_ARCH_Z

    +

    4.1.20. BOOST_ARCH_Z

    z/Architecture architecture.

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

    4.1.20. BOOST_ARCH_X86_32

    +

    4.1.21. BOOST_ARCH_X86_32

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

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

    -

    4.1.21. BOOST_ARCH_X86_64

    +

    4.1.22. BOOST_ARCH_X86_64

    X86-64 architecture.

    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] From cfbda6e0ccc4a7ca7e760f72d445e222ab7da469 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Tue, 9 Feb 2021 23:05:35 -0600 Subject: [PATCH 5/7] Bump to 1.13 --- doc/history.adoc | 2 ++ doc/index.html | 57 ++++++++++++++++++---------------- include/boost/predef/version.h | 2 +- 3 files changed, 34 insertions(+), 27 deletions(-) diff --git a/doc/history.adoc b/doc/history.adoc index 7b6b76f..d3fb5c4 100644 --- a/doc/history.adoc +++ b/doc/history.adoc @@ -7,6 +7,8 @@ http://www.boost.org/LICENSE_1_0.txt) = History +== 1.13 + == 1.12 * Switch to using the endian.h header on OpenBSD. (Brad Smith) diff --git a/doc/index.html b/doc/index.html index ce787c4..b06fc46 100644 --- a/doc/index.html +++ b/doc/index.html @@ -716,19 +716,20 @@ pre.pygments .tok-il { color: #666666 } /* Literal.Number.Integer.Long */
  • 6. History
  • 7. To Do
  • @@ -6876,7 +6877,11 @@ expressions. It defaults to "c++", but can be any of: "c", "cpp",

    6. History

    -

    6.1. 1.12

    +

    6.1. 1.13

    + +
    +
    +

    6.2. 1.12

    • @@ -6905,7 +6910,7 @@ Initial implementation inspired by submission from Mikhail Komarov.

    -

    6.2. 1.11

    +

    6.3. 1.11

    • @@ -6933,7 +6938,7 @@ Initial implementation inspired by submission from Mikhail Komarov.

    -

    6.3. 1.10

    +

    6.4. 1.10

    • @@ -6958,7 +6963,7 @@ removed in a future release.

    -

    6.4. 1.9

    +

    6.5. 1.9

    • @@ -6971,7 +6976,7 @@ removed in a future release.

    -

    6.5. 1.8

    +

    6.6. 1.8

    • @@ -6993,7 +6998,7 @@ removed in a future release.

    -

    6.6. 1.7

    +

    6.7. 1.7

    • @@ -7009,7 +7014,7 @@ removed in a future release.

    -

    6.7. 1.6

    +

    6.8. 1.6

    • @@ -7033,7 +7038,7 @@ Baratov)

    -

    6.8. 1.5

    +

    6.9. 1.5

    • @@ -7052,7 +7057,7 @@ version instead of the varied product versions.

    -

    6.9. 1.4.1

    +

    6.10. 1.4.1

    • @@ -7065,7 +7070,7 @@ version instead of the varied product versions.

    -

    6.10. 1.4

    +

    6.11. 1.4

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

    -

    6.11. 1.3

    +

    6.12. 1.3

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

    -

    6.12. 1.2

    +

    6.13. 1.2

    • @@ -7135,7 +7140,7 @@ checks.

    -

    6.13. 1.1

    +

    6.14. 1.1

  • 4.2. BOOST_COMP compiler macros @@ -2153,6 +2154,10 @@ and "Y", "M", "D" for dates.

    detection

    +

    __powerpc64__

    +

    detection

    + +

    __POWERPC__

    detection

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

    detection

    +

    __ppc64__

    +

    detection

    + + +

    __PPC__

    +

    detection

    + + +

    __PPC64__

    +

    detection

    + +

    _M_PPC

    detection

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

    detection

    +

    _ARCH_PPC64

    +

    detection

    + +

    __PPCGECKO__

    detection

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

    detection

    +

    __ppc

    +

    detection

    + +

    __ppc601__

    6.1.0

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

  • -

    4.1.11. 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.

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

    -

    4.1.12. BOOST_ARCH_PYRAMID

    +

    4.1.13. BOOST_ARCH_PYRAMID

    Pyramid 9810 architecture.

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

    -

    4.1.13. BOOST_ARCH_RISCV

    +

    4.1.14. BOOST_ARCH_RISCV

    RISC-V architecture.

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

    -

    4.1.14. BOOST_ARCH_RS6000

    +

    4.1.15. BOOST_ARCH_RS6000

    RS/6000 architecture.

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

    -

    4.1.15. BOOST_ARCH_SPARC

    +

    4.1.16. BOOST_ARCH_SPARC

    SPARC architecture.

    @@ -2368,7 +2429,7 @@ and "Y", "M", "D" for dates.

    -

    4.1.16. BOOST_ARCH_SH

    +

    4.1.17. BOOST_ARCH_SH

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

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

    -

    4.1.17. BOOST_ARCH_SYS370

    +

    4.1.18. BOOST_ARCH_SYS370

    System/370 architecture.

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

    -

    4.1.18. BOOST_ARCH_SYS390

    +

    4.1.19. BOOST_ARCH_SYS390

    System/390 architecture.

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

    -

    4.1.19. 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 @@ -2481,7 +2542,7 @@ a category to indicate that either BOOST_ARCH_X86_32 or

    -

    4.1.20. BOOST_ARCH_Z

    +

    4.1.21. BOOST_ARCH_Z

    z/Architecture architecture.

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

    4.1.21. BOOST_ARCH_X86_32

    +

    4.1.22. BOOST_ARCH_X86_32

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

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

    -

    4.1.22. BOOST_ARCH_X86_64

    +

    4.1.23. BOOST_ARCH_X86_64

    X86-64 architecture.

    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/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) From 8ee83ef1aaaaa4bff24590aeb6ce68c006c8253a Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 13 Feb 2021 12:16:24 -0600 Subject: [PATCH 7/7] Add notes for v1.13. --- doc/history.adoc | 7 ++++++- doc/index.html | 17 ++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/doc/history.adoc b/doc/history.adoc index d3fb5c4..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) @@ -9,6 +9,11 @@ http://www.boost.org/LICENSE_1_0.txt) == 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 8ff0a36..c7bde8c 100644 --- a/doc/index.html +++ b/doc/index.html @@ -6939,7 +6939,22 @@ expressions. It defaults to "c++", but can be any of: "c", "cpp",

    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