<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/4877b39f461dbc60df0d48f3111441bb14e8b006">https://github.com/macports/macports-ports/commit/4877b39f461dbc60df0d48f3111441bb14e8b006</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 4877b39f461 bind9: build fix for older clangs
</span>4877b39f461 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 4877b39f461dbc60df0d48f3111441bb14e8b006
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Fri May 20 02:39:05 2022 +1000

<span style='display:block; white-space:pre;color:#404040;'>    bind9: build fix for older clangs
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Clang only started supporting the GCC-style fallthrough attribute in
</span><span style='display:block; white-space:pre;color:#404040;'>    version 10. Unfortunately, __has_attribute(fallthrough) seems to
</span><span style='display:block; white-space:pre;color:#404040;'>    return 1 in versions that only support the C++11 attribute. At best,
</span><span style='display:block; white-space:pre;color:#404040;'>    using the attribute when not supported was ignored; at worst, it
</span><span style='display:block; white-space:pre;color:#404040;'>    caused "expected expression" errors. So check for and use the C2x
</span><span style='display:block; white-space:pre;color:#404040;'>    attribute instead, which has been supported for slightly longer than
</span><span style='display:block; white-space:pre;color:#404040;'>    the GCC-style one. Older clangs fall back to using no attribute.
</span>---
 net/bind9/Portfile                |  3 ++-
 net/bind9/files/fallthrough.patch | 24 ++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/bind9/Portfile b/net/bind9/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0a6d823e953..e7bfbd823a4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/bind9/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/bind9/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,7 +55,8 @@ compiler.blacklist \
</span>                 {clang < 500}
 
 patchfiles      atomics.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                configure.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                configure.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                fallthrough.patch
</span> 
 # tests require `sudo bin/tests/system/ifconfig.sh up`
 test.run        yes
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/bind9/files/fallthrough.patch b/net/bind9/files/fallthrough.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..cd552eeebee
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/bind9/files/fallthrough.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,24 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/isc/include/isc/util.h.orig        2022-05-09 19:32:19.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/isc/include/isc/util.h     2022-05-20 02:36:59.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -35,6 +35,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define __has_attribute(x) 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* if !defined(__has_attribute) */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !defined(__has_c_attribute)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define __has_c_attribute(x) 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* if !defined(__has_c_attribute) */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !defined(__has_feature)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define __has_feature(x) 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* if !defined(__has_feature) */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -61,7 +65,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ISC_NONSTRING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* __GNUC__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if __GNUC__ >= 7 || __has_attribute(fallthrough)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __has_c_attribute(fallthrough)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define FALLTHROUGH [[fallthrough]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif !defined(__clang__) && (__GNUC__ >= 7 || __has_attribute(fallthrough))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define FALLTHROUGH __attribute__((fallthrough))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* clang-format off */
</span></pre><pre style='margin:0'>

</pre>