From 85dbbc5166a1877f9292ba223db67dea3809624f Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 30 Sep 2022 13:02:05 +0200 Subject: [PATCH] forkfd: fix Clang 15 ATOMIC_VAR_INIT deprecation warning Replace the macro use with the expansion of the macro as it appears in both libc++ as well as libstdc++. Fixes Clang 15 C++20 warning-turned-error: forkfd.c:157:39: error: macro 'ATOMIC_VAR_INIT' has been marked as deprecated [-Werror,-Wdeprecated-pragma] static ffd_atomic_int forkfd_status = FFD_ATOMIC_INIT(0); ^ forkfd_c11.h:51:37: note: expanded from macro 'FFD_ATOMIC_INIT' #define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val) ^ /d/llvm/15/bin/../include/c++/v1/atomic:2671:43: note: macro marked 'deprecated' here # pragma clang deprecated(ATOMIC_VAR_INIT) ^ Matching OpenDCDiag pull request: https://github.com/opendcdiag/opendcdiag/pull/159 Change-Id: I0204f7fcd6039624ed75d414daf9b6a771bfd9d0 Reviewed-by: Thiago Macieira (cherry picked from commit 35649760e5ec22b4dcea0729ad679f51f438573d) Reviewed-by: Qt Cherry-pick Bot --- src/3rdparty/forkfd/forkfd_c11.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/3rdparty/forkfd/forkfd_c11.h b/src/3rdparty/forkfd/forkfd_c11.h index 2b1d3f181e4..934ce55a11b 100644 --- a/src/3rdparty/forkfd/forkfd_c11.h +++ b/src/3rdparty/forkfd/forkfd_c11.h @@ -48,7 +48,11 @@ typedef std::atomic ffd_atomic_int; typedef atomic_int ffd_atomic_int; #endif +#ifdef __cpp_lib_atomic_value_initialization +#define FFD_ATOMIC_INIT(val) { val } +#else #define FFD_ATOMIC_INIT(val) ATOMIC_VAR_INIT(val) +#endif #define ffd_atomic_load(ptr, order) \ atomic_load_explicit(ptr, order)