]> arthur.barton.de Git - netdata.git/blob - m4/ax_c___atomic.m4
rename chart fields to avoid conflicts with backends; fixes #1962
[netdata.git] / m4 / ax_c___atomic.m4
1 # AC_C___ATOMIC
2 # -------------
3 # Define HAVE_C___ATOMIC if __atomic works.
4 AN_IDENTIFIER([__atomic], [AC_C___ATOMIC])
5 AC_DEFUN([AC_C___ATOMIC],
6 [AC_CACHE_CHECK([for __atomic], ac_cv_c___atomic,
7 [AC_LINK_IFELSE(
8    [AC_LANG_SOURCE(
9       [[int
10         main (int argc, char **argv)
11         {
12           volatile unsigned long ul1 = 1, ul2 = 0, ul3 = 2;
13           __atomic_compare_exchange(&ul1, &ul2, &ul3, 1, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
14           __atomic_fetch_add(&ul1, 1, __ATOMIC_SEQ_CST);
15           __atomic_fetch_sub(&ul3, 1, __ATOMIC_SEQ_CST);
16           volatile unsigned long long ull1 = 1, ull2 = 0, ull3 = 2;
17           __atomic_compare_exchange(&ull1, &ull2, &ull3, 1, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
18           __atomic_fetch_add(&ull1, 1, __ATOMIC_SEQ_CST);
19           __atomic_fetch_sub(&ull3, 1, __ATOMIC_SEQ_CST);
20           return 0;
21         }
22       ]])],
23    [ac_cv_c___atomic=yes],
24    [ac_cv_c___atomic=no])])
25 if test $ac_cv_c___atomic = yes; then
26   AC_DEFINE([HAVE_C___ATOMIC], 1,
27            [Define to 1 if __atomic operations work.])
28 fi
29 ])# AC_C___ATOMIC
30