Signature stubs for internal functions are specified in xyz.stub.php,
from which we generate actual arginfo structures in xyz_arginfo.h.
This file then needs to be included in the implementation appropriately.
Arginfo from stubs can be regenerated using scripts/dev/gen_stub.php.
However, this should also automatically happen when the stub file is
modified.
The strcoll function is defined in the C89 standard and should be
on today's systems always available via the <string.h> header.
https://port70.net/~nsz/c/c89/c89-draft.html#4.11.4.3
- Remove also SKIPIF strcoll check in test
RFC: https://wiki.php.net/rfc/tostring_exceptions
And convert some object to string conversion related recoverable
fatal errors into Error exceptions.
Improve exception safety of internal code performing string
conversions.
This allows writing
array_merge(...$arrays)
instead of
array_merge([], ...$arrays)
and is in line with similar changes to array_push() and array_unshift()
in PHP 7.3.
Closes GH-4175.
Just the first few functions in basic_functions.c to get started.
If anyone is interested in continuing this, PRs to add type info
will be accepted against master, with the following caveats:
* Return types only, we are not ready to add argument types yet.
* Only for functions. For methods the addition of return types is
BC breaking and needs to be carefully considered.
* Only in cases where we can actually express the return type, we
don't have int|false and similar.
And fix incorrect variable shadowing in add_config_entry(). However,
the test doesn't hit this case, as it requires a nested array. I'm
not sure if it's possible to produce nested arrays from ini?
And fix incorrect variable shadowing in add_config_entry(). However,
the test doesn't hit this case, as it requires a nested array. I'm
not sure if it's possible to produce nested arrays from ini?