atomic (0:a63ceefd6ab0) atomic (37:7ef020869079)
1
2# Copyright (C) Igor Sysoev
3# Copyright (C) NGINX, Inc.
4
5
6# GCC 4.1+ builtin atomic operations.
7
8nxt_feature="GCC builtin atomic operations"

--- 7 unchanged lines hidden (view full) ---

16 if (!__sync_bool_compare_and_swap(&n, 0, 3))
17 return 1;
18 if (__sync_fetch_and_add(&n, 1) != 3)
19 return 1;
20 if (__sync_lock_test_and_set(&n, 5) != 4)
21 return 1;
22 if (n != 5)
23 return 1;
1
2# Copyright (C) Igor Sysoev
3# Copyright (C) NGINX, Inc.
4
5
6# GCC 4.1+ builtin atomic operations.
7
8nxt_feature="GCC builtin atomic operations"

--- 7 unchanged lines hidden (view full) ---

16 if (!__sync_bool_compare_and_swap(&n, 0, 3))
17 return 1;
18 if (__sync_fetch_and_add(&n, 1) != 3)
19 return 1;
20 if (__sync_lock_test_and_set(&n, 5) != 4)
21 return 1;
22 if (n != 5)
23 return 1;
24 if (__sync_or_and_fetch(&n, 2) != 7)
25 return 1;
26 if (__sync_and_and_fetch(&n, 5) != 5)
27 return 1;
24 __sync_lock_release(&n);
25 if (n != 0)
26 return 1;
27 return 0;
28 }"
29. auto/feature
30
31

--- 14 unchanged lines hidden (view full) ---

46 if (atomic_cas_ulong(&n, 0, 3) != 0)
47 return 1;
48 if (atomic_add_long_nv(&n, 1) != 4)
49 return 1;
50 if (atomic_swap_ulong(&n, 5) != 4)
51 return 1;
52 if (n != 5)
53 return 1;
28 __sync_lock_release(&n);
29 if (n != 0)
30 return 1;
31 return 0;
32 }"
33. auto/feature
34
35

--- 14 unchanged lines hidden (view full) ---

50 if (atomic_cas_ulong(&n, 0, 3) != 0)
51 return 1;
52 if (atomic_add_long_nv(&n, 1) != 4)
53 return 1;
54 if (atomic_swap_ulong(&n, 5) != 4)
55 return 1;
56 if (n != 5)
57 return 1;
58 if (atomic_or_ulong_nv(&n, 2) != 7)
59 return 1;
60 if (atomic_and_ulong_nv(&n, 5) != 5)
61 return 1;
54 return 0;
55 }"
56 . auto/feature
57fi
58
59
60# AIX xlC builtin atomic operations.
61

--- 53 unchanged lines hidden ---
62 return 0;
63 }"
64 . auto/feature
65fi
66
67
68# AIX xlC builtin atomic operations.
69

--- 53 unchanged lines hidden ---