aboutsummaryrefslogtreecommitdiff
path: root/tests/conformance/3-expressions/prec_left_add.zc
blob: f3c7da68cf2e52a635ed8777bb21752944a24bf5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// expect: 1/1/1/1/101/101/3/3/4/4/0/0/1/1/0/0/1/1/1/1/1/1/872/872/-1/-1/76/76/-2/-2/-8/-8/
// first operator + followed by each other binary operator; operands chosen so that the two groupings differ
include rt;
void pn(int x) { rt.put_n(x); rt.put_c(10); }
fn main() {
	pn(2 + -8 || 100);
	{ int a = 2, b = -8, c = 100; pn(a + b || c); }
	pn(9 + 0 && -8);
	{ int a = 9, b = 0, c = -8; pn(a + b && c); }
	pn(100 + -3 | 5);
	{ int a = 100, b = -3, c = 5; pn(a + b | c); }
	pn(5 + -8 ^ -2);
	{ int a = 5, b = -8, c = -2; pn(a + b ^ c); }
	pn(5 + 0 & 6);
	{ int a = 5, b = 0, c = 6; pn(a + b & c); }
	pn(8 + 4 == -2);
	{ int a = 8, b = 4, c = -2; pn(a + b == c); }
	pn(5 + 6 != 100);
	{ int a = 5, b = 6, c = 100; pn(a + b != c); }
	pn(3 + 100 < 12);
	{ int a = 3, b = 100, c = 12; pn(a + b < c); }
	pn(6 + 4 > -8);
	{ int a = 6, b = 4, c = -8; pn(a + b > c); }
	pn(5 + -2 <= 100);
	{ int a = 5, b = -2, c = 100; pn(a + b <= c); }
	pn(6 + 7 >= 2);
	{ int a = 6, b = 7, c = 2; pn(a + b >= c); }
	pn(100 + 9 << 3);
	{ int a = 100, b = 9, c = 3; pn(a + b << c); }
	pn(4 + -8 >> 3);
	{ int a = 4, b = -8, c = 3; pn(a + b >> c); }
	pn(100 + 12 * -2);
	{ int a = 100, b = 12, c = -2; pn(a + b * c); }
	pn(-2 + 3 / 12);
	{ int a = -2, b = 3, c = 12; pn(a + b / c); }
	pn(-8 + 3 % 1);
	{ int a = -8, b = 3, c = 1; pn(a + b % c); }
	return 0;
}