summaryrefslogtreecommitdiff
path: root/debian/patches/atomic_library_1.diff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/atomic_library_1.diff')
-rw-r--r--debian/patches/atomic_library_1.diff25
1 files changed, 25 insertions, 0 deletions
diff --git a/debian/patches/atomic_library_1.diff b/debian/patches/atomic_library_1.diff
new file mode 100644
index 0000000..fb253e7
--- /dev/null
+++ b/debian/patches/atomic_library_1.diff
@@ -0,0 +1,25 @@
+---
+ clang/lib/Basic/Targets.cpp | 14 ++++++++++++++
+ clang/test/CodeGen/linux-arm-atomic.c | 10 ++++++++++
+ 2 files changed, 24 insertions(+)
+
+Index: llvm-toolchain-snapshot_6.0~svn309319/clang/test/CodeGen/linux-arm-atomic.c
+===================================================================
+--- llvm-toolchain-snapshot_6.0~svn309319.orig/clang/test/CodeGen/linux-arm-atomic.c
++++ llvm-toolchain-snapshot_6.0~svn309319/clang/test/CodeGen/linux-arm-atomic.c
+@@ -1,5 +1,15 @@
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv7-unknown-linux | FileCheck %s
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s
++
++typedef int _Atomic_word;
++_Atomic_word exchange_and_add(volatile _Atomic_word *__mem, int __val) {
++ return __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL);
++}
++
++// CHECK: define {{.*}} @exchange_and_add
++// CHECK: atomicrmw {{.*}} add
++// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv7-unknown-linux | FileCheck %s
++// RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-linux | FileCheck %s
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=thumbv7-unknown-linux | FileCheck %s
+ // RUN: %clang_cc1 %s -emit-llvm -o - -triple=armv6-unknown-freebsd | FileCheck %s
+