source: tests/expression.cfa @ 0f5da65

ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since 0f5da65 was 33a484f, checked in by Peter A. Buhr <pabuhr@…>, 4 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.