@@ -21,52 +21,52 @@ void f(int p) {
2121 atomic_load_explicit (& l1 , memory_order_release ); // NON-COMPLIANT
2222
2323 // Implicit values:
24- atomic_store (& l1 , 0 ); // COMPLIANT
25- atomic_load (& l1 ); // COMPLIANT
26- atomic_flag_test_and_set (& l2 ); // COMPLIANT
27- atomic_flag_clear (& l2 ); // COMPLIANT
28- atomic_exchange (& l1 , 0 ); // COMPLIANT
24+ atomic_store (& l1 , 0 ); // COMPLIANT
25+ atomic_load (& l1 ); // COMPLIANT
26+ atomic_flag_test_and_set (& l2 ); // COMPLIANT
27+ atomic_flag_clear (& l2 ); // COMPLIANT
28+ atomic_exchange (& l1 , 0 ); // COMPLIANT
2929 atomic_compare_exchange_strong (& l1 , ptr , 1 ); // COMPLIANT
3030 atomic_compare_exchange_weak (& l1 , ptr , 1 ); // COMPLIANT
31- atomic_fetch_add (& l1 , 0 ); // COMPLIANT
32- atomic_fetch_sub (& l1 , 0 ); // COMPLIANT
33- atomic_fetch_or (& l1 , 0 ); // COMPLIANT
34- atomic_fetch_xor (& l1 , 0 ); // COMPLIANT
35- atomic_fetch_and (& l1 , 0 ); // COMPLIANT
31+ atomic_fetch_add (& l1 , 0 ); // COMPLIANT
32+ atomic_fetch_sub (& l1 , 0 ); // COMPLIANT
33+ atomic_fetch_or (& l1 , 0 ); // COMPLIANT
34+ atomic_fetch_xor (& l1 , 0 ); // COMPLIANT
35+ atomic_fetch_and (& l1 , 0 ); // COMPLIANT
3636
3737 // Compliant flowed values (one test per sink):
38- atomic_store_explicit (& l1 , 0 , g1 ); // COMPLIANT
39- atomic_load_explicit (& l1 , g1 ); // COMPLIANT
40- atomic_flag_test_and_set_explicit (& l2 , g1 ); // COMPLIANT
41- atomic_flag_clear_explicit (& l2 , g1 ); // COMPLIANT
42- atomic_exchange_explicit (& l1 , 0 , g1 ); // COMPLIANT
38+ atomic_store_explicit (& l1 , 0 , g1 ); // COMPLIANT
39+ atomic_load_explicit (& l1 , g1 ); // COMPLIANT
40+ atomic_flag_test_and_set_explicit (& l2 , g1 ); // COMPLIANT
41+ atomic_flag_clear_explicit (& l2 , g1 ); // COMPLIANT
42+ atomic_exchange_explicit (& l1 , 0 , g1 ); // COMPLIANT
4343 atomic_compare_exchange_strong_explicit (& l1 , ptr , 1 , g1 , g1 ); // COMPLIANT
4444 atomic_compare_exchange_weak_explicit (& l1 , ptr , 1 , g1 , g1 ); // COMPLIANT
45- atomic_fetch_add_explicit (& l1 , 0 , g1 ); // COMPLIANT
46- atomic_fetch_sub_explicit (& l1 , 0 , g1 ); // COMPLIANT
47- atomic_fetch_or_explicit (& l1 , 0 , g1 ); // COMPLIANT
48- atomic_fetch_xor_explicit (& l1 , 0 , g1 ); // COMPLIANT
49- atomic_fetch_and_explicit (& l1 , 0 , g1 ); // COMPLIANT
50- atomic_thread_fence (g1 ); // COMPLIANT
51- atomic_signal_fence (g1 ); // COMPLIANT
45+ atomic_fetch_add_explicit (& l1 , 0 , g1 ); // COMPLIANT
46+ atomic_fetch_sub_explicit (& l1 , 0 , g1 ); // COMPLIANT
47+ atomic_fetch_or_explicit (& l1 , 0 , g1 ); // COMPLIANT
48+ atomic_fetch_xor_explicit (& l1 , 0 , g1 ); // COMPLIANT
49+ atomic_fetch_and_explicit (& l1 , 0 , g1 ); // COMPLIANT
50+ atomic_thread_fence (g1 ); // COMPLIANT
51+ atomic_signal_fence (g1 ); // COMPLIANT
5252
5353 // Non-compliant flowed values (one test per sink):
54- atomic_store_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
55- atomic_load_explicit (& l1 , g2 ); // NON-COMPLIANT
56- atomic_flag_test_and_set_explicit (& l2 , g2 ); // NON-COMPLIANT
57- atomic_flag_clear_explicit (& l2 , g2 ); // NON-COMPLIANT
58- atomic_exchange_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
54+ atomic_store_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
55+ atomic_load_explicit (& l1 , g2 ); // NON-COMPLIANT
56+ atomic_flag_test_and_set_explicit (& l2 , g2 ); // NON-COMPLIANT
57+ atomic_flag_clear_explicit (& l2 , g2 ); // NON-COMPLIANT
58+ atomic_exchange_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
5959 atomic_compare_exchange_strong_explicit (& l1 , ptr , 1 , g2 , g1 ); // NON-COMPLIANT
6060 atomic_compare_exchange_strong_explicit (& l1 , ptr , 1 , g1 , g2 ); // NON-COMPLIANT
6161 atomic_compare_exchange_weak_explicit (& l1 , ptr , 1 , g2 , g1 ); // NON-COMPLIANT
6262 atomic_compare_exchange_weak_explicit (& l1 , ptr , 1 , g1 , g2 ); // NON-COMPLIANT
63- atomic_fetch_add_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
64- atomic_fetch_sub_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
65- atomic_fetch_or_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
66- atomic_fetch_xor_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
67- atomic_fetch_and_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
68- atomic_thread_fence (g2 ); // NON-COMPLIANT
69- atomic_signal_fence (g2 ); // NON-COMPLIANT
63+ atomic_fetch_add_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
64+ atomic_fetch_sub_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
65+ atomic_fetch_or_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
66+ atomic_fetch_xor_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
67+ atomic_fetch_and_explicit (& l1 , 0 , g2 ); // NON-COMPLIANT
68+ atomic_thread_fence (g2 ); // NON-COMPLIANT
69+ atomic_signal_fence (g2 ); // NON-COMPLIANT
7070
7171 // Non-compliant flowed values (one test per source):
7272 atomic_thread_fence (g2 ); // NON-COMPLIANT
0 commit comments