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
])