optional integer overflow logging/exception (#8585)
[hiphop-php.git] / hphp / test / slow / int_overflow / minus_equal_1.php
blobb3dbec11df3419354704bd92d18254e2235de445
1 <?hh
3 <<__EntryPoint>> function main(): void {
4 $minusEq = function($a, $b) {
5 try {
6 $c = $a;
7 $c -= $b;
8 printf("%s -= %s = %s\n",
9 var_export($a, true),
10 var_export($b, true),
11 var_export($c, true));
12 } catch (ArithmeticError $ex) {
13 printf("exception for %s -= %s: %s\n",
14 var_export($a, true),
15 var_export($b, true),
16 $ex->getMessage());
17 return -1;
21 $max = PHP_INT_MAX;
22 $min = 1 << 63;
24 $minusEq($max, -1);
25 $minusEq($max, 1);
26 $minusEq("$max", -1);
27 $minusEq($max, '-1');
28 $minusEq("$max", '-1');
30 $minusEq($min, 1);
31 $minusEq($min, -1);
32 $minusEq("$min", 1);
33 $minusEq($min, '1');
34 $minusEq("$min", '1');