From c9ee4eb32928c88a1a9a481ad9437d8bf75e4d52 Mon Sep 17 00:00:00 2001
From: Rene Rivera
Date: Sat, 13 Feb 2021 10:21:16 -0600
Subject: [PATCH] Update from upstream Hash Predef.
---
doc/index.html | 109 ++++++++++++++++++------
include/boost/predef/architecture/ppc.h | 60 +++++++++++--
include/boost/predef/other/wordsize.h | 34 ++++----
3 files changed, 157 insertions(+), 46 deletions(-)
diff --git a/doc/index.html b/doc/index.html
index b06fc46..8ff0a36 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -556,18 +556,19 @@ pre.pygments .tok-il { color: #666666 } /* Literal.Number.Integer.Long */
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.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
@@ -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
+
+
+
+
+
+
+
+
+Symbol |
+Version |
+
+
+
+
+__powerpc64__
|
+detection |
+
+
+__ppc64__
|
+detection |
+
+
+__PPC64__
|
+detection |
+
+
+_ARCH_PPC64
|
+detection |
+
+
+
+
+
+
4.1.12. BOOST_ARCH_PTX
@@ -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
@@ -2284,7 +2345,7 @@ and "Y", "M", "D" for dates.
-
4.1.14. BOOST_ARCH_RS6000
+
4.1.15. BOOST_ARCH_RS6000
@@ -2324,7 +2385,7 @@ and "Y", "M", "D" for dates.
-
4.1.15. BOOST_ARCH_SPARC
+
4.1.16. BOOST_ARCH_SPARC
@@ -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
@@ -2445,7 +2506,7 @@ If available versions [1-5] are specifically detected.
-
4.1.18. BOOST_ARCH_SYS390
+
4.1.19. BOOST_ARCH_SYS390
@@ -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
@@ -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
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)