blob: 59614a1ecb44048596926eb85c19e6a8aa7dec9e [file] [log] [blame]
dnl
dnl Copyright (c) Linux Test Project, 2016
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
dnl the GNU General Public License for more details.
dnl
AC_DEFUN([LTP_CHECK_ATOMIC_MEMORY_MODEL],[dnl
AC_MSG_CHECKING([for __atomic_* compiler builtins])
AC_LINK_IFELSE([AC_LANG_SOURCE([
int main(void) {
int i = 0, j = 0;
__atomic_add_fetch(&i, 1, __ATOMIC_ACQ_REL);
__atomic_load_n(&i, __ATOMIC_SEQ_CST);
__atomic_store_n(&i, 0, __ATOMIC_RELAXED);
return i;
}])],[has_atomic_mm="yes"])
if test "x$has_atomic_mm" = xyes; then
AC_DEFINE(HAVE_ATOMIC_MEMORY_MODEL,1,
[Define to 1 if you have the __atomic_* compiler builtins])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
])