glibc/misc
H.J. Lu e5a5229868 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>
2024-12-22 12:56:49 +08:00
..
bits
sys
tst-syslog-long-progname.root
acct.c
allocate_once.c
ar.h
atomic_wide_counter.c
brk.c
bug18240.c
bug-hsearch1.c
chflags.c
chroot.c
daemon.c
dirname.c
efgcvt_r-template.c
efgcvt_r.c
efgcvt-dbl-macros.h
efgcvt-ldbl-macros.h
efgcvt-template.c
efgcvt.c
err.c
err.h
error.c
error.h
fchflags.c
fd_to_filename.c
fdatasync.c
fgetxattr.c
flistxattr.c
fremovexattr.c
fsetxattr.c
fstab.c
fstab.h
fsync.c
ftruncate64.c
ftruncate.c
futimes.c
futimesat.c
getauxval.c
getclktck.c
getdomain.c
getdtsz.c
gethostid.c
gethostname.c
getloadavg.c
getpagesize.c
getpass.c
getsysstats.c
getttyent.c
getusershell.c
getxattr.c
gtty.c
hsearch_r.c
hsearch.c
ifunc-impl-list.c
init-misc.c
insremque.c
ioctl.c
lgetxattr.c
libgen.h
listxattr.c
llistxattr.c
lremovexattr.c
lsearch.c
lsetxattr.c
lutimes.c
madvise.c
makedev.c
Makefile
mincore.c
mkdtemp.c
mkostemp64.c
mkostemp.c
mkostemps64.c
mkostemps.c
mkstemp64.c
mkstemp.c
mkstemps64.c
mkstemps.c
mktemp.c
mlock.c
mlockall.c
mmap64.c
mmap.c
mntent_r.c
mntent.c
mntent.h
mprotect.c
msync.c
munlock.c
munlockall.c
munmap.c
preadv2.c
preadv64.c
preadv64v2.c
preadv.c
pselect.c
ptrace.c
pwritev2.c
pwritev64.c
pwritev64v2.c
pwritev.c
qefgcvt_r.c
qefgcvt.c
readv.c
reboot.c
regexp.c
regexp.h
remap_file_pages.c
removexattr.c
revoke.c
sbrk.c
search.h
select.c
setdomain.c
setegid.c
seteuid.c
sethostid.c
sethostname.c
setregid.c
setreuid.c
setxattr.c
sgtty.h
single_threaded.c
sstk.c
stab.h
stty.c
swapoff.c
swapon.c
sync.c
syncfs.c
syscall.c
syscall.h
sysexits.h
syslog.c
syslog.h
truncate64.c
truncate.c
tsearch.c
tst-allocate_once.c
tst-atomic-long.c
tst-atomic.c
tst-dbl-efgcvt.c
tst-dirname.c
tst-efgcvt-template.c
tst-empty.c
tst-error1.c
tst-fd_to_filename.c
tst-fdset.c
tst-gethostid.c
tst-hsearch.c
tst-insremque.c
tst-ioctl-time64.c
tst-ioctl.c
tst-ldbl-efgcvt.c
tst-ldbl-error.c
tst-ldbl-errorfptr.c
tst-ldbl-warn.c
tst-makedev.c
tst-mkstemp-fuse-parallel.c
tst-mkstemp-fuse.c
tst-mntent2.c
tst-mntent-autofs.c
tst-mntent-blank-corrupt.c
tst-mntent-blank-passno.c
tst-mntent-escape.c
tst-mntent.c
tst-mremap1.c
tst-mremap2.c
tst-preadvwritev2-common.c
tst-preadvwritev2.c
tst-preadvwritev64.c
tst-preadvwritev64v2.c
tst-preadvwritev-common.c
tst-preadvwritev.c
tst-pselect-time64.c
tst-pselect.c
tst-select-time64.c
tst-select.c
tst-syscalls.c
tst-syslog-long-progname.c
tst-syslog.c
tst-tsearch.c
tst-warn-wide.c
ttyent.h
ttyslot.c
ualarm.c
unwind-link.c
usleep.c
ustat.c
utimes.c
Versions
vhangup.c
writev.c