Skip to content

Commit 5bb02e6

Browse files
committed
Promote arithmetic/bitwise ops warnings to TypeError
1 parent 7a3f906 commit 5bb02e6

32 files changed

+1769
-1801
lines changed

Zend/tests/add_006.phpt

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@ $s2 = "876222numeric";
1111
$s3 = "48474874";
1212
$s4 = "25.68";
1313

14-
$c = $i + $s1;
15-
var_dump($c);
16-
14+
try {
15+
$c = $i + $s1;
16+
var_dump($c);
17+
} catch (\TypeError $e) {
18+
echo $e->getMessage() . \PHP_EOL;
19+
}
1720
$c = $i + $s2;
1821
var_dump($c);
1922

@@ -23,8 +26,12 @@ var_dump($c);
2326
$c = $i + $s4;
2427
var_dump($c);
2528

26-
$c = $s1 + $i;
27-
var_dump($c);
29+
try {
30+
$c = $s1 + $i;
31+
var_dump($c);
32+
} catch (\TypeError $e) {
33+
echo $e->getMessage() . \PHP_EOL;
34+
}
2835

2936
$c = $s2 + $i;
3037
var_dump($c);
@@ -38,19 +45,16 @@ var_dump($c);
3845
echo "Done\n";
3946
?>
4047
--EXPECTF--
41-
Warning: A non-numeric value encountered in %s on line %d
42-
int(75636)
48+
Unsupported operand types: int + string
4349

4450
Warning: A non-numeric value encountered in %s on line %d
45-
int(75636)
51+
int(951858)
4652
int(48550510)
4753
float(75661.68)
54+
Unsupported operand types: string + int
4855

4956
Warning: A non-numeric value encountered in %s on line %d
50-
int(75636)
51-
52-
Warning: A non-numeric value encountered in %s on line %d
53-
int(75636)
57+
int(951858)
5458
int(48550510)
5559
float(75661.68)
5660
Done

Zend/tests/bug39018_2.phpt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,8 @@ error_reporting(E_ALL);
88
$foo = 'test';
99
$x = @$foo[6];
1010

11-
print @($foo[100] + $foo[130]);
12-
13-
print "\nDone\n";
11+
var_dump(@($foo[100] . $foo[130]));
1412

1513
?>
1614
--EXPECT--
17-
0
18-
Done
15+
string(0) ""

Zend/tests/constant_expressions_dynamic.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Dynamic Constant Expressions
55

66
const C_0 = 0;
77
const C_1 = 1;
8-
const C_foo = "foo";
8+
const C_foo = "0foo";
99
const C_arr = [0 => 0, "foo" => "foo"];
1010

1111
const T_1 = C_1 | 2;

Zend/tests/int_conversion_exponents.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,13 @@ int(1234500000)
4040
int(-1234500000)
4141

4242
Warning: A non-numeric value encountered in %s on line %d
43-
int(0)
43+
int(1234500000)
4444

4545
Warning: A non-numeric value encountered in %s on line %d
46-
int(0)
46+
int(-1234500000)
4747

4848
Warning: A non-numeric value encountered in %s on line %d
49-
int(0)
49+
int(1234500000)
5050

5151
Warning: A non-numeric value encountered in %s on line %d
52-
int(0)
52+
int(-1234500000)

0 commit comments

Comments
 (0)