aboutsummaryrefslogtreecommitdiff
path: root/tests/conformance/3-expressions/int_mul_wrap.zc
blob: 66d9e3b876b299c0ac55cff269aefa594cf476a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// expect: -2/-2/-9223372036709301616/-9223372036709301616/-9223372036854775808/-9223372036854775808/-20/-20/
// spec 3.4.1
include rt;
void pn(int x) { rt.put_n(x); rt.put_c(10); }
fn main() {
	pn(9223372036854775807 * 2);
	{ int a = 9223372036854775807, b = 2; pn(a * b); }
	pn(3037000500 * 3037000500);
	{ int a = 3037000500, b = 3037000500; pn(a * b); }
	pn((-9223372036854775807 - 1) * -1);
	{ int a = (-9223372036854775807 - 1), b = -1; pn(a * b); }
	pn(-4 * 5);
	{ int a = -4, b = 5; pn(a * b); }
	return 0;
}