Skip to content

Commit 57c1af5

Browse files
committed
Merge remote-tracking branch 'upstream/master' into PHP-8-remove-Short-Tags
* upstream/master: Enhance Autoconf version checking [ci skip] Move CREDITS from root to README Fix tokenizer_data_gen.sh for non-posix bison Remove enable-wddx from Travis compile as it WDDX has been unbundled as of PHP 7.4 [ci skip] Remove text editor modelines fix bug #76801: phpdbg too many open files error For consistency with Windows, and because ZTS is not experimental or a "maintainer" feature, this commits renames --enable-maintainer-zts to --enable-zts in the autotools build, and related documentation
2 parents 0dd929f + 09b9e77 commit 57c1af5

27 files changed

+154
-111
lines changed

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ env:
5454
- PDO_MYSQL_TEST_HOST=127.0.0.1
5555
- REPORT_EXIT_STATUS=1
5656
matrix:
57-
- ENABLE_MAINTAINER_ZTS=0 ENABLE_DEBUG=0
58-
- ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
57+
- ENABLE_ZTS=0 ENABLE_DEBUG=0
58+
- ENABLE_ZTS=1 ENABLE_DEBUG=1
5959

6060
before_script:
6161
- ccache --version

CREDITS

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

NEWS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ PHP NEWS
1919

2020
- phpdbg:
2121
. Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel)
22-
22+
. Fixed bug #76801 (too many open files). (alekitto)
23+
2324
- sodium:
2425
. Fixed bug #77646 (sign_detached() strings not terminated). (Frank)
2526

README.GIT-RULES

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Having said that, here are the organizational rules::
3939
To do so use "make test".
4040

4141
7. For development use the --enable-debug switch to avoid memory leaks
42-
and the --enable-maintainer-zts switch to ensure your code handles
42+
and the --enable-zts switch to ensure your code handles
4343
TSRM correctly and doesn't break for those who need that.
4444

4545
Currently we have the following branches in use::

README.SUBMITTING_PATCH

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ Checklist for submitting your PHP or PECL code patch
162162
- Rebuild PHP with --enable-debug (which will show some kinds of
163163
memory errors) and check the PHP and web server error logs after
164164
running your PHP tests.
165-
- Rebuild PHP with --enable-maintainer-zts to check your patch
166-
compiles on multi-threaded web servers.
165+
- Rebuild PHP with --enable-zts to check your patch
166+
compiles and operates correctly in a thread safe PHP.
167167
- Review the patch once more just before submitting it.
168168

169169

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,8 @@ of cores (`N`):
108108

109109
The [qa.php.net](https://qa.php.net) site provides more detailed info about
110110
testing and quality assurance.
111+
112+
## Credits
113+
114+
For the list of people who've put work into PHP, please see the
115+
[PHP credits page](https://php.net/credits.php).

UPGRADING.INTERNALS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ PHP 8.0 INTERNALS UPGRADE NOTES
3232
a. Abstract
3333

3434
b. Unix build system changes
35+
36+
1. --enable-maintainer-zts is renamed --enable-zts for parity with Windows
37+
and as recognition that ZTS is not a "maintainer" or experimental feature.
3538

3639
c. Windows build system changes
3740

Zend/Zend.m4

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ int main()
7979

8080
AC_DEFUN([LIBZEND_OTHER_CHECKS],[
8181
82-
AC_ARG_ENABLE([maintainer-zts],
83-
[AS_HELP_STRING([--enable-maintainer-zts],
84-
[Enable thread safety - for code maintainers only!!])],
85-
[ZEND_MAINTAINER_ZTS=$enableval],
86-
[ZEND_MAINTAINER_ZTS=no])
82+
AC_ARG_ENABLE([zts],
83+
[AS_HELP_STRING([--enable-zts],
84+
[Enable thread safety])],
85+
[ZEND_ZTS=$enableval],
86+
[ZEND_ZTS=no])
8787
8888
AC_ARG_ENABLE([inline-optimization],
8989
[AS_HELP_STRING([--disable-inline-optimization],
@@ -92,7 +92,7 @@ AC_ARG_ENABLE([inline-optimization],
9292
[ZEND_INLINE_OPTIMIZATION=yes])
9393
9494
AC_MSG_CHECKING(whether to enable thread-safety)
95-
AC_MSG_RESULT($ZEND_MAINTAINER_ZTS)
95+
AC_MSG_RESULT($ZEND_ZTS)
9696
9797
AC_MSG_CHECKING(whether to enable inline optimization for GCC)
9898
AC_MSG_RESULT($ZEND_INLINE_OPTIMIZATION)
@@ -115,7 +115,7 @@ fi
115115
116116
test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
117117
118-
if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
118+
if test "$ZEND_ZTS" = "yes"; then
119119
AC_DEFINE(ZTS,1,[ ])
120120
CFLAGS="$CFLAGS -DZTS"
121121
fi

acinclude.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -727,7 +727,7 @@ dnl
727727
dnl PHP_BUILD_THREAD_SAFE
728728
dnl
729729
AC_DEFUN([PHP_BUILD_THREAD_SAFE],[
730-
enable_maintainer_zts=yes
730+
enable_zts=yes
731731
if test "$pthreads_working" != "yes"; then
732732
AC_MSG_ERROR([ZTS currently requires working POSIX threads. We were unable to verify that your system supports Pthreads.])
733733
fi
@@ -2307,7 +2307,7 @@ AC_DEFUN([PHP_CHECK_CONFIGURE_OPTIONS],[
23072307
with-tsrm-pth | with-tsrm-st | with-tsrm-pthreads [)];;
23082308
23092309
# Allow certain Zend options
2310-
with-zend-vm | enable-maintainer-zts | enable-inline-optimization[)];;
2310+
with-zend-vm | enable-zts | enable-inline-optimization[)];;
23112311
23122312
# All the rest must be set using the PHP_ARG_* macros
23132313
# PHP_ARG_* macros set php_enable_<arg_name> or php_with_<arg_name>

build/buildcheck.sh

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#! /bin/sh
1+
#!/bin/sh
2+
#
23
# +----------------------------------------------------------------------+
34
# | PHP Version 7 |
45
# +----------------------------------------------------------------------+
@@ -15,34 +16,57 @@
1516
# | Authors: Stig Bakken <[email protected]> |
1617
# | Sascha Schumann <[email protected]> |
1718
# +----------------------------------------------------------------------+
19+
#
20+
# Check PHP build system tools such as autoconf and their versions.
21+
#
22+
# SYNOPSIS:
23+
# buildcheck.sh [stampfile]
24+
#
25+
# DESCRIPTION:
26+
# Optional stampfile is for Makefile to check build system only once.
27+
#
28+
# ENVIRONMENT:
29+
# The following optional variables are supported:
30+
#
31+
# PHP_AUTOCONF Overrides the path to autoconf tool.
32+
# PHP_AUTOCONF=/path/to/autoconf buildcheck.sh
1833

1934
echo "buildconf: checking installation..."
2035

2136
stamp=$1
2237

2338
# Allow the autoconf executable to be overridden by $PHP_AUTOCONF.
24-
if test -z "$PHP_AUTOCONF"; then
25-
PHP_AUTOCONF='autoconf'
26-
fi
39+
PHP_AUTOCONF=${PHP_AUTOCONF:-autoconf}
40+
41+
# Go to project root.
42+
cd $(CDPATH= cd -- "$(dirname -- "$0")/../" && pwd -P)
43+
44+
# Get minimum required autoconf version from the configure.ac file.
45+
min_version=$(sed -n 's/AC_PREREQ(\[\(.*\)\])/\1/p' configure.ac)
46+
47+
# Check if autoconf exists.
48+
ac_version=$($PHP_AUTOCONF --version 2>/dev/null|head -n 1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//')
2749

28-
# autoconf 2.68 or newer
29-
ac_version=`$PHP_AUTOCONF --version 2>/dev/null|head -n 1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
3050
if test -z "$ac_version"; then
31-
echo "buildconf: autoconf not found." >&2
32-
echo " You need autoconf version 2.68 or newer installed" >&2
33-
echo " to build PHP from Git." >&2
34-
exit 1
51+
echo "buildconf: autoconf not found." >&2
52+
echo " You need autoconf version $min_version or newer installed" >&2
53+
echo " to build PHP from Git." >&2
54+
exit 1
3555
fi
36-
IFS=.; set $ac_version; IFS=' '
37-
if test "$1" = "2" -a "$2" -lt "68" || test "$1" -lt "2"; then
38-
echo "buildconf: autoconf version $ac_version found." >&2
39-
echo " You need autoconf version 2.68 or newer installed" >&2
40-
echo " to build PHP from Git." >&2
41-
exit 1
56+
57+
# Check autoconf version.
58+
set -f; IFS='.'; set -- $ac_version; set +f; IFS=' '
59+
ac_version_num="$(expr ${1} \* 10000 + ${2} \* 100)"
60+
set -f; IFS='.'; set -- $min_version; set +f; IFS=' '
61+
min_version_num="$(expr ${1} \* 10000 + ${2} \* 100)"
62+
63+
if test "$ac_version_num" -lt "$min_version_num"; then
64+
echo "buildconf: autoconf version $ac_version found." >&2
65+
echo " You need autoconf version $min_version or newer installed" >&2
66+
echo " to build PHP from Git." >&2
67+
exit 1
4268
else
43-
echo "buildconf: autoconf version $ac_version (ok)"
69+
echo "buildconf: autoconf version $ac_version (ok)"
4470
fi
4571

4672
test -n "$stamp" && touch $stamp
47-
48-
exit 0

configure.ac

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ if test -z "$PHP_INSTALLED_SAPIS"; then
361361
fi
362362

363363
dnl force ZTS
364-
if test "$enable_maintainer_zts" = "yes"; then
364+
if test "$enable_zts" = "yes"; then
365365
PTHREADS_ASSIGN_VARS
366366
PTHREADS_FLAGS
367367
fi
@@ -1205,7 +1205,7 @@ LIBZEND_BASIC_CHECKS
12051205
LIBZEND_DLSYM_CHECK
12061206
LIBZEND_OTHER_CHECKS
12071207

1208-
if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
1208+
if test "$ZEND_ZTS" = "yes"; then
12091209
AC_DEFINE(ZTS,1,[ ])
12101210
PHP_THREAD_SAFETY=yes
12111211
else
@@ -1276,15 +1276,15 @@ if test -z "$EXTENSION_DIR"; then
12761276
else
12771277
part1=no-debug
12781278
fi
1279-
if test "$enable_maintainer_zts" = "yes"; then
1279+
if test "$enable_zts" = "yes"; then
12801280
part2=zts
12811281
else
12821282
part2=non-zts
12831283
fi
12841284
extbasedir=$part1-$part2-$extbasedir
12851285
EXTENSION_DIR=$libdir/extensions/$extbasedir
12861286
else
1287-
if test "$enable_maintainer_zts" = "yes"; then
1287+
if test "$enable_zts" = "yes"; then
12881288
extbasedir=$extbasedir-zts
12891289
fi
12901290

ext/mysqli/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ elif test "$PHP_MYSQLI" != "no"; then
5151
MYSQL_CONFIG=$PHP_MYSQLI
5252

5353
MYSQL_LIB_NAME='mysqlclient'
54-
if test "$enable_maintainer_zts" = "yes"; then
54+
if test "$enable_zts" = "yes"; then
5555
MYSQL_LIB_CFG='--libs_r'
5656
MYSQL_LIB_NAME='mysqlclient_r'
5757
else

ext/pdo_mysql/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ if test "$PHP_PDO_MYSQL" != "no"; then
6060
if test "x$SED" = "x"; then
6161
AC_PATH_PROG(SED, sed)
6262
fi
63-
if test "$enable_maintainer_zts" = "yes"; then
63+
if test "$enable_zts" = "yes"; then
6464
PDO_MYSQL_LIBNAME=mysqlclient_r
6565
PDO_MYSQL_LIBS=`$PDO_MYSQL_CONFIG --libs_r | $SED -e "s/'//g"`
6666
else

ext/session/config.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ if test "$PHP_MM" != "no"; then
3333
AC_MSG_ERROR(cannot find mm library)
3434
fi
3535

36-
if test "$enable_maintainer_zts" = "yes"; then
36+
if test "$enable_zts" = "yes"; then
3737
dnl The mm library is not thread-safe, and mod_mm.c refuses to compile.
38-
AC_MSG_ERROR(--with-mm cannot be combined with --enable-maintainer-zts)
38+
AC_MSG_ERROR(--with-mm cannot be combined with --enable-zts)
3939
fi
4040

4141
PHP_ADD_LIBRARY_WITH_PATH(mm, $MM_DIR/$PHP_LIBDIR, SESSION_SHARED_LIBADD)

ext/sqlite3/config0.m4

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ PHP_ARG_WITH([sqlite3],
1010
if test $PHP_SQLITE3 != "no"; then
1111
PHP_SQLITE3_CFLAGS=" -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 "
1212

13-
dnl when running phpize enable_maintainer_zts is not available
14-
if test -z "$enable_maintainer_zts"; then
13+
dnl when running phpize enable_zts is not available
14+
if test -z "$enable_zts"; then
1515
if test -f "$phpincludedir/main/php_config.h"; then
1616
ZTS=`grep '#define ZTS' $phpincludedir/main/php_config.h|$SED 's/#define ZTS//'`
1717
if test "$ZTS" -eq "1"; then
18-
enable_maintainer_zts="yes"
18+
enable_zts="yes"
1919
fi
2020
fi
2121
fi

ext/standard/strnatcmp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* -*- mode: c; c-file-style: "k&r" -*-
1+
/*
22
33
Modified for PHP by Andrei Zmievski <[email protected]>
44

ext/tokenizer/tokenizer_data.c

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
void tokenizer_register_constants(INIT_FUNC_ARGS) {
3030
REGISTER_LONG_CONSTANT("T_INCLUDE", T_INCLUDE, CONST_CS | CONST_PERSISTENT);
3131
REGISTER_LONG_CONSTANT("T_INCLUDE_ONCE", T_INCLUDE_ONCE, CONST_CS | CONST_PERSISTENT);
32-
REGISTER_LONG_CONSTANT("T_EVAL", T_EVAL, CONST_CS | CONST_PERSISTENT);
3332
REGISTER_LONG_CONSTANT("T_REQUIRE", T_REQUIRE, CONST_CS | CONST_PERSISTENT);
3433
REGISTER_LONG_CONSTANT("T_REQUIRE_ONCE", T_REQUIRE_ONCE, CONST_CS | CONST_PERSISTENT);
3534
REGISTER_LONG_CONSTANT("T_LOGICAL_OR", T_LOGICAL_OR, CONST_CS | CONST_PERSISTENT);
@@ -79,13 +78,6 @@ void tokenizer_register_constants(INIT_FUNC_ARGS) {
7978
REGISTER_LONG_CONSTANT("T_CLONE", T_CLONE, CONST_CS | CONST_PERSISTENT);
8079
REGISTER_LONG_CONSTANT("T_ELSEIF", T_ELSEIF, CONST_CS | CONST_PERSISTENT);
8180
REGISTER_LONG_CONSTANT("T_ELSE", T_ELSE, CONST_CS | CONST_PERSISTENT);
82-
REGISTER_LONG_CONSTANT("T_ENDIF", T_ENDIF, CONST_CS | CONST_PERSISTENT);
83-
REGISTER_LONG_CONSTANT("T_STATIC", T_STATIC, CONST_CS | CONST_PERSISTENT);
84-
REGISTER_LONG_CONSTANT("T_ABSTRACT", T_ABSTRACT, CONST_CS | CONST_PERSISTENT);
85-
REGISTER_LONG_CONSTANT("T_FINAL", T_FINAL, CONST_CS | CONST_PERSISTENT);
86-
REGISTER_LONG_CONSTANT("T_PRIVATE", T_PRIVATE, CONST_CS | CONST_PERSISTENT);
87-
REGISTER_LONG_CONSTANT("T_PROTECTED", T_PROTECTED, CONST_CS | CONST_PERSISTENT);
88-
REGISTER_LONG_CONSTANT("T_PUBLIC", T_PUBLIC, CONST_CS | CONST_PERSISTENT);
8981
REGISTER_LONG_CONSTANT("T_LNUMBER", T_LNUMBER, CONST_CS | CONST_PERSISTENT);
9082
REGISTER_LONG_CONSTANT("T_DNUMBER", T_DNUMBER, CONST_CS | CONST_PERSISTENT);
9183
REGISTER_LONG_CONSTANT("T_STRING", T_STRING, CONST_CS | CONST_PERSISTENT);
@@ -95,8 +87,10 @@ void tokenizer_register_constants(INIT_FUNC_ARGS) {
9587
REGISTER_LONG_CONSTANT("T_CONSTANT_ENCAPSED_STRING", T_CONSTANT_ENCAPSED_STRING, CONST_CS | CONST_PERSISTENT);
9688
REGISTER_LONG_CONSTANT("T_STRING_VARNAME", T_STRING_VARNAME, CONST_CS | CONST_PERSISTENT);
9789
REGISTER_LONG_CONSTANT("T_NUM_STRING", T_NUM_STRING, CONST_CS | CONST_PERSISTENT);
90+
REGISTER_LONG_CONSTANT("T_EVAL", T_EVAL, CONST_CS | CONST_PERSISTENT);
9891
REGISTER_LONG_CONSTANT("T_EXIT", T_EXIT, CONST_CS | CONST_PERSISTENT);
9992
REGISTER_LONG_CONSTANT("T_IF", T_IF, CONST_CS | CONST_PERSISTENT);
93+
REGISTER_LONG_CONSTANT("T_ENDIF", T_ENDIF, CONST_CS | CONST_PERSISTENT);
10094
REGISTER_LONG_CONSTANT("T_ECHO", T_ECHO, CONST_CS | CONST_PERSISTENT);
10195
REGISTER_LONG_CONSTANT("T_DO", T_DO, CONST_CS | CONST_PERSISTENT);
10296
REGISTER_LONG_CONSTANT("T_WHILE", T_WHILE, CONST_CS | CONST_PERSISTENT);
@@ -125,6 +119,12 @@ void tokenizer_register_constants(INIT_FUNC_ARGS) {
125119
REGISTER_LONG_CONSTANT("T_USE", T_USE, CONST_CS | CONST_PERSISTENT);
126120
REGISTER_LONG_CONSTANT("T_INSTEADOF", T_INSTEADOF, CONST_CS | CONST_PERSISTENT);
127121
REGISTER_LONG_CONSTANT("T_GLOBAL", T_GLOBAL, CONST_CS | CONST_PERSISTENT);
122+
REGISTER_LONG_CONSTANT("T_STATIC", T_STATIC, CONST_CS | CONST_PERSISTENT);
123+
REGISTER_LONG_CONSTANT("T_ABSTRACT", T_ABSTRACT, CONST_CS | CONST_PERSISTENT);
124+
REGISTER_LONG_CONSTANT("T_FINAL", T_FINAL, CONST_CS | CONST_PERSISTENT);
125+
REGISTER_LONG_CONSTANT("T_PRIVATE", T_PRIVATE, CONST_CS | CONST_PERSISTENT);
126+
REGISTER_LONG_CONSTANT("T_PROTECTED", T_PROTECTED, CONST_CS | CONST_PERSISTENT);
127+
REGISTER_LONG_CONSTANT("T_PUBLIC", T_PUBLIC, CONST_CS | CONST_PERSISTENT);
128128
REGISTER_LONG_CONSTANT("T_VAR", T_VAR, CONST_CS | CONST_PERSISTENT);
129129
REGISTER_LONG_CONSTANT("T_UNSET", T_UNSET, CONST_CS | CONST_PERSISTENT);
130130
REGISTER_LONG_CONSTANT("T_ISSET", T_ISSET, CONST_CS | CONST_PERSISTENT);
@@ -170,7 +170,6 @@ char *get_token_type_name(int token_type)
170170

171171
case T_INCLUDE: return "T_INCLUDE";
172172
case T_INCLUDE_ONCE: return "T_INCLUDE_ONCE";
173-
case T_EVAL: return "T_EVAL";
174173
case T_REQUIRE: return "T_REQUIRE";
175174
case T_REQUIRE_ONCE: return "T_REQUIRE_ONCE";
176175
case T_LOGICAL_OR: return "T_LOGICAL_OR";
@@ -220,13 +219,6 @@ char *get_token_type_name(int token_type)
220219
case T_CLONE: return "T_CLONE";
221220
case T_ELSEIF: return "T_ELSEIF";
222221
case T_ELSE: return "T_ELSE";
223-
case T_ENDIF: return "T_ENDIF";
224-
case T_STATIC: return "T_STATIC";
225-
case T_ABSTRACT: return "T_ABSTRACT";
226-
case T_FINAL: return "T_FINAL";
227-
case T_PRIVATE: return "T_PRIVATE";
228-
case T_PROTECTED: return "T_PROTECTED";
229-
case T_PUBLIC: return "T_PUBLIC";
230222
case T_LNUMBER: return "T_LNUMBER";
231223
case T_DNUMBER: return "T_DNUMBER";
232224
case T_STRING: return "T_STRING";
@@ -236,8 +228,10 @@ char *get_token_type_name(int token_type)
236228
case T_CONSTANT_ENCAPSED_STRING: return "T_CONSTANT_ENCAPSED_STRING";
237229
case T_STRING_VARNAME: return "T_STRING_VARNAME";
238230
case T_NUM_STRING: return "T_NUM_STRING";
231+
case T_EVAL: return "T_EVAL";
239232
case T_EXIT: return "T_EXIT";
240233
case T_IF: return "T_IF";
234+
case T_ENDIF: return "T_ENDIF";
241235
case T_ECHO: return "T_ECHO";
242236
case T_DO: return "T_DO";
243237
case T_WHILE: return "T_WHILE";
@@ -266,6 +260,12 @@ char *get_token_type_name(int token_type)
266260
case T_USE: return "T_USE";
267261
case T_INSTEADOF: return "T_INSTEADOF";
268262
case T_GLOBAL: return "T_GLOBAL";
263+
case T_STATIC: return "T_STATIC";
264+
case T_ABSTRACT: return "T_ABSTRACT";
265+
case T_FINAL: return "T_FINAL";
266+
case T_PRIVATE: return "T_PRIVATE";
267+
case T_PROTECTED: return "T_PROTECTED";
268+
case T_PUBLIC: return "T_PUBLIC";
269269
case T_VAR: return "T_VAR";
270270
case T_UNSET: return "T_UNSET";
271271
case T_ISSET: return "T_ISSET";

0 commit comments

Comments
 (0)