1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

Merge branch 'PHP-8.4'

* PHP-8.4:
  Fix lineno for inheritance errors of early bound classes
This commit is contained in:
Ilija Tovilo
2024-10-22 15:17:36 +02:00
2 changed files with 22 additions and 0 deletions

20
Zend/tests/gh16508.phpt Normal file
View File

@@ -0,0 +1,20 @@
--TEST--
GH-16508: Missing lineno in inheritance errors of delayed early bound classes
--EXTENSIONS--
opcache
--INI--
opcache.enable_cli=1
--FILE--
<?php
new Test2;
class Test2 extends Test {}
abstract class Test {
abstract function foo();
}
?>
--EXPECTF--
Fatal error: Class Test2 contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Test::foo) in %s on line 5

View File

@@ -3849,6 +3849,8 @@ ZEND_API zend_class_entry *zend_try_early_bind(zend_class_entry *ce, zend_class_
CG(current_linking_class) = is_cacheable ? ce : NULL;
zend_try{
CG(zend_lineno) = ce->info.user.line_start;
if (is_cacheable) {
zend_begin_record_errors();
}