diff options
author | Abramo Bagnara <abramo.bagnara@bugseng.com> | 2012-09-22 09:05:22 +0000 |
---|---|---|
committer | Abramo Bagnara <abramo.bagnara@bugseng.com> | 2012-09-22 09:05:22 +0000 |
commit | 6cba23a6494e51044bc0f01b35bca7d65808a3fe (patch) | |
tree | a1c9a8c326265cd895f730f80bdd551c03d94950 /clang/test/Sema/builtins.c | |
parent | 2718b200302e32af777952693fbd31a4a21428a2 (diff) | |
download | bcm5719-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.c | 14 |
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)); |