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

Allow CTE on more CTE safe functions (#10771)

This commit is contained in:
Michael Voříšek
2023-05-16 20:54:26 +02:00
committed by nielsdos
parent 727e26f9f2
commit bd03c0343e
7 changed files with 175 additions and 62 deletions

View File

@@ -45,12 +45,14 @@ function hash_copy(HashContext $context): HashContext {}
/**
* @return array<int, string>
* @compile-time-eval
* @refcount 1
*/
function hash_algos(): array {}
/**
* @return array<int, string>
* @compile-time-eval
* @refcount 1
*/
function hash_hmac_algos(): array {}

View File

@@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead.
* Stub hash: 7168b9b3d1422d4f8ff9270c5de2f42988a55811 */
* Stub hash: 8838801d9789d4b77d57b290d993ee37784bbd1f */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_hash, 0, 2, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, algo, IS_STRING, 0)
@@ -179,8 +179,8 @@ static const zend_function_entry ext_functions[] = {
ZEND_FE(hash_update_file, arginfo_hash_update_file)
ZEND_FE(hash_final, arginfo_hash_final)
ZEND_FE(hash_copy, arginfo_hash_copy)
ZEND_FE(hash_algos, arginfo_hash_algos)
ZEND_FE(hash_hmac_algos, arginfo_hash_hmac_algos)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(hash_algos, arginfo_hash_algos)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(hash_hmac_algos, arginfo_hash_hmac_algos)
ZEND_FE(hash_pbkdf2, arginfo_hash_pbkdf2)
ZEND_FE(hash_equals, arginfo_hash_equals)
ZEND_FE(hash_hkdf, arginfo_hash_hkdf)

View File

@@ -1660,6 +1660,9 @@ function array_unshift(array &$array, mixed ...$values): int {}
function array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array {}
/**
* @compile-time-eval
*/
function array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array {}
/**
@@ -1708,14 +1711,21 @@ function array_values(array $array): array {}
/**
* @return array<int|string, int>
* @compile-time-eval
* @refcount 1
*/
function array_count_values(array $array): array {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function array_reverse(array $array, bool $preserve_keys = false): array {}
function array_pad(array $array, int $length, mixed $value): array {}
@@ -1844,8 +1854,14 @@ function array_multisort(&$array, &...$rest): bool {}
/** @return int|string|array<int, int|string> */
function array_rand(array $array, int $num = 1): int|string|array {}
/**
* @compile-time-eval
*/
function array_sum(array $array): int|float {}
/**
* @compile-time-eval
*/
function array_product(array $array): int|float {}
function array_reduce(array $array, callable $callback, mixed $initial = null): mixed {}
@@ -1866,8 +1882,14 @@ function array_key_exists($key, array $array): bool {}
*/
function key_exists($key, array $array): bool {}
/**
* @compile-time-eval
*/
function array_chunk(array $array, int $length, bool $preserve_keys = false): array {}
/**
* @compile-time-eval
*/
function array_combine(array $keys, array $values): array {}
/** @compile-time-eval */
@@ -2033,6 +2055,7 @@ function parse_ini_file(string $filename, bool $process_sections = false, int $s
/**
* @return array<int|string, bool|int|float|string|array|null>|false
* @compile-time-eval
* @refcount 1
*/
function parse_ini_string(string $ini_string, bool $process_sections = false, int $scanner_mode = INI_SCANNER_NORMAL): array|false {}
@@ -2261,8 +2284,14 @@ function bin2hex(string $string): string {}
*/
function hex2bin(string $string): string|false {}
/**
* @compile-time-eval
*/
function strspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
/**
* @compile-time-eval
*/
function strcspn(string $string, string $characters, int $offset = 0, ?int $length = null): int {}
#ifdef HAVE_NL_LANGINFO
@@ -2284,7 +2313,10 @@ function chop(string $string, string $characters = " \n\r\t\v\0"): string {}
/** @compile-time-eval */
function ltrim(string $string, string $characters = " \n\r\t\v\0"): string {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function wordwrap(string $string, int $width = 75, string $break = "\n", bool $cut_long_words = false): string {}
/**
@@ -2302,7 +2334,10 @@ function implode(string|array $separator, ?array $array = null): string {}
/** @alias implode */
function join(string|array $separator, ?array $array = null): string {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function strtok(string $string, ?string $token = null): string|false {}
/** @compile-time-eval */
@@ -2323,7 +2358,10 @@ function dirname(string $path, int $levels = 1): string {}
*/
function pathinfo(string $path, int $flags = PATHINFO_ALL): array|string {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function stristr(string $haystack, string $needle, bool $before_needle = false): string|false {}
/**
@@ -2347,7 +2385,10 @@ function strrpos(string $haystack, string $needle, int $offset = 0): int|false {
/** @compile-time-eval */
function strripos(string $haystack, string $needle, int $offset = 0): int|false {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function strrchr(string $haystack, string $needle): string|false {}
/** @compile-time-eval */
@@ -2359,16 +2400,25 @@ function str_starts_with(string $haystack, string $needle): bool {}
/** @compile-time-eval */
function str_ends_with(string $haystack, string $needle): bool {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function chunk_split(string $string, int $length = 76, string $separator = "\r\n"): string {}
/** @compile-time-eval */
function substr(string $string, int $offset, ?int $length = null): string {}
/** @return string|array<int|string, string> */
/**
* @return string|array<int|string, string>
* @compile-time-eval
*/
function substr_replace(array|string $string, array|string $replace, array|int $offset, array|int|null $length = null): string|array {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function quotemeta(string $string): string {}
/** @compile-time-eval */
@@ -2392,6 +2442,9 @@ function lcfirst(string $string): string {}
*/
function ucwords(string $string, string $separators = " \t\r\n\f\v"): string {}
/**
* @compile-time-eval
*/
function strtr(string $string, string|array $from, ?string $to = null): string {}
/**
@@ -2403,14 +2456,26 @@ function strrev(string $string): string {}
/** @param float $percent */
function similar_text(string $string1, string $string2, &$percent = null): int {}
/**
* @compile-time-eval
*/
function addcslashes(string $string, string $characters): string {}
/**
* @compile-time-eval
*/
function addslashes(string $string): string {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function stripcslashes(string $string): string {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function stripslashes(string $string): string {}
/**
@@ -2430,9 +2495,15 @@ function str_ireplace(array|string $search, array|string $replace, string|array
/** @refcount 1 */
function hebrev(string $string, int $max_chars_per_line = 0): string {}
/**
* @compile-time-eval
*/
function nl2br(string $string, bool $use_xhtml = true): string {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function strip_tags(string $string, array|string|null $allowed_tags = null): string {}
/**
@@ -2455,6 +2526,7 @@ function str_repeat(string $string, int $times): string {}
/**
* @return array<int, int>|string
* @compile-time-eval
* @refcount 1
*/
function count_chars(string $string, int $mode = 0): array|string {}
@@ -2469,6 +2541,9 @@ function localeconv(): array {}
function strnatcasecmp(string $string1, string $string2): int {}
/**
* @compile-time-eval
*/
function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int {}
function str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT): string {}
@@ -2479,7 +2554,10 @@ function str_pad(string $string, int $length, string $pad_string = " ", int $pad
*/
function sscanf(string $string, string $format, mixed &...$vars): array|int|null {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function str_rot13(string $string): string {}
/** @refcount 1 */
@@ -2497,18 +2575,26 @@ function str_word_count(string $string, int $format = 0, ?string $characters = n
*/
function str_split(string $string, int $length = 1): array {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function strpbrk(string $string, string $characters): string|false {}
/**
* @compile-time-eval
*/
function substr_compare(string $haystack, string $needle, int $offset, ?int $length = null, bool $case_insensitive = false): int {}
/**
* @compile-time-eval
* @refcount 1
* @deprecated
*/
function utf8_encode(string $string): string {}
/**
* @compile-time-eval
* @refcount 1
* @deprecated
*/
@@ -2883,10 +2969,16 @@ function http_build_query(array|object $data, string $numeric_prefix = "", ?stri
/* image.c */
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function image_type_to_mime_type(int $image_type): string {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function image_type_to_extension(int $image_type, bool $include_dot = true): string|false {}
/**
@@ -3165,6 +3257,9 @@ function password_needs_rehash(string $hash, string|int|null $algo, array $optio
function password_verify(#[\SensitiveParameter] string $password, string $hash): bool {}
/**
* @compile-time-eval
*/
function password_algos(): array {}
/* proc_open.c */
@@ -3193,10 +3288,16 @@ function proc_get_status($process): array {}
/* quot_print.c */
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function quoted_printable_decode(string $string): string {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function quoted_printable_encode(string $string): string {}
/* soundex.c */
@@ -3527,6 +3628,7 @@ function uniqid(string $prefix = "", bool $more_entropy = false): string {}
/**
* @return int|string|array<string, int|string>|null|false
* @compile-time-eval
* @refcount 1
*/
function parse_url(string $url, int $component = -1): int|string|array|null|false {}
@@ -3592,10 +3694,16 @@ function stream_filter_register(string $filter_name, string $class): bool {}
/* uuencode.c */
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function convert_uuencode(string $string): string {}
/** @refcount 1 */
/**
* @compile-time-eval
* @refcount 1
*/
function convert_uudecode(string $string): string|false {}
/* var.c */

View File

@@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead.
* Stub hash: 0d2bffd95e986b632f5fd1afbf8f6464e6bc8759 */
* Stub hash: 9cc9c0954bd7032d363ce9a531be621274b9a7e2 */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
@@ -2876,7 +2876,7 @@ static const zend_function_entry ext_functions[] = {
ZEND_FE(array_shift, arginfo_array_shift)
ZEND_FE(array_unshift, arginfo_array_unshift)
ZEND_FE(array_splice, arginfo_array_splice)
ZEND_FE(array_slice, arginfo_array_slice)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_slice, arginfo_array_slice)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_merge, arginfo_array_merge)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_merge_recursive, arginfo_array_merge_recursive)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_replace, arginfo_array_replace)
@@ -2885,9 +2885,9 @@ static const zend_function_entry ext_functions[] = {
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_key_first, arginfo_array_key_first)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_key_last, arginfo_array_key_last)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_values, arginfo_array_values)
ZEND_FE(array_count_values, arginfo_array_count_values)
ZEND_FE(array_column, arginfo_array_column)
ZEND_FE(array_reverse, arginfo_array_reverse)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_count_values, arginfo_array_count_values)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_column, arginfo_array_column)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_reverse, arginfo_array_reverse)
ZEND_FE(array_pad, arginfo_array_pad)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_flip, arginfo_array_flip)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_change_key_case, arginfo_array_change_key_case)
@@ -2910,15 +2910,15 @@ static const zend_function_entry ext_functions[] = {
ZEND_FE(array_udiff_uassoc, arginfo_array_udiff_uassoc)
ZEND_FE(array_multisort, arginfo_array_multisort)
ZEND_FE(array_rand, arginfo_array_rand)
ZEND_FE(array_sum, arginfo_array_sum)
ZEND_FE(array_product, arginfo_array_product)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_sum, arginfo_array_sum)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_product, arginfo_array_product)
ZEND_FE(array_reduce, arginfo_array_reduce)
ZEND_FE(array_filter, arginfo_array_filter)
ZEND_FE(array_map, arginfo_array_map)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_key_exists, arginfo_array_key_exists)
ZEND_FALIAS(key_exists, array_key_exists, arginfo_key_exists)
ZEND_FE(array_chunk, arginfo_array_chunk)
ZEND_FE(array_combine, arginfo_array_combine)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_chunk, arginfo_array_chunk)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_combine, arginfo_array_combine)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(array_is_list, arginfo_array_is_list)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(base64_encode, arginfo_base64_encode)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(base64_decode, arginfo_base64_decode)
@@ -2982,7 +2982,7 @@ static const zend_function_entry ext_functions[] = {
ZEND_FE(is_uploaded_file, arginfo_is_uploaded_file)
ZEND_FE(move_uploaded_file, arginfo_move_uploaded_file)
ZEND_FE(parse_ini_file, arginfo_parse_ini_file)
ZEND_FE(parse_ini_string, arginfo_parse_ini_string)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(parse_ini_string, arginfo_parse_ini_string)
#if ZEND_DEBUG
ZEND_FE(config_get_hash, arginfo_config_get_hash)
#endif
@@ -3064,8 +3064,8 @@ static const zend_function_entry ext_functions[] = {
ZEND_FE(assert_options, arginfo_assert_options)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(bin2hex, arginfo_bin2hex)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(hex2bin, arginfo_hex2bin)
ZEND_FE(strspn, arginfo_strspn)
ZEND_FE(strcspn, arginfo_strcspn)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strspn, arginfo_strspn)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strcspn, arginfo_strcspn)
#if defined(HAVE_NL_LANGINFO)
ZEND_FE(nl_langinfo, arginfo_nl_langinfo)
#endif
@@ -3074,65 +3074,65 @@ static const zend_function_entry ext_functions[] = {
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(rtrim, arginfo_rtrim)
ZEND_FALIAS(chop, rtrim, arginfo_chop)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(ltrim, arginfo_ltrim)
ZEND_FE(wordwrap, arginfo_wordwrap)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(wordwrap, arginfo_wordwrap)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(explode, arginfo_explode)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(implode, arginfo_implode)
ZEND_FALIAS(join, implode, arginfo_join)
ZEND_FE(strtok, arginfo_strtok)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strtok, arginfo_strtok)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strtoupper, arginfo_strtoupper)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strtolower, arginfo_strtolower)
ZEND_FE(basename, arginfo_basename)
ZEND_FE(dirname, arginfo_dirname)
ZEND_FE(pathinfo, arginfo_pathinfo)
ZEND_FE(stristr, arginfo_stristr)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(stristr, arginfo_stristr)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strstr, arginfo_strstr)
ZEND_FALIAS(strchr, strstr, arginfo_strchr)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strpos, arginfo_strpos)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(stripos, arginfo_stripos)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strrpos, arginfo_strrpos)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strripos, arginfo_strripos)
ZEND_FE(strrchr, arginfo_strrchr)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strrchr, arginfo_strrchr)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(str_contains, arginfo_str_contains)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(str_starts_with, arginfo_str_starts_with)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(str_ends_with, arginfo_str_ends_with)
ZEND_FE(chunk_split, arginfo_chunk_split)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(chunk_split, arginfo_chunk_split)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(substr, arginfo_substr)
ZEND_FE(substr_replace, arginfo_substr_replace)
ZEND_FE(quotemeta, arginfo_quotemeta)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(substr_replace, arginfo_substr_replace)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(quotemeta, arginfo_quotemeta)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(ord, arginfo_ord)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(chr, arginfo_chr)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(ucfirst, arginfo_ucfirst)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(lcfirst, arginfo_lcfirst)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(ucwords, arginfo_ucwords)
ZEND_FE(strtr, arginfo_strtr)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strtr, arginfo_strtr)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strrev, arginfo_strrev)
ZEND_FE(similar_text, arginfo_similar_text)
ZEND_FE(addcslashes, arginfo_addcslashes)
ZEND_FE(addslashes, arginfo_addslashes)
ZEND_FE(stripcslashes, arginfo_stripcslashes)
ZEND_FE(stripslashes, arginfo_stripslashes)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(addcslashes, arginfo_addcslashes)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(addslashes, arginfo_addslashes)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(stripcslashes, arginfo_stripcslashes)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(stripslashes, arginfo_stripslashes)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(str_replace, arginfo_str_replace)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(str_ireplace, arginfo_str_ireplace)
ZEND_FE(hebrev, arginfo_hebrev)
ZEND_FE(nl2br, arginfo_nl2br)
ZEND_FE(strip_tags, arginfo_strip_tags)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(nl2br, arginfo_nl2br)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strip_tags, arginfo_strip_tags)
ZEND_FE(setlocale, arginfo_setlocale)
ZEND_FE(parse_str, arginfo_parse_str)
ZEND_FE(str_getcsv, arginfo_str_getcsv)
ZEND_FE(str_repeat, arginfo_str_repeat)
ZEND_FE(count_chars, arginfo_count_chars)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(count_chars, arginfo_count_chars)
ZEND_FE(strnatcmp, arginfo_strnatcmp)
ZEND_FE(localeconv, arginfo_localeconv)
ZEND_FE(strnatcasecmp, arginfo_strnatcasecmp)
ZEND_FE(substr_count, arginfo_substr_count)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(substr_count, arginfo_substr_count)
ZEND_FE(str_pad, arginfo_str_pad)
ZEND_FE(sscanf, arginfo_sscanf)
ZEND_FE(str_rot13, arginfo_str_rot13)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(str_rot13, arginfo_str_rot13)
ZEND_FE(str_shuffle, arginfo_str_shuffle)
ZEND_FE(str_word_count, arginfo_str_word_count)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(str_split, arginfo_str_split)
ZEND_FE(strpbrk, arginfo_strpbrk)
ZEND_FE(substr_compare, arginfo_substr_compare)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(strpbrk, arginfo_strpbrk)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(substr_compare, arginfo_substr_compare)
ZEND_DEP_FE(utf8_encode, arginfo_utf8_encode)
ZEND_DEP_FE(utf8_decode, arginfo_utf8_decode)
ZEND_FE(opendir, arginfo_opendir)
@@ -3245,8 +3245,8 @@ static const zend_function_entry ext_functions[] = {
ZEND_FE(fsockopen, arginfo_fsockopen)
ZEND_FE(pfsockopen, arginfo_pfsockopen)
ZEND_FE(http_build_query, arginfo_http_build_query)
ZEND_FE(image_type_to_mime_type, arginfo_image_type_to_mime_type)
ZEND_FE(image_type_to_extension, arginfo_image_type_to_extension)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(image_type_to_mime_type, arginfo_image_type_to_mime_type)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(image_type_to_extension, arginfo_image_type_to_extension)
ZEND_FE(getimagesize, arginfo_getimagesize)
ZEND_FE(getimagesizefromstring, arginfo_getimagesizefromstring)
ZEND_FE(phpinfo, arginfo_phpinfo)
@@ -3329,7 +3329,7 @@ static const zend_function_entry ext_functions[] = {
ZEND_FE(password_hash, arginfo_password_hash)
ZEND_FE(password_needs_rehash, arginfo_password_needs_rehash)
ZEND_FE(password_verify, arginfo_password_verify)
ZEND_FE(password_algos, arginfo_password_algos)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(password_algos, arginfo_password_algos)
#if defined(PHP_CAN_SUPPORT_PROC_OPEN)
ZEND_FE(proc_open, arginfo_proc_open)
#endif
@@ -3342,8 +3342,8 @@ static const zend_function_entry ext_functions[] = {
#if defined(PHP_CAN_SUPPORT_PROC_OPEN)
ZEND_FE(proc_get_status, arginfo_proc_get_status)
#endif
ZEND_FE(quoted_printable_decode, arginfo_quoted_printable_decode)
ZEND_FE(quoted_printable_encode, arginfo_quoted_printable_encode)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(quoted_printable_decode, arginfo_quoted_printable_decode)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(quoted_printable_encode, arginfo_quoted_printable_encode)
ZEND_FE(soundex, arginfo_soundex)
ZEND_FE(stream_select, arginfo_stream_select)
ZEND_FE(stream_context_create, arginfo_stream_context_create)
@@ -3422,7 +3422,7 @@ static const zend_function_entry ext_functions[] = {
#if defined(HAVE_GETTIMEOFDAY)
ZEND_FE(uniqid, arginfo_uniqid)
#endif
ZEND_FE(parse_url, arginfo_parse_url)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(parse_url, arginfo_parse_url)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(urlencode, arginfo_urlencode)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(urldecode, arginfo_urldecode)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(rawurlencode, arginfo_rawurlencode)
@@ -3434,8 +3434,8 @@ static const zend_function_entry ext_functions[] = {
ZEND_FE(stream_bucket_new, arginfo_stream_bucket_new)
ZEND_FE(stream_get_filters, arginfo_stream_get_filters)
ZEND_FE(stream_filter_register, arginfo_stream_filter_register)
ZEND_FE(convert_uuencode, arginfo_convert_uuencode)
ZEND_FE(convert_uudecode, arginfo_convert_uudecode)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(convert_uuencode, arginfo_convert_uuencode)
ZEND_SUPPORTS_COMPILE_TIME_EVAL_FE(convert_uudecode, arginfo_convert_uudecode)
ZEND_FE(var_dump, arginfo_var_dump)
ZEND_FE(var_export, arginfo_var_export)
ZEND_FE(debug_zval_dump, arginfo_debug_zval_dump)

View File

@@ -5,6 +5,7 @@ zend_test
--INI--
zend_test.observer.enabled=1
zend_test.observer.observe_all=1
opcache.optimization_level=0x7FFFBFFF & ~0x0080
--FILE--
<?php
function bar()

View File

@@ -5,6 +5,7 @@ zend_test
--INI--
zend_test.observer.enabled=1
zend_test.observer.observe_all=1
opcache.optimization_level=0x7FFFBFFF & ~0x0080
--FILE--
<?php
class TestClass

View File

@@ -5,6 +5,7 @@ zend_test
--INI--
zend_test.observer.enabled=1
zend_test.observer.observe_all=1
opcache.optimization_level=0x7FFFBFFF & ~0x0080
--FILE--
<?php
$bar = function() {