Commit state of repository at time of OOPSLA 2015 submission.
[satcheck.git] / clang / test / various-loads_unannotated.c
1 #include <threads.h>
2 #include <stdbool.h>
3 #include "libinterface.h"
4
5 /* atomic */ int flag1, flag2;
6
7 #define true 1
8 #define false 0
9 #define NULL 0
10
11 uint64_t var = 0, var2 = 0;
12
13 void p0() {
14     load_64(&flag2);
15     int q = load_64(&flag1);
16     if (load_64(&flag1)) {
17                 ;
18         }
19         if (!load_64(&flag1)) {
20                 ;
21         }
22 }
23
24 void p1() {
25         rmw_64(CAS, &flag1, var, var2);
26         int r = rmw_64(CAS, &flag1, var, var2);
27         if (rmw_64(CAS, &flag1, var, var2)) {
28                 ;
29         }
30 }