Changeset View
Changeset View
Standalone View
Standalone View
head/net-mgmt/netdata/files/patch-build_m4_ax__c______atomic.m4
--- build/m4/ax_c___atomic.m4.orig 2018-12-26 13:22:11 UTC | --- build/m4/ax_c___atomic.m4.orig 2019-05-27 21:39:46 UTC | ||||
+++ build/m4/ax_c___atomic.m4 | +++ build/m4/ax_c___atomic.m4 | ||||
@@ -6,7 +6,12 @@ AC_DEFUN([AC_C___ATOMIC], | @@ -6,7 +6,12 @@ AC_DEFUN([AC_C___ATOMIC], | ||||
[AC_CACHE_CHECK([for __atomic], ac_cv_c___atomic, | [AC_CACHE_CHECK([for __atomic], ac_cv_c___atomic, | ||||
[AC_LINK_IFELSE( | [AC_LINK_IFELSE( | ||||
[AC_LANG_SOURCE( | [AC_LANG_SOURCE( | ||||
- [[int | - [[int | ||||
+ [[typedef struct test { | + [[typedef struct test { | ||||
+ volatile uint16_t a; | + volatile uint16_t a; | ||||
+ volatile uint64_t b; | + volatile uint64_t b; | ||||
+ volatile uint64_t c; | + volatile uint64_t c; | ||||
+ } test_t; | + } test_t; | ||||
+ int | + int | ||||
main (int argc, char **argv) | main (int argc, char **argv) | ||||
{ | { | ||||
volatile unsigned long ul1 = 1, ul2 = 0, ul3 = 2; | volatile unsigned long ul1 = 1, ul2 = 0, ul3 = 2; | ||||
@@ -23,6 +28,8 @@ AC_DEFUN([AC_C___ATOMIC], | @@ -16,6 +21,8 @@ AC_DEFUN([AC_C___ATOMIC], | ||||
__atomic_fetch_sub(&ull3, 1, __ATOMIC_SEQ_CST); | __atomic_fetch_sub(&ul3, 1, __ATOMIC_SEQ_CST); | ||||
__atomic_or_fetch(&ull1, ull2, __ATOMIC_SEQ_CST); | __atomic_or_fetch(&ul1, ul2, __ATOMIC_SEQ_CST); | ||||
__atomic_and_fetch(&ull1, ull2, __ATOMIC_SEQ_CST); | __atomic_and_fetch(&ul1, ul2, __ATOMIC_SEQ_CST); | ||||
+ volatile test_t test = {.a = 0, .b = 0, .c = 1}; | + volatile test_t test = {.a = 0, .b = 0, .c = 1}; | ||||
+ __atomic_fetch_add(&test.b, 1, __ATOMIC_SEQ_CST); | + __atomic_fetch_add(&test.b, 1, __ATOMIC_SEQ_CST); | ||||
return 0; | volatile unsigned long long ull1 = 1, ull2 = 0, ull3 = 2; | ||||
} | __atomic_load_n(&ull1, __ATOMIC_SEQ_CST); | ||||
]])], | __atomic_compare_exchange(&ull1, &ull2, &ull3, 1, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); |