1--TEST-- 2JIT MUL: 010 incorrect guard elimination 3--INI-- 4opcache.enable=1 5opcache.enable_cli=1 6--FILE-- 7<?php 8function test() { 9 $j = 0; 10 for ($i = 0; $i < 40; $i++) { 11 $a * $e == $a - $a + $e; 12 $maq[$obj] = $a + $e; 13 $maq[$obj] = $maq[$obj] = !!$a = $a . 14 $maq[$obj] = $maq[$obj] = $maq[$obj] = $maq[$obj] = $a = $a + $a = &$a + 15 $maq[$obj] = $maq[$obj] = $a + $e; 16 $maq[$obj] = $maq[$obj] = !!$a = $a . $maq[$obj] = $maq[$obj] = $maq[$obj] = 17 $maq[$obj] = $a * $e == $a - $a + $e; 18 $maq[$obj] = $maq[$obj] = +$e; 19 $a * $e == $a - $a + $e; 20 +$e; 21 $a * $a = $a + $a = &$a + $e = $a-- +$a + $e; 22 $maq[$obj] = $maq[$obj] = !!$a = $a . $a &= $aZ = $a; 23 } 24} 25try { 26 @test(); 27} catch (Throwable $ex) { 28 echo $ex->getMessage() . "\n"; 29} 30?> 31--EXPECT-- 32Unsupported operand types: string * float 33