Commit state of repository at time of OOPSLA 2015 submission.
[satcheck.git] / clang / test / minimal-no-braces-if.c
1 #include <threads.h>
2 #include <stdbool.h>
3 #include "libinterface.h"
4
5 /* atomic */ int flag1;
6
7 #define true 1
8 #define false 0
9 #define NULL 0
10
11 /* uint32_t */ int var = 0;
12
13 void p0() {
14         MCID _mf1; int f1, t;
15         MC2_enterLoop();
16         while (true)
17         {
18                 _mf1=MC2_nextOpLoad(MCID_NODEP), f1 = load_32(&flag1);
19                 MCID _br0;
20                 if (!f1)
21                         {_br0 = MC2_branchUsesID(_mf1, 1, 2, true);
22                         break;
23 }        else { _br0 = MC2_branchUsesID(_mf1, 0, 2, true);      MC2_merge(_br0);
24          }}
25 MC2_exitLoop();
26
27 }
28
29 void p1() {
30         MCID _mf1; int f1, t;
31         MC2_enterLoop();
32         while (true)
33         {
34                 _mf1=MC2_nextOpLoad(MCID_NODEP), f1 = load_32(&flag1);
35                 MCID _br1;
36                 if (!f1)
37                         {_br1 = MC2_branchUsesID(_mf1, 1, 2, true);
38                         break;
39 }               else
40                         {_br1 = MC2_branchUsesID(_mf1, 0, 2, true);
41                                 MC2_merge(_br1);
42                         ;}
43         }
44 MC2_exitLoop();
45
46 }
47
48 void p2() {
49         MCID _mf1; int f1, t;
50         MC2_enterLoop();
51         while (true)
52         {
53                 _mf1=MC2_nextOpLoad(MCID_NODEP), f1 = load_32(&flag1);
54                 MCID _br2;
55                 if (!f1) {
56                         _br2 = MC2_branchUsesID(_mf1, 1, 2, true);
57                         break;
58                 }
59         } else { _br2 = MC2_branchUsesID(_mf1, 0, 2, true);     MC2_merge(_br2);
60          }
61 MC2_exitLoop();
62
63 }
64
65 void p3() {
66         MCID _mf1; int f1, t;
67         MC2_enterLoop();
68         while (true)
69         {
70                 _mf1=MC2_nextOpLoad(MCID_NODEP), f1 = load_32(&flag1);
71                 MCID _br3;
72                 if (!f1) {
73                         _br3 = MC2_branchUsesID(_mf1, 1, 2, true);
74                         break;
75                 } else {
76                         _br3 = MC2_branchUsesID(_mf1, 0, 2, true);
77                         ;
78                         MC2_merge(_br3);
79                 }
80         }
81 MC2_exitLoop();
82
83 }
84
85
86 int user_main(int argc, char **argv)
87 {
88         thrd_t a;
89
90         MC2_nextOpStore(MCID_NODEP, MCID_NODEP);
91         store_32(&flag1, false);
92
93         thrd_create(&a, p0, NULL);
94         thrd_join(a);
95
96         return 0;
97 }
98
99 void pf(MCID _mq, int q) {
100     // need to create a tmp variable etc
101     MCID _br4;
102     if (q) {
103                 _br4 = MC2_branchUsesID(, 1, 2, true);
104                 ;
105                 MC2_merge(_br4);
106         }
107  else { _br4 = MC2_branchUsesID(, 0, 2, true);  MC2_merge(_br4);
108  }}