summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/builtins.c
diff options
context:
space:
mode:
authorAbramo Bagnara <abramo.bagnara@bugseng.com>2012-09-22 09:05:22 +0000
committerAbramo Bagnara <abramo.bagnara@bugseng.com>2012-09-22 09:05:22 +0000
commit6cba23a6494e51044bc0f01b35bca7d65808a3fe (patch)
treea1c9a8c326265cd895f730f80bdd551c03d94950 /clang/test/Sema/builtins.c
parent2718b200302e32af777952693fbd31a4a21428a2 (diff)
downloadbcm5719-llvm-6cba23a6494e51044bc0f01b35bca7d65808a3fe.tar.gz
bcm5719-llvm-6cba23a6494e51044bc0f01b35bca7d65808a3fe.zip
Avoid multiple atomic builtin declaration.
llvm-svn: 164454
Diffstat (limited to 'clang/test/Sema/builtins.c')
-rw-r--r--clang/test/Sema/builtins.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/Sema/builtins.c b/clang/test/Sema/builtins.c
index b8b03677fda..357b7b6aa07 100644
--- a/clang/test/Sema/builtins.c
+++ b/clang/test/Sema/builtins.c
@@ -51,6 +51,20 @@ void test9(short v) {
}
}
+// overloaded atomics should be declared only once.
+void test9_1(volatile int* ptr, int val) {
+ __sync_fetch_and_add_4(ptr, val);
+}
+void test9_2(volatile int* ptr, int val) {
+ __sync_fetch_and_add(ptr, val);
+}
+void test9_3(volatile int* ptr, int val) {
+ __sync_fetch_and_add_4(ptr, val);
+ __sync_fetch_and_add(ptr, val);
+ __sync_fetch_and_add(ptr, val);
+ __sync_fetch_and_add_4(ptr, val);
+ __sync_fetch_and_add_4(ptr, val);
+}
// rdar://7236819
void test10(void) __attribute__((noreturn));
OpenPOWER on IntegriCloud