<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a7a9b34ac0dd12c7d1d51b1f458a9a41d03fa2db">https://github.com/macports/macports-ports/commit/a7a9b34ac0dd12c7d1d51b1f458a9a41d03fa2db</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new a7a9b34ac0d python39-devel: check for __builtin_bswap16 before using
</span>a7a9b34ac0d is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a7a9b34ac0dd12c7d1d51b1f458a9a41d03fa2db
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Mon Sep 21 00:31:09 2020 +1000

<span style='display:block; white-space:pre;color:#404040;'>    python39-devel: check for __builtin_bswap16 before using
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes build failure with older clang versions.
</span>---
 lang/python39-devel/Portfile                   |  3 +-
 lang/python39-devel/files/builtin_bswap16.diff | 51 ++++++++++++++++++++++++++
 2 files changed, 53 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/Portfile b/lang/python39-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 39e2394c1e4..0a69d77cd55 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python39-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python39-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,7 +33,8 @@ patchfiles          patch-setup.py.diff \
</span>                     patch-configure.diff \
                     patch-Lib-ctypes-macholib-dyld.py.diff \
                     patch-libedit.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-configure-xcode4bug.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-configure-xcode4bug.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    builtin_bswap16.diff
</span> 
 depends_build       port:pkgconfig
 depends_lib         port:bzip2 \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python39-devel/files/builtin_bswap16.diff b/lang/python39-devel/files/builtin_bswap16.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..77edaeae1bd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python39-devel/files/builtin_bswap16.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,51 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/python/cpython/pull/21943
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Include/internal/pycore_byteswap.h.orig        2020-09-17 07:23:13.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Include/internal/pycore_byteswap.h     2020-09-21 00:26:56.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,11 +15,14 @@ extern "C" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  error "this header requires Py_BUILD_CORE define"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if ((defined(__GNUC__) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 8))) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     || (defined(__clang__) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-         && (__clang_major__ >= 4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-             || (__clang_major__ == 3 && __clang_minor__ >= 2))))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Don't break compilers that don't know about __has_builtin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef __has_builtin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define __has_builtin(x) 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// No check for clang here, __has_builtin is used instead
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__GNUC__) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      && ((__GNUC__ >= 5) || (__GNUC__ == 4) && (__GNUC_MINOR__ >= 8))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    /* __builtin_bswap16() is available since GCC 4.8 and clang 3.2,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       __builtin_bswap32() is available since GCC 4.3,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       __builtin_bswap64() is available since GCC 4.3. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,7 +37,7 @@ extern "C" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static inline uint16_t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _Py_bswap16(uint16_t word)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef _PY_HAVE_BUILTIN_BSWAP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(_PY_HAVE_BUILTIN_BSWAP) || __has_builtin(__builtin_bswap16)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return __builtin_bswap16(word);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(_MSC_VER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     Py_BUILD_ASSERT(sizeof(word) == sizeof(unsigned short));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -49,7 +52,7 @@ _Py_bswap16(uint16_t word)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static inline uint32_t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _Py_bswap32(uint32_t word)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef _PY_HAVE_BUILTIN_BSWAP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(_PY_HAVE_BUILTIN_BSWAP) || __has_builtin(__builtin_bswap32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return __builtin_bswap32(word);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(_MSC_VER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     Py_BUILD_ASSERT(sizeof(word) == sizeof(unsigned long));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -66,7 +69,7 @@ _Py_bswap32(uint32_t word)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static inline uint64_t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _Py_bswap64(uint64_t word)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef _PY_HAVE_BUILTIN_BSWAP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(_PY_HAVE_BUILTIN_BSWAP) || __has_builtin(__builtin_bswap64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return __builtin_bswap64(word);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(_MSC_VER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return _byteswap_uint64(word);
</span></pre><pre style='margin:0'>

</pre>