Prevent more optimizations in repo mode
"$unused_local = UndefinedConstant;" was being optimized away, so we didnt get a warning for the constant. return it instead. $unused_local = new Object; return; became new Object; return; This affected the (unspecified) order of destruction of $this vs $unused_local. Since we're specifically trying to test that we dont crash when a local generates a backtrace after $this has been destroyed, force the variable to be used.
Esse commit está contido em:
@@ -29,6 +29,6 @@ function main() {
|
||||
foo();
|
||||
|
||||
set_error_handler('error_handler');
|
||||
$x = FakeConstant;
|
||||
return FakeConstant;
|
||||
}
|
||||
main();
|
||||
|
||||
@@ -5,6 +5,7 @@ function id($x) { return $x; }
|
||||
class Foo {
|
||||
public function hi() {
|
||||
$bad = new Tracer();
|
||||
return $bad !== null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ array(3) {
|
||||
["file"]=>
|
||||
string(%d) "%s"
|
||||
["line"]=>
|
||||
int(18)
|
||||
int(19)
|
||||
["function"]=>
|
||||
string(2) "hi"
|
||||
["class"]=>
|
||||
@@ -39,7 +39,7 @@ array(3) {
|
||||
["file"]=>
|
||||
string(%d) "%s"
|
||||
["line"]=>
|
||||
int(20)
|
||||
int(21)
|
||||
["function"]=>
|
||||
string(4) "main"
|
||||
["args"]=>
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário