1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 23:48:14 +02:00
Files
archived-php-src/ext/opcache/tests/jit/bug80742.phpt
T
Max Semenik e9f783fcdd Migrate skip checks to --EXTENSIONS--, p3
For rationale, see #6787

Extensions migrated in part 3:
* ftp
* gmp
* iconv
* opcache
* shmop
2021-04-03 15:23:25 +02:00

101 lines
1.3 KiB
PHP

--TEST--
Bug #80742 (Opcache JIT makes some boolean logic unexpectedly be true)
--EXTENSIONS--
opcache
--FILE--
<?php
function checkGroundState(float $movY, float $dy) : void{
var_dump($movY != $dy, $movY < 0, ($movY != $dy and $movY < 0));
var_dump("wow!");
}
checkGroundState(0, 0);
function eq(float $a, float $b, $c, $d) {
if ($a == $b) {
echo 1;
}
if ($a == $b) {
} else {
echo 2;
}
if ($a != $b) {
echo 3;
}
if ($a != $b) {
} else {
echo 4;
}
if ($a === $b) {
echo 5;
}
if ($a === $b) {
} else {
echo 6;
}
if ($a !== $b) {
echo 7;
}
if ($a !== $b) {
} else {
echo 8;
}
echo "\n";
var_dump(
$a == $b && $c,
$a != $b && $c,
$a === $b && $c,
$a !== $b && $c,);
var_dump(
$a == $b || $d,
$a != $b || $d,
$a === $b || $d,
$a !== $b || $d);
}
eq(3.0, 3.0, true, false);
eq(3.0, 2.0, true, false);
eq(3.0, NAN, true, false);
eq(NAN, NAN, true, false);
--EXPECT--
bool(false)
bool(false)
bool(false)
string(4) "wow!"
1458
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
2367
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
2367
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
2367
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(false)
bool(true)