From 13cd23466e0c7777df67c4d89522ec1ad1e9ee58 Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Fri, 14 Aug 2026 14:14:44 +0200 Subject: [PATCH] Don't use _Atomic in C99 mode ``` /github/workspace/src/ext/digest/blake3/blake3_dispatch.c:108:5: error: '_Atomic' is a C11 extension [-Werror,-Wc11-extensions] 108 | ATOMIC_INT g_cpu_features = UNDEFINED; | ^ /github/workspace/src/ext/digest/blake3/blake3_dispatch.c:34:20: note: expanded from macro 'ATOMIC_INT' 34 | #define ATOMIC_INT _Atomic int | ^ 1 error generated. ``` --- ext/digest/blake3/extconf.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ext/digest/blake3/extconf.rb b/ext/digest/blake3/extconf.rb index df844d0..93e88fa 100644 --- a/ext/digest/blake3/extconf.rb +++ b/ext/digest/blake3/extconf.rb @@ -78,6 +78,15 @@ def blake3_have_isa?(name, flag, snippet) have_header("sys/cdefs.h") +checking_for("C11 atomics") do + unless try_compile(<<~C) + static _Atomic int atomic_int = 0; + int main(void){ return 0 } + C + $defs << "-DBLAKE3_ATOMICS=0" + end +end + $preload = %w[digest] create_makefile("digest/blake3")