GCC complained about potentially uninitialized __orig_bailout,
even though the variable has an initializer. This warning was
quite persistent, I was only able to avoid it by using a separate
function.
Am I missing something?
Formerly, the error message was like:
| Can't preload unlinked class MyException: Internal parent (Windows
| only limitation)Exception
Now it's like:
| Can't preload unlinked class MyException: Windows can't link to
| internal parent Exception
During preloading, check that all classes that have been included
as part of the preload script itself (rather than through opcache_compile_file)
can actually be preloaded, i.e. satisfy Windows restrictions, have
resolved initializers and resolved property types. When resolving
initializers and property types, also autoload additional classes.
Because of this, the resolution runs in a loop.
As far as I can determine, this is no longer a problem: We will
not try to remove the defining instructions (this is only done if
the value is known by SCCP itself) and we also only determine
non-refcounted values in this way, so it is not a problem if the
FREE is omitted.
See UPGRADING:
> . The GD extension now uses objects as the underlying data structure for
> images, rather than resources. These objects are completely opaque, i.e.
> they don't have any methods.
Remove types which are no longer in Reflection due to throwing instead of
emitting warnings.
Remove entries where reference counts are 0 and types are duplicated.
Closes GH-4967.
Remove functions such as filter_id() where reference counts and types are
identical to what's in opcache.
Remove null types from zend_func_info.c that aren't in Reflection
(php would throw now)
Fix the Reflection type information for assert_options()
php > assert_options(ASSERT_CALLBACK, static function() {});
php > var_export(assert_options(ASSERT_CALLBACK));
Closure::__set_state(array(
))
Closes GH-4958.
Currently this error emits something like...
`Error Cannot kill process 12345: Success!`
...due to calling `time` before `strerror` which clears `errno`. This
patch adds an error log immediately after both `kill` calls which gives
us better indication of what exactly failed.