Skip to content

Commit e4a7ef0

Browse files
committed
Merge branch 'master' into preload
* master: (29 commits) Make php_plain_files_wrapper to be writable (workaround for swoole) Remove phpdbg parser files generated by bison Fix conflicts in phpdbg parser Refetetch function name on exceptional path to allow better code on fast code path. fix typo in sysvsem.c Fixed bug #50675 bump to 7.2.13-dev [ci skip] Update NEWS wrt. php-7.3.0RC4 tagging Inlining in the most frequently used code paths Fixed test failurs introduced by 9c144e0 Use persistent strings only for persistent connections Fix accessibility checks for dynamic properties Updated to version 2018.6 (2018f) Updated to version 2018.6 (2018f) Updated to version 2018.6 (2018f) Fix arginfo and clean up fpm_get_status Defragment two Zend related Makefile fragments together [ci skip] Remove automake and aclocal in comments Fix #75282: xmlrpc_encode_request() crashes Fix tests for ICU 63.1 ...
2 parents 811f20a + d1e14e2 commit e4a7ef0

File tree

90 files changed

+524
-2541
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+524
-2541
lines changed

.gitattributes

Lines changed: 20 additions & 159 deletions
Original file line numberDiff line numberDiff line change
@@ -1,159 +1,20 @@
1-
ext/mysqlnd/mysqlnd.h ident
2-
ext/ext_skel.php ident
3-
ext/phar/phar/pharcommand.inc ident
4-
ext/dba/libinifile/inifile.c ident
5-
ext/dba/libflatfile/flatfile.c ident
6-
ext/dba/libcdb/cdb_make.c ident
7-
ext/dba/libcdb/cdb.c ident
8-
run-tests.php ident
9-
NEWS merge=NEWS
10-
UPGRADING merge=NEWS
11-
UPGRADING.INTERNALS merge=NEWS
12-
/ext/bz2/tests/with_strings.phpt -crlf
13-
/ext/dom/tests/bug40836.phpt -crlf
14-
/ext/dom/tests/domelement.phpt -crlf
15-
/ext/iconv/tests/iconv004.phpt -crlf
16-
/ext/iconv/tests/iconv_basic.phpt -crlf
17-
/ext/iconv/tests/iconv_strpos.phpt -crlf
18-
/ext/iconv/tests/iconv_strpos_variation2.phpt -crlf
19-
/ext/mbstring/tests/mb_strtoupper_error2.phpt -crlf
20-
/ext/phar/tests/delete_in_phar_confirm.phpt -crlf
21-
/ext/phar/tests/frontcontroller12.phpt -crlf
22-
/ext/phar/tests/security.phpt -crlf
23-
/ext/phar/tests/test_signaturealgos.phpt -crlf
24-
/ext/reflection/tests/ReflectionMethod_invokeArgs_basic.phpt -crlf
25-
/ext/reflection/tests/ReflectionProperty_getModifiers_basic.phpt -crlf
26-
/ext/spl/tests/dllist_007.phpt -crlf
27-
/ext/spl/tests/iterator_012.phpt -crlf
28-
/ext/spl/tests/SplArray_fromArray.phpt -crlf
29-
/ext/standard/tests/dir/scandir_variation3.phpt -crlf
30-
/ext/standard/tests/general_functions/escapeshellcmd-win32.phpt -crlf
31-
/ext/standard/tests/strings/bug26817.phpt -crlf
32-
/ext/standard/tests/strings/bug26973.phpt -crlf
33-
/ext/standard/tests/strings/bug27457.phpt -crlf
34-
/ext/standard/tests/strings/bug28386.phpt -crlf
35-
/ext/standard/tests/strings/bug37262.phpt -crlf
36-
/ext/standard/tests/strings/bug40637.phpt -crlf
37-
/ext/standard/tests/strings/bug40915.phpt -crlf
38-
/ext/standard/tests/strings/bug61374.phpt -crlf
39-
/ext/standard/tests/strings/chop_error.phpt -crlf
40-
/ext/standard/tests/strings/chop_variation2.phpt -crlf
41-
/ext/standard/tests/strings/chunk_split_variation10.phpt -crlf
42-
/ext/standard/tests/strings/chunk_split_variation8.phpt -crlf
43-
/ext/standard/tests/strings/count_chars_variation2.phpt -crlf
44-
/ext/standard/tests/strings/dirname_error.phpt -crlf
45-
/ext/standard/tests/strings/fprintf_variation_007_64bit.phpt -crlf
46-
/ext/standard/tests/strings/highlight_file.phpt -crlf
47-
/ext/standard/tests/strings/htmlentities03.phpt -crlf
48-
/ext/standard/tests/strings/htmlentities04.phpt -crlf
49-
/ext/standard/tests/strings/htmlentities08.phpt -crlf
50-
/ext/standard/tests/strings/htmlentities15.phpt -crlf
51-
/ext/standard/tests/strings/http_build_query.phpt -crlf
52-
/ext/standard/tests/strings/metaphone.phpt -crlf
53-
/ext/standard/tests/strings/ord_error.phpt -crlf
54-
/ext/standard/tests/strings/printf_basic2.phpt -crlf
55-
/ext/standard/tests/strings/printf_variation2.phpt -crlf
56-
/ext/standard/tests/strings/quoted_printable_decode_basic.phpt -crlf
57-
/ext/standard/tests/strings/rtrim.phpt -crlf
58-
/ext/standard/tests/strings/setlocale_variation1.phpt -crlf
59-
/ext/standard/tests/strings/sha1_basic.phpt -crlf
60-
/ext/standard/tests/strings/similar_text_basic.phpt -crlf
61-
/ext/standard/tests/strings/soundex.phpt -crlf
62-
/ext/standard/tests/strings/sprintf_basic1.phpt -crlf
63-
/ext/standard/tests/strings/sprintf_basic4.phpt -crlf
64-
/ext/standard/tests/strings/sprintf_basic7.phpt -crlf
65-
/ext/standard/tests/strings/sprintf_variation12.phpt -crlf
66-
/ext/standard/tests/strings/sprintf_variation28.phpt -crlf
67-
/ext/standard/tests/strings/sprintf_variation29.phpt -crlf
68-
/ext/standard/tests/strings/sprintf_variation30.phpt -crlf
69-
/ext/standard/tests/strings/sprintf_variation31.phpt -crlf
70-
/ext/standard/tests/strings/sprintf_variation38.phpt -crlf
71-
/ext/standard/tests/strings/sprintf_variation42.phpt -crlf
72-
/ext/standard/tests/strings/sprintf_variation6.phpt -crlf
73-
/ext/standard/tests/strings/sscanf_basic2.phpt -crlf
74-
/ext/standard/tests/strings/sscanf_basic3.phpt -crlf
75-
/ext/standard/tests/strings/str_getcsv_001.phpt -crlf
76-
/ext/standard/tests/strings/stripcslashes_basic.phpt -crlf
77-
/ext/standard/tests/strings/stripos_variation11.phpt -crlf
78-
/ext/standard/tests/strings/stripos_variation13.phpt -crlf
79-
/ext/standard/tests/strings/stripslashes_variation1.phpt -crlf
80-
/ext/standard/tests/strings/stripslashes_variation2.phpt -crlf
81-
/ext/standard/tests/strings/stristr_error.phpt -crlf
82-
/ext/standard/tests/strings/strnatcasecmp_basic.phpt -crlf
83-
/ext/standard/tests/strings/strncasecmp_variation6.phpt -crlf
84-
/ext/standard/tests/strings/strncasecmp_variation7.phpt -crlf
85-
/ext/standard/tests/strings/strncasecmp_variation8.phpt -crlf
86-
/ext/standard/tests/strings/strrchr_error.phpt -crlf
87-
/ext/standard/tests/strings/strrchr.phpt -crlf
88-
/ext/standard/tests/strings/strrchr_variation11.phpt -crlf
89-
/ext/standard/tests/strings/strrpos_error.phpt -crlf
90-
/ext/standard/tests/strings/strrpos_variation4.phpt -crlf
91-
/ext/standard/tests/strings/strrpos_variation8.phpt -crlf
92-
/ext/standard/tests/strings/strstr2.phpt -crlf
93-
/ext/standard/tests/strings/strtok_error.phpt -crlf
94-
/ext/standard/tests/strings/strtok_variation2.phpt -crlf
95-
/ext/standard/tests/strings/strtolower-win32.phpt -crlf
96-
/ext/standard/tests/strings/substr_compare.phpt -crlf
97-
/ext/standard/tests/strings/ucwords_variation1.phpt -crlf
98-
/ext/standard/tests/strings/unpack.phpt -crlf
99-
/ext/standard/tests/strings/vfprintf_basic7_64bit.phpt -crlf
100-
/ext/standard/tests/strings/vfprintf_variation11_64bit.phpt -crlf
101-
/ext/standard/tests/strings/vfprintf_variation12_64bit.phpt -crlf
102-
/ext/standard/tests/strings/vfprintf_variation12.phpt -crlf
103-
/ext/standard/tests/strings/vfprintf_variation13_64bit.phpt -crlf
104-
/ext/standard/tests/strings/vfprintf_variation7.phpt -crlf
105-
/ext/standard/tests/strings/vprintf_basic2.phpt -crlf
106-
/ext/standard/tests/strings/vprintf_basic7_64bit.phpt -crlf
107-
/ext/standard/tests/strings/vprintf_variation10.phpt -crlf
108-
/ext/standard/tests/strings/vprintf_variation14_64bit.phpt -crlf
109-
/ext/standard/tests/strings/vprintf_variation17.phpt -crlf
110-
/ext/standard/tests/strings/vprintf_variation4.phpt -crlf
111-
/ext/standard/tests/strings/vsprintf_basic4.phpt -crlf
112-
/ext/standard/tests/strings/vsprintf_basic8.phpt -crlf
113-
/ext/standard/tests/strings/vsprintf_variation12_64bit.phpt -crlf
114-
/ext/standard/tests/strings/vsprintf_variation13_64bit.phpt -crlf
115-
/ext/standard/tests/strings/vsprintf_variation15_64bit.phpt -crlf
116-
/ext/standard/tests/strings/vsprintf_variation17.phpt -crlf
117-
/ext/standard/tests/strings/vsprintf_variation4_64bit.phpt -crlf
118-
/ext/standard/tests/strings/vsprintf_variation7.phpt -crlf
119-
/ext/standard/tests/strings/wordwrap.phpt -crlf
120-
/ext/standard/tests/strings/wordwrap_variation5.phpt -crlf
121-
/ext/standard/tests/url/rawurldecode_variation_001.phpt -crlf
122-
/ext/tidy/tests/009.phpt -crlf
123-
/ext/tidy/tests/013.phpt -crlf
124-
/ext/tidy/tests/021.phpt -crlf
125-
/ext/tidy/tests/tidy_error.phpt -crlf
126-
/ext/tokenizer/tests/002.phpt -crlf
127-
/ext/tokenizer/tests/bug26463.phpt -crlf
128-
/ext/tokenizer/tests/token_get_all_error.phpt -crlf
129-
/ext/tokenizer/tests/token_get_all_variation11.phpt -crlf
130-
/ext/tokenizer/tests/token_get_all_variation12.phpt -crlf
131-
/ext/tokenizer/tests/token_get_all_variation13.phpt -crlf
132-
/ext/tokenizer/tests/token_get_all_variation14.phpt -crlf
133-
/ext/tokenizer/tests/token_get_all_variation15.phpt -crlf
134-
/ext/tokenizer/tests/token_get_all_variation18.phpt -crlf
135-
/ext/tokenizer/tests/token_get_all_variation19.phpt -crlf
136-
/ext/tokenizer/tests/token_get_all_variation1.phpt -crlf
137-
/ext/tokenizer/tests/token_get_all_variation2.phpt -crlf
138-
/ext/tokenizer/tests/token_get_all_variation3.phpt -crlf
139-
/ext/tokenizer/tests/token_get_all_variation5.phpt -crlf
140-
/ext/tokenizer/tests/token_get_all_variation8.phpt -crlf
141-
/ext/xml/tests/bug32001b.phpt -crlf
142-
/ext/xmlwriter/tests/OO_003.phpt -crlf
143-
/ext/xmlwriter/tests/xmlwriter_write_attribute_ns_error_001.phpt -crlf
144-
/ext/zlib/tests/008.phpt -crlf
145-
/ext/zlib/tests/gzopen_variation4.phpt -crlf
146-
/ext/zlib/tests/gzrewind_error.phpt -crlf
147-
/ext/zlib/tests/readgzfile_variation7.phpt -crlf
148-
/ext/zlib/tests/readgzfile_variation8.phpt -crlf
149-
/ext/zlib/tests/zlib_scheme_stat_basic.phpt -crlf
150-
/sapi/cli/tests/006.phpt -crlf
151-
/tests/run-test/test009.phpt -crlf
152-
/Zend/tests/012.phpt -crlf
153-
/Zend/tests/bug28072.phpt -crlf
154-
/Zend/tests/bug38624.phpt -crlf
155-
/Zend/tests/bug40784.phpt -crlf
156-
/Zend/tests/bug43053.phpt -crlf
157-
/Zend/tests/bug51176.phpt -crlf
158-
/Zend/tests/each_003.phpt -crlf
159-
/Zend/tests/errmsg_006.phpt -crlf
1+
# Replace $Id$ strings with 40-character hexadecimal blob object name.
2+
/ext/mysqlnd/mysqlnd.h ident
3+
/ext/ext_skel.php ident
4+
/ext/phar/phar/pharcommand.inc ident
5+
/ext/dba/libinifile/inifile.c ident
6+
/ext/dba/libflatfile/flatfile.c ident
7+
/ext/dba/libcdb/cdb_make.c ident
8+
/ext/dba/libcdb/cdb.c ident
9+
/run-tests.php ident
10+
11+
# A custom merge driver to avoid automatic merges. These are manually merged.
12+
# See https://wiki.php.net/vcs/gitfaq
13+
/NEWS merge=NEWS
14+
/UPGRADING merge=NEWS
15+
/UPGRADING.INTERNALS merge=NEWS
16+
17+
# Enable commit diffs for binary PHP test files. Some PHP test files include
18+
# special characters, such as ASCII control characters. Git recognizes these as
19+
# binary and wouldn't generate diffs.
20+
*.phpt diff

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
*~
33
.#*
44
*.
5-
*.slo
65
*.mk
76
*.mem
87
*.gcda

Makefile.frag

Lines changed: 0 additions & 22 deletions
This file was deleted.

README.SELF-CONTAINED-EXTENSIONS

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ PREPARING YOUR SYSTEM
1616
tools:
1717

1818
GNU autoconf
19-
GNU automake
2019
GNU libtool
2120
GNU m4
2221

README.UNIX-BUILD-SYSTEM

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ PHP Build System V5 Overview
1616
build-modules: builds and copies dynamic modules into modules/
1717
install-cli: installs the CLI only, so that the install-sapi
1818
target does only what its name says
19-
- finally abandoned automake (still requires aclocal at this time)
19+
- finally abandoned automake
2020
- changed some configure-time constructs to run at buildconf-time
2121
- upgraded shtool to 1.5.4
2222
- removed $(moduledir) (use EXTENSION_DIR)

Zend/Makefile.frag

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,24 @@
1+
#
2+
# Zend
3+
#
4+
5+
$(builddir)/zend_language_scanner.lo: $(srcdir)/zend_language_parser.h
6+
$(builddir)/zend_ini_scanner.lo: $(srcdir)/zend_ini_parser.h
7+
8+
$(srcdir)/zend_language_scanner.c: $(srcdir)/zend_language_scanner.l
9+
@(cd $(top_srcdir); $(RE2C) $(RE2C_FLAGS) --no-generation-date --case-inverted -cbdFt Zend/zend_language_scanner_defs.h -oZend/zend_language_scanner.c Zend/zend_language_scanner.l)
10+
11+
$(srcdir)/zend_language_parser.h: $(srcdir)/zend_language_parser.c
12+
$(srcdir)/zend_language_parser.c: $(srcdir)/zend_language_parser.y
13+
@$(YACC) -p zend -v -d $(srcdir)/zend_language_parser.y -o $@
14+
15+
$(srcdir)/zend_ini_parser.h: $(srcdir)/zend_ini_parser.c
16+
$(srcdir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
17+
@$(YACC) -p ini_ -v -d $(srcdir)/zend_ini_parser.y -o $@
18+
19+
$(srcdir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
20+
@(cd $(top_srcdir); $(RE2C) $(RE2C_FLAGS) --no-generation-date --case-inverted -cbdFt Zend/zend_ini_scanner_defs.h -oZend/zend_ini_scanner.c Zend/zend_ini_scanner.l)
21+
22+
$(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(srcdir)/zend_language_parser.h
23+
124
Zend/zend_execute.lo: $(srcdir)/zend_vm_execute.h $(srcdir)/zend_vm_opcodes.h

Zend/configure.ac

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,18 @@ int zend_sprintf(char *buffer, const char *format, ...);
5050
# define zend_sprintf sprintf
5151
#endif
5252
53+
#if defined(__cplusplus) && __cplusplus >= 201103L
54+
extern "C++" {
55+
#include <cmath>
56+
#define zend_isnan std::isnan
57+
#define zend_isinf std::isinf
58+
#define zend_finite std::isfinite
59+
}
60+
#else
5361
#include <math.h>
5462
5563
#ifndef zend_isnan
56-
#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
64+
#if HAVE_DECL_ISNAN
5765
#define zend_isnan(a) isnan(a)
5866
#elif defined(HAVE_FPCLASS)
5967
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -62,7 +70,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
6270
#endif
6371
#endif
6472
65-
#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
73+
#if HAVE_DECL_ISINF
6674
#define zend_isinf(a) isinf(a)
6775
#elif defined(INFINITY)
6876
/* Might not work, but is required by ISO C99 */
@@ -73,7 +81,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
7381
#define zend_isinf(a) 0
7482
#endif
7583
76-
#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
84+
#if HAVE_DECL_ISFINITE
7785
#define zend_finite(a) isfinite(a)
7886
#elif defined(HAVE_FINITE)
7987
#define zend_finite(a) finite(a)
@@ -83,6 +91,8 @@ int zend_sprintf(char *buffer, const char *format, ...);
8391
#define zend_finite(a) (zend_isnan(a) ? 0 : zend_isinf(a) ? 0 : 1)
8492
#endif
8593
94+
#endif
95+
8696
#endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
8797
8898
])
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
--TEST--
2+
Dynamic property shadowed by private property
3+
--FILE--
4+
<?php
5+
6+
class Test {
7+
private $prop = "Test";
8+
9+
function run() {
10+
foreach ($this as $k => $v) {
11+
echo "$k => $v\n";
12+
}
13+
var_dump(get_object_vars($this));
14+
}
15+
}
16+
class Test2 extends Test {
17+
}
18+
19+
$test2 = new Test2;
20+
$test2->prop = "Test2";
21+
$test2->run();
22+
23+
?>
24+
--EXPECT--
25+
prop => Test
26+
array(1) {
27+
["prop"]=>
28+
string(4) "Test"
29+
}

0 commit comments

Comments
 (0)