mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-06 20:58:33 +01:00
tst-atomic.c: Mark as UNSUPPORTED when compiled with Clang
Since Clang can't remove the dead statement and issues an error: tst-atomic.c:463:7: error: unsupported inline asm: input with type 'int64_t' (aka 'long') matching output with type 'typeof (*&mem)' (aka 'int') 463 | if (catomic_exchange_and_add (&mem, 11) != 2 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../sysdeps/x86/atomic-machine.h:213:3: note: expanded from macro 'catomic_exchange_and_add' 213 | __arch_exchange_and_add_body (__arch_exchange_and_add_cprefix, __arch_c, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | mem, value) | ~~~~~~~~~~~ ../sysdeps/x86/atomic-machine.h:199:12: note: expanded from macro '__arch_exchange_and_add_body' 198 | : "=r" (__result), "=m" (*mem) \ | ~~~~~~~~ 199 | : "0" ((int64_t) cast_to_integer (__addval)), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tst-atomic.c:487:7: error: unsupported inline asm: input with type 'int64_t' (aka 'long') matching output with type 'typeof (*(&mem))' (aka 'int') 487 | if (catomic_increment_val (&mem) != 3) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../include/atomic.h:313:38: note: expanded from macro 'catomic_increment_val' 313 | # define catomic_increment_val(mem) (catomic_exchange_and_add ((mem), 1) + 1) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../sysdeps/x86/atomic-machine.h:213:3: note: expanded from macro 'catomic_exchange_and_add' 213 | __arch_exchange_and_add_body (__arch_exchange_and_add_cprefix, __arch_c, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | mem, value) | ~~~~~~~~~~~ ../sysdeps/x86/atomic-machine.h:199:12: note: expanded from macro '__arch_exchange_and_add_body' 198 | : "=r" (__result), "=m" (*mem) \ | ~~~~~~~~ 199 | : "0" ((int64_t) cast_to_integer (__addval)), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tst-atomic.c:501:7: error: unsupported inline asm: input with type 'int64_t' (aka 'long') matching output with type 'typeof (*(&mem))' (aka 'int') 501 | if (catomic_decrement_val (&mem) != 15) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../include/atomic.h:340:38: note: expanded from macro 'catomic_decrement_val' 340 | # define catomic_decrement_val(mem) (catomic_exchange_and_add ((mem), -1) - 1) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../sysdeps/x86/atomic-machine.h:213:3: note: expanded from macro 'catomic_exchange_and_add' 213 | __arch_exchange_and_add_body (__arch_exchange_and_add_cprefix, __arch_c, \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 214 | mem, value) | ~~~~~~~~~~~ ../sysdeps/x86/atomic-machine.h:199:12: note: expanded from macro '__arch_exchange_and_add_body' 198 | : "=r" (__result), "=m" (*mem) \ | ~~~~~~~~ 199 | : "0" ((int64_t) cast_to_integer (__addval)), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mark tst-atomic.c as UNSUPPORTED when compiled with Clang. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
This commit is contained in:
parent
d9d30f6cb5
commit
e5a5229868
1 changed files with 10 additions and 0 deletions
|
@ -16,6 +16,7 @@
|
|||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef __clang__
|
||||
#include <stdio.h>
|
||||
#include <atomic.h>
|
||||
|
||||
|
@ -636,3 +637,12 @@ do_test (void)
|
|||
}
|
||||
|
||||
#include <support/test-driver.c>
|
||||
#else
|
||||
#include <support/test-driver.h>
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
return EXIT_UNSUPPORTED;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue