From: Android Tools Maintainers Date: Fri, 27 Jan 2023 05:43:52 +0000 (+0000) Subject: Fix incompatibility between and X-Git-Tag: archive/raspbian/29.0.6-25+rpi1^2~33 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ae0b80fcdc554ce3f67af69bb7f71c75efd9597c;p=android-platform-tools.git Fix incompatibility between and Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60932 Bug: https://reviews.llvm.org/D45470 This 2 headers combined will cause errors for both GCC and Clang. This patch makes sure only one of them is present at any time. Gbp-Pq: Topic system/core Gbp-Pq: Name stdatomic.patch --- diff --git a/system/core/libcutils/include/cutils/atomic.h b/system/core/libcutils/include/cutils/atomic.h index 0c88bfed..43cc5b3a 100644 --- a/system/core/libcutils/include/cutils/atomic.h +++ b/system/core/libcutils/include/cutils/atomic.h @@ -19,7 +19,23 @@ #include #include +#ifdef __cplusplus +#include +using std::atomic_compare_exchange_strong_explicit; +using std::atomic_fetch_add_explicit; +using std::atomic_fetch_or_explicit; +using std::atomic_fetch_sub_explicit; +using std::atomic_int_least32_t; +using std::atomic_load_explicit; +using std::atomic_store_explicit; +using std::atomic_thread_fence; +using std::memory_order::memory_order_acquire; +using std::memory_order::memory_order_relaxed; +using std::memory_order::memory_order_release; +using std::memory_order::memory_order_seq_cst; +#else #include +#endif #ifndef ANDROID_ATOMIC_INLINE #define ANDROID_ATOMIC_INLINE static inline diff --git a/system/core/libcutils/include/cutils/trace.h b/system/core/libcutils/include/cutils/trace.h index e12c32cf..4e8b6497 100644 --- a/system/core/libcutils/include/cutils/trace.h +++ b/system/core/libcutils/include/cutils/trace.h @@ -18,7 +18,14 @@ #define _LIBS_CUTILS_TRACE_H #include +#ifdef __cplusplus +#include +using std::atomic_bool; +using std::atomic_load_explicit; +using std::memory_order_acquire; +#else #include +#endif #include #include #include diff --git a/system/core/liblog/logger.h b/system/core/liblog/logger.h index ddff19dd..554e45e5 100644 --- a/system/core/liblog/logger.h +++ b/system/core/liblog/logger.h @@ -16,7 +16,13 @@ #pragma once +#ifdef __cplusplus +#include +using std::atomic_int; +using std::atomic_uintptr_t; +#else #include +#endif #include #include