diff options
Diffstat (limited to 'cpukit/aclocal/check-atomic.m4')
-rw-r--r-- | cpukit/aclocal/check-atomic.m4 | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/cpukit/aclocal/check-atomic.m4 b/cpukit/aclocal/check-atomic.m4 index 97943eb768..00149f8a12 100644 --- a/cpukit/aclocal/check-atomic.m4 +++ b/cpukit/aclocal/check-atomic.m4 @@ -5,9 +5,13 @@ AC_REQUIRE([RTEMS_CANONICAL_TARGET_CPU])dnl AC_CACHE_CHECK([whether CPU supports atomic operations], [rtems_cv_ATOMIC],[ - AS_IF( - [test -f "${srcdir}/score/cpu/$RTEMS_CPU/rtems/score/cpuatomic.h"], - [rtems_cv_ATOMIC="yes"], - [rtems_cv_ATOMIC="no"]) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[#include <stdatomic.h>]], + [[atomic_uint_fast32_t t; atomic_init(&t, 0); + atomic_store( &t, 1 ); + atomic_exchange( &t, 2 ); + atomic_fetch_add( &t, 3 );]])], + [rtems_cv_ATOMIC="yes"], + [rtems_cv_ATOMIC="no"]) ]) ]) |