source: src/tests/switch.c @ 13e2c54

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 13e2c54 was 8688ce1, checked in by Peter A. Buhr <pabuhr@…>, 8 years ago

move case-list management into parser

  • Property mode set to 100644
File size: 1.5 KB
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// switch.c --
8//
9// Author           : Peter A. Buhr
10// Created On       : Tue Jul 12 06:50:22 2016
11// Last Modified By : Peter A. Buhr
12// Last Modified On : Thu Aug  4 11:44:29 2016
13// Update Count     : 31
14//
15
16int f( int i ) { return i; }
17
18int main() {
19        int i = 0;
20        switch ( i ) case 3 : i = 1;
21        switch ( i ) default : f( 3 );
22
23        switch ( 3 )
24          default:
25          case 2:
26          case 3:
27                f( 3 );
28
29        switch ( i ) {}
30        switch ( i ) {
31          case 3:
32                f( 3 );
33        } // switch
34
35        switch ( 3 ) {
36                int j;
37          case 3:
38                break;
39          case 4:
40                j = 0;
41        }
42
43        switch ( i ) {
44          case 1, 2, 3:
45                switch ( i ) {
46                  case 2, 3, 4:
47                        7;
48                }
49        }
50
51        switch ( i ) {
52                int j = 0;
53                int k = 0;
54                struct S { int i; };
55                S s;
56          case 8~10:
57          default:
58                i = 3;
59          case 19:
60          case 'A' ... 'Z':
61          case 1 ... 6:
62          case 20, 30:
63                j = 3;
64                f( 3 );
65                break;
66        } // switch
67
68        choose ( i ) case 3 : f( 3 );
69        choose ( i ) default : i = 1;
70
71        choose ( 3 )
72          case 2:
73          default:
74          case 3:
75                f( 3 );
76
77        choose ( i ) {}
78        choose ( i ) {
79          case 3:
80                f( 3 );
81        } // choose
82
83        choose ( i ) {
84                int j = 0;
85                int k = 0;
86                struct S { int i; };
87                S s;
88          case 19:
89          case 'A' ... 'Z':
90          case 0 ... 6:
91          case 20, 30, 40:
92                i = 3;
93                f( 3 );
94          default:
95                j = 3;
96          case 8~10:
97                f( 3 );
98                fallthru
99          case 'd':
100                j = 5;
101        } // choose
102}
103
104// Local Variables: //
105// tab-width: 4 //
106// compile-command: "cfa switch.c" //
107// End: //
Note: See TracBrowser for help on using the repository browser.