Browse Source

Merge branch 'PHP-7.3'

pull/3507/head
Nikita Popov 8 years ago
parent
commit
2ae2e820be
  1. 6
      Zend/tests/bug43344_3.phpt
  2. 6
      Zend/tests/bug43344_4.phpt
  3. 6
      Zend/tests/bug43344_5.phpt
  4. 6
      Zend/tests/class_constants_002.phpt
  5. 2
      Zend/zend_compile.c
  6. 5
      tests/classes/constants_error_004.phpt

6
Zend/tests/bug43344_3.phpt

@ -9,4 +9,8 @@ function f($a=Foo::bar) {
echo f()."\n";
?>
--EXPECTF--
Fatal error: Class 'Foo\Foo' not found in %sbug43344_3.php on line %d
Fatal error: Uncaught Error: Class 'Foo\Foo' not found in %s:%d
Stack trace:
#0 %s(%d): Foo\f()
#1 {main}
thrown in %s on line %d

6
Zend/tests/bug43344_4.phpt

@ -9,4 +9,8 @@ function f($a=array(Foo::bar)) {
echo f()."\n";
?>
--EXPECTF--
Fatal error: Class 'Foo\Foo' not found in %sbug43344_4.php on line %d
Fatal error: Uncaught Error: Class 'Foo\Foo' not found in %s:%d
Stack trace:
#0 %s(%d): Foo\f()
#1 {main}
thrown in %s on line %d

6
Zend/tests/bug43344_5.phpt

@ -10,4 +10,8 @@ function f($a=array(Foo::bar=>0)) {
echo f()."\n";
?>
--EXPECTF--
Fatal error: Class 'Foo\Foo' not found in %sbug43344_5.php on line %d
Fatal error: Uncaught Error: Class 'Foo\Foo' not found in %s:%d
Stack trace:
#0 %s(%d): Foo\f()
#1 {main}
thrown in %s on line %d

6
Zend/tests/class_constants_002.phpt

@ -28,4 +28,8 @@ int(1)
int(5)
int(10)
Fatal error: Class 'NoSuchClass' not found in %s on line %d
Fatal error: Uncaught Error: Class 'NoSuchClass' not found in %s:%d
Stack trace:
#0 %s(%d): bar()
#1 {main}
thrown in %s on line %d

2
Zend/zend_compile.c

@ -7929,7 +7929,7 @@ void zend_compile_const_expr_class_const(zend_ast **ast_ptr) /* {{{ */
zend_ast_destroy(ast);
zend_string_release_ex(class_name, 0);
*ast_ptr = zend_ast_create_constant(name, fetch_type);
*ast_ptr = zend_ast_create_constant(name, fetch_type | ZEND_FETCH_CLASS_EXCEPTION);
}
/* }}} */

5
tests/classes/constants_error_004.phpt

@ -10,4 +10,7 @@ Class constant whose initial value references a non-existent class
$a = new C();
?>
--EXPECTF--
Fatal error: Class 'D' not found in %s on line %d
Fatal error: Uncaught Error: Class 'D' not found in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
Loading…
Cancel
Save