* src/SDCCast.c (createDo): backPatchLabels() needs falseLabel in empty 'while'-loop...
[fw/sdcc] / support / regression / tests / while.c
1 /*\r
2    while.c\r
3 */\r
4 \r
5 #include <testfwk.h>\r
6 \r
7 char c1 = 0, c2 = 1;\r
8 \r
9 void\r
10 testEmptyWhile(void)\r
11 {\r
12   /* loops forever if bug ist present */\r
13   do {} while (c1 && c2);\r
14 \r
15   /* other cases: */\r
16   do {} while ( c1 &&  c1);\r
17   do {} while ( c1 && !c2);\r
18   do {} while (!c1 && !c2);\r
19   do {} while ( c2 &&  c1);\r
20   do {} while (!c2 &&  c1);\r
21   do {} while (!c2 && !c1);\r
22   do {} while (!c2 && !c2);\r
23 \r
24   do {} while ( c1 ||  c1);\r
25   do {} while ( c1 || !c2);\r
26   do {} while (!c2 ||  c1);\r
27   do {} while (!c2 || !c2);\r
28 \r
29   ASSERT(1);\r
30 }\r