source: tests/expression.cfa@ fb64e86

ADT arm-eh ast-experimental enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr pthread-emulation qualifiedEnum
Last change on this file since fb64e86 was 33a484f, checked in by Peter A. Buhr <pabuhr@…>, 6 years ago

add additional postfix call test

  • Property mode set to 100644
File size: 1.0 KB
Line 
1struct S { int i; };
2void ?{}( S & s, int i ) {}
3int ?`mary( int );
4int ?`mary( S );
5[int] ?`mary( [int, int] );
6int & ?`jane( int & );
7int jack( int );
8
9int main() {
10 int a[3] = { 0, 0, 0 };
11 S s = { 3 }, * ps = &s;
12 [int] t;
13 * [int] pt = &t;
14 int i = 3, j = 4;
15
16 // operators
17
18 ! i;
19 ~i;
20 +i;
21 -i;
22 *ps;
23 ++ps;
24 --ps;
25 ps++;
26 ps--;
27
28 i+j;
29 i-j;
30 i*j;
31
32 i/j;
33 i%j;
34 i^j;
35 i&j;
36 i|j;
37 i<j;
38 i>j;
39 i=j;
40
41 i==j;
42 i!=j;
43 i<<j;
44 i>>j;
45 i<=j;
46 i>=j;
47 i&&j;
48 i||j;
49 ps->i;
50
51 i*=j;
52 i/=j;
53 i%=j;
54 i+=j;
55 i-=j;
56 i&=j;
57 i|=j;
58 i^=j;
59 i<<=j;
60 i>>=j;
61
62 i?i:j;
63
64 // postfix function call
65
66 (3 + 4)`mary;
67 ({3 + 4;})`mary;
68 [3, 4]`mary;
69 3`mary;
70 a[0]`mary;
71 a[0]`mary`mary;
72 s{0}`mary;
73 a[3]`jane++;
74 jack(3)`mary;
75 s.i`mary;
76 t.0`mary;
77 s.[i]`mary;
78 ps->i`mary;
79 pt->0`mary;
80 ps->[i]`mary;
81 i++`mary;
82 i--`mary;
83 (S){2}`mary;
84 (S)@{2}`mary;
85} // main
Note: See TracBrowser for help on using the repository browser.