diff options
Diffstat (limited to 'meta-oe/recipes-devtools/android-tools/android-tools/stdatomic.patch')
-rw-r--r-- | meta-oe/recipes-devtools/android-tools/android-tools/stdatomic.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/stdatomic.patch b/meta-oe/recipes-devtools/android-tools/android-tools/stdatomic.patch new file mode 100644 index 0000000000..07d870ff7f --- /dev/null +++ b/meta-oe/recipes-devtools/android-tools/android-tools/stdatomic.patch @@ -0,0 +1,54 @@ +Description: Fix `stdatomic.h` in g++ + `stdatomic.h` cannot be consumed by g++ because they refuse to implement + keywords like `_Atomic`, while Clang does. +Author: Kai-Chung Yan +Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60932 +--- a/adb/adb_trace.h ++++ b/adb/adb_trace.h +@@ -62,7 +62,10 @@ + #include <atomic> + + #define ATRACE_TAG ATRACE_TAG_ADB ++extern "C" { ++using namespace std; + #include <cutils/trace.h> ++} + #include <utils/Trace.h> + + #endif /* __ADB_TRACE_H */ +--- a/libcutils/include/cutils/trace.h ++++ b/libcutils/include/cutils/trace.h +@@ -18,7 +18,9 @@ + #define _LIBS_CUTILS_TRACE_H + + #include <inttypes.h> ++#ifndef __cplusplus + #include <stdatomic.h> ++#endif + #include <stdbool.h> + #include <stdint.h> + #include <stdio.h> +--- a/libcutils/include/cutils/atomic.h ++++ b/libcutils/include/cutils/atomic.h +@@ -19,7 +19,9 @@ + + #include <stdint.h> + #include <sys/types.h> ++#ifndef __cplusplus + #include <stdatomic.h> ++#endif + + #ifndef ANDROID_ATOMIC_INLINE + #define ANDROID_ATOMIC_INLINE static inline +--- a/libutils/include/utils/Atomic.h ++++ b/libutils/include/utils/Atomic.h +@@ -17,6 +17,9 @@ + #ifndef ANDROID_UTILS_ATOMIC_H + #define ANDROID_UTILS_ATOMIC_H + ++extern "C" { ++using namespace std; + #include <cutils/atomic.h> ++} + + #endif // ANDROID_UTILS_ATOMIC_H |