php-src/Zend/tests/inheritance
Arnaud Le Blanc 7b3e68ff69
Fix error handling inconsistency with opcache
When opcache is enabled, error handling is altered in the following ways:

 * Errors emitted during compilation bypass the user-defined error handler
 * Exceptions emitted during class linking are turned into fatal errors

Changes here make the behavior consistent regardless of opcache being enabled or
not:

 * Errors emitted during compilation and class linking are always delayed and
   handled after compilation or class linking. During handling, user-defined
   error handlers are not bypassed. Fatal errors emitted during compilation or
   class linking cause any delayed errors to be handled immediately (without
   calling user-defined error handlers, as it would be unsafe).
 * Exceptions thrown by user-defined error handlers when handling class linking
   error are not promoted to fatal errors anymore and do not prevent linking.

Fixes GH-17422.
Closes GH-18541.
Closes GH-17627.

Co-authored-by: Tim Düsterhus <tim@bastelstu.be>
2025-07-27 11:01:49 +02:00
..
abstract_inheritance_001.phpt
abstract_inheritance_002.phpt
abstract_inheritance_003.phpt
argument_restriction_001.phpt
argument_restriction_002.phpt
argument_restriction_003.phpt
argument_restriction_004.phpt
argument_restriction_005.phpt
argument_restriction_006.phpt
bug22725.phpt
bug29674.phpt
bug29689.phpt
bug30451.phpt
bug33277.phpt
bug37212.phpt
bug37632.phpt
bug38772.phpt
bug39721.phpt
bug41961.phpt
bug42211.phpt
bug43200.phpt
bug43200_2.phpt
bug43703.phpt
bug44141.phpt
bug44414.phpt
bug48215.phpt
bug48215_2.phpt
bug50810.phpt
bug53727.phpt
bug60161.phpt
bug60444.phpt
bug61761.phpt
bug62609.phpt
bug62609_2.phpt
bug62814.phpt
bug62956.phpt
bug63468.phpt
bug63816.phpt
bug66286.phpt
bug70873.phpt
bug70957.phpt Fix self inheritance type checks for traits 2025-04-22 17:52:43 +02:00
bug70997.phpt
bug71248.phpt
bug71414.phpt
bug71428.1.phpt
bug71428.2.phpt
bug71428.3.phpt
bug72119.phpt
bug72496.phpt
bug73987.phpt
bug73987_1.phpt
bug73987_2.phpt
bug73987_3.phpt
bug78344.phpt
bug79862.phpt
bug80126.phpt
bug80126_2.phpt
bug80391.phpt
constructor_abstract_grantparent.phpt
deprecation_to_exception_during_inheritance.phpt Fix error handling inconsistency with opcache 2025-07-27 11:01:49 +02:00
deprecation_to_exception_during_inheritance_can_be_caught.phpt Fix error handling inconsistency with opcache 2025-07-27 11:01:49 +02:00
gh9407.phpt
gh15907.phpt Fix error handling inconsistency with opcache 2025-07-27 11:01:49 +02:00
gh16508.phpt Fix INI setting requirements for test with opcache 2025-05-22 14:18:41 +01:00
grandparent_prototype.phpt
inherit_internal_static.phpt
interface_constructor_prototype_001.phpt
interface_constructor_prototype_002.phpt
unused_shared_static_variables.phpt
update_consts_shadowed_private_prop.phpt