source: tests/concurrent/waitfor/else.cfa@ f53acdf8

ADT arm-eh ast-experimental enum forall-pointer-decay jacob/cs343-translation new-ast new-ast-unique-expr pthread-emulation qualifiedEnum
Last change on this file since f53acdf8 was 107b01a, checked in by Thierry Delisle <tdelisle@…>, 7 years ago

Several changes to the makefiles

  • change .c tests to .cfa
  • add require for libtool in configure
  • libtoolize to fix some warnings
  • Property mode set to 100644
File size: 709 bytes
RevLine 
[73abe95]1#include <fstream.hfa>
2#include <monitor.hfa>
[4cc9b13]3
4#include <stdbool.h>
5
6monitor M {};
7
8void notcalled( M & mutex m ) {
9 abort();
10}
11
12void test( M & mutex m ) {
13 int i = 0;
[200fcb3]14 sout | "Starting";
[4cc9b13]15
16 when( false ) waitfor( notcalled, m );
17
[200fcb3]18 sout | "Step" | i++;
[4cc9b13]19
20 waitfor( notcalled, m ); or else {
[200fcb3]21 sout | "else called";
[4cc9b13]22 }
23
[200fcb3]24 sout | "Step" | i++;
[4cc9b13]25
26 when( true ) waitfor( notcalled, m ); or when( true ) else {
[200fcb3]27 sout | "else called";
[4cc9b13]28 }
29
[200fcb3]30 sout | "Step" | i++;
[4cc9b13]31
32 when( false ) waitfor( notcalled, m ); or when( true ) else {
[200fcb3]33 sout | "else called";
[4cc9b13]34 }
35
[200fcb3]36 sout | "Step" | i++;
[4cc9b13]37
38 when( false ) waitfor( notcalled, m ); or when( false ) else {
[200fcb3]39 sout | "else called";
[4cc9b13]40 }
41
[200fcb3]42 sout | "Done";
[4cc9b13]43}
44
45int main() {
46 M m;
47 test(m);
[200fcb3]48}
Note: See TracBrowser for help on using the repository browser.