aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/android-tools/android-tools/stdatomic.patch
diff options
context:
space:
mode:
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.patch54
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