aboutsummaryrefslogtreecommitdiff
path: root/tests/conformance/3-expressions/int_logical_values.zc
blob: 3382025afde745c0ee25d93e0c36665894a5a888 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// expect: 1/1/0/0/0/0/0/0/1/1/
// spec 3.4.6: && gives 0 or 1
include rt;
void pn(int x) { rt.put_n(x); rt.put_c(10); }
fn main() {
	pn(5 && 7);
	{ int a = 5, b = 7; pn(a && b); }
	pn(5 && 0);
	{ int a = 5, b = 0; pn(a && b); }
	pn(0 && 7);
	{ int a = 0, b = 7; pn(a && b); }
	pn(0 && 0);
	{ int a = 0, b = 0; pn(a && b); }
	pn(-1 && (-9223372036854775807 - 1));
	{ int a = -1, b = (-9223372036854775807 - 1); pn(a && b); }
	return 0;
}