diff --git a/Zend/tests/gh16514.phpt b/Zend/tests/gh16514.phpt new file mode 100644 index 000000000000..9e19160a6861 --- /dev/null +++ b/Zend/tests/gh16514.phpt @@ -0,0 +1,55 @@ +--TEST-- +GH-16514: Nested generator in zend_test observer +--INI-- +zend_test.observer.enabled=1 +zend_test.observer.show_init_backtrace=1 +--FILE-- + +--EXPECTF-- + + + + + + + + + + +#0 %s(%d): Foo->__destruct() +#1 %s(%d): bar() diff --git a/ext/zend_test/observer.c b/ext/zend_test/observer.c index 658498675603..f22061b169b6 100644 --- a/ext/zend_test/observer.c +++ b/ext/zend_test/observer.c @@ -20,6 +20,7 @@ #include "zend_observer.h" #include "zend_smart_str.h" #include "ext/standard/php_var.h" +#include "zend_generators.h" static zend_observer_fcall_handlers observer_fcall_init(zend_execute_data *execute_data); @@ -163,6 +164,11 @@ static void observer_show_init_backtrace(zend_execute_data *execute_data) zend_execute_data *ex = execute_data; php_printf("%*s