aboutsummaryrefslogtreecommitdiff
path: root/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
commit2ad11cd666f8e80463b5fd155072633f8e1283a4 (patch)
tree4d2b6854e66430acaf229b4d4f853a1b9d75b9b4 /test/Sema/builtins.c
parentf0fdefc13a58db2a8b32bb47ac23bc16efad6fda (diff)
Avoid multiple atomic builtin declaration.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164454 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Sema/builtins.c')
-rw-r--r--test/Sema/builtins.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/Sema/builtins.c b/test/Sema/builtins.c
index b8b03677fd..357b7b6aa0 100644
--- a/test/Sema/builtins.c
+++ b/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));