<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/c4b557be119df78c6f05313340d009e253e89e39">https://github.com/macports/macports-ports/commit/c4b557be119df78c6f05313340d009e253e89e39</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 c4b557be119 dav1d: support clang's c11 atomic bultins
</span>c4b557be119 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit c4b557be119df78c6f05313340d009e253e89e39
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Thu Feb 4 02:01:06 2021 +1100

<span style='display:block; white-space:pre;color:#404040;'>    dav1d: support clang's c11 atomic bultins
</span>---
 multimedia/dav1d/Portfile           |  2 ++
 multimedia/dav1d/files/atomic.patch | 57 +++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/dav1d/Portfile b/multimedia/dav1d/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7e16df57abb..c5bac5389d0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/dav1d/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/dav1d/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,6 +31,8 @@ if { ${build_arch} in "i386 x86_64" || [variant_isset universal] } {
</span>     depends_build-append  port:nasm
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          atomic.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args-append \
                     -Denable_tests=false
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/dav1d/files/atomic.patch b/multimedia/dav1d/files/atomic.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a0514836318
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/dav1d/files/atomic.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,57 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- include/compat/gcc/stdatomic.h.orig    2021-01-02 07:36:25.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ include/compat/gcc/stdatomic.h 2021-02-04 01:57:16.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,6 +29,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !defined(__cplusplus)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __clang__
</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
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !defined(__has_extension)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define __has_extension(x) __has_feature(x)
</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 __has_extension(c_atomic) || __has_extension(cxx_atomic)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define __CLANG_ATOMICS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</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;'>+ typedef int atomic_int;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef unsigned int atomic_uint;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,11 +50,19 @@ typedef unsigned int atomic_uint;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define memory_order_acquire __ATOMIC_ACQUIRE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_init(p_a, v)           do { *(p_a) = (v); } while(0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __CLANG_ATOMICS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define atomic_store(p_a, v)          __c11_atomic_store(p_a, v, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define atomic_load(p_a)              __c11_atomic_load(p_a, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define atomic_load_explicit(p_a, mo) __c11_atomic_load(p_a, mo)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define atomic_fetch_add(p_a, inc)    __c11_atomic_fetch_add(p_a, inc, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define atomic_fetch_sub(p_a, dec)    __c11_atomic_fetch_sub(p_a, dec, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_store(p_a, v)          __atomic_store_n(p_a, v, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_load(p_a)              __atomic_load_n(p_a, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_load_explicit(p_a, mo) __atomic_load_n(p_a, mo)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_fetch_add(p_a, inc)    __atomic_fetch_add(p_a, inc, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_fetch_sub(p_a, dec)    __atomic_fetch_sub(p_a, dec, __ATOMIC_SEQ_CST)
</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;'>+ #endif /* !defined(__cplusplus) */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- meson.build.orig       2021-01-02 07:36:25.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ meson.build    2021-02-04 01:59:22.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -183,6 +183,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         stdatomic_dependency = declare_dependency(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             include_directories : include_directories('include/compat/gcc'),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    elif cc.compiles('''int main() { int v = 0; return __c11_atomic_fetch_add(&v, 1, __ATOMIC_SEQ_CST); }''',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                     name : 'Clang-style atomics', args : test_args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        stdatomic_dependency = declare_dependency(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            include_directories : include_directories('include/compat/gcc'),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         error('Atomics not supported')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     endif
</span></pre><pre style='margin:0'>

</pre>