summaryrefslogtreecommitdiff
path: root/Zend/zend.h
Commit message (Collapse)AuthorAgeFilesLines
* add ValueErrorPeter Cowburn2019-09-091-0/+1
| | | | | | ValueError is intended to be thrown when a function or method receives an argument that has the right type (incorrect type should throw a TypeError) but an inappropriate value.
* Constify some char* arguments or return values of ZEND_APItwosee2019-06-121-1/+1
| | | | Closes GH-4247.
* Merge branch 'PHP-7.4'Nikita Popov2019-04-121-1/+1
|\
| * Mark zend_bailout() as a noreturn functionNikita Popov2019-04-121-1/+1
| |
* | Merge branch 'PHP-7.4'Nikita Popov2019-03-271-0/+1
|\ \ | |/
| * Fix lineno for more inheritance errorsNikita Popov2019-03-271-0/+1
| | | | | | | | And also include explicit linenos in tests.
* | Merge branch 'PHP-7.4'Nikita Popov2019-03-261-10/+4
|\ \ | |/
| * Add zend_error_at API that accepts a filename and linenoNikita Popov2019-03-261-10/+4
| | | | | | | | Use this for the opcache preloading warnings, as an example usage.
* | Merge branch 'PHP-7.4'Dmitry Stogov2019-03-141-0/+2
|\ \ | |/ | | | | | | * PHP-7.4: Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc.
| * Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc.Dmitry Stogov2019-03-141-0/+2
| |
* | Make zpp failures always throw, independent of strict_typesNikita Popov2019-03-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | Previously zend_parse_parameters (and FastZPP) would handle invalid arguments depending on strict_types: With strict_types=1, a TypeError is thrown, with strict_types=0 a warning is thrown and (usually) NULL is returned. Additionally, some functions (constructors always and other methods sometimes) opt-it to throwing regardless of strict_types. This commit changes zpp to always generate a TypeError exception in PHP 8.
* | Merge branch 'PHP-7.4'Joe Watkins2019-03-111-1/+1
|\ \ | |/ | | | | | | * PHP-7.4: drop unused parameter from zend_startup
| * drop unused parameter from zend_startupJoe Watkins2019-03-111-1/+1
| |
* | Merge branch 'PHP-7.4'Peter Kokot2019-02-231-0/+2
|\ \ | |/ | | | | | | * PHP-7.4: Remove unused PHP_AC_BROKEN_SPRINTF and AC_ZEND_BROKEN_SPRINTF
| * Remove unused PHP_AC_BROKEN_SPRINTF and AC_ZEND_BROKEN_SPRINTFPeter Kokot2019-02-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sprintf function has been normalized to php_sprintf via 61364b5bb172fa512c871b795c2613b1b587e4cd. This patch removes the checks to make a custom sprintf function The ZEND_BROKEN_SPRINTF has been removed and the hardcoded #define zend_sprintf sprintf is used. The php_sprintf and zend_sprintf are now symbols to sprintf. This patch now removes the custom PHP definitions of the php_sprintf and zend_sprintf functions in favor of the C99 sprintf which is also standardized in C89 already. Once, on some systems sprintf didn't behave in same way.
* | Merge branch 'PHP-7.4'Peter Kokot2019-02-031-10/+0
|\ \ | |/ | | | | | | * PHP-7.4: Remove local variables
| * Remove local variablesPeter Kokot2019-02-031-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
| * Adios, yearly copyright rangesZeev Suraski2019-01-301-1/+1
| |
* | Adios, yearly copyright rangesZeev Suraski2019-01-301-1/+1
| |
* | bump versions of all the thingsJoe Watkins2019-01-281-1/+1
|/
* Implement typed propertiesNikita Popov2019-01-111-0/+2
| | | | | | | | | | RFC: https://wiki.php.net/rfc/typed_properties_v2 This is a squash of PR #3734, which is a squash of PR #3313. Co-authored-by: Bob Weinand <bobwei9@hotmail.com> Co-authored-by: Joe Watkins <krakjoe@php.net> Co-authored-by: Dmitry Stogov <dmitry@zend.com>
* Remove unused import_used_extension utility valueNikita Popov2018-12-041-2/+0
|
* Update email addresses. We're still @Zend, but future proofing it...Zeev Suraski2018-11-011-2/+2
|
* Improved shared interned strings handling. The previous implementation ↵Dmitry Stogov2018-10-251-0/+3
| | | | worked incorrectly in ZTS build. It changed strings only in function/class tables of one thread. Now all threads gets the same shared interned strings. Also, on shutdown, we don't try to replace SHM interned strings back to process strings, but delay dettachment of SHM instead.
* Immutable clases and op_arrays.Dmitry Stogov2018-10-171-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit cd0c36c3f943849e5b97a8dbe2dd029fbeab3df9 Merge: 4740dabb84 ad6738e886 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 14:43:38 2018 +0300 Merge branch 'master' into immutable * master: Remove the "auto" encoding Fixed bug #77025 Add vtbls for EUC-TW encoding commit 4740dabb843c6d4f7f866b4a2456073c9eaf4c77 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 14:12:28 2018 +0300 Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes. commit ad7a78b253be970db70c2251e66f9297d8e7f829 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:46:30 2018 +0300 Added comment commit 0276ea51875bab37be01a4dc5e5a047c5698c571 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:42:43 2018 +0300 Added type cast commit c63fc5d5f19c58498108d1698055b2b442227eb3 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:36:51 2018 +0300 Moved static class members initialization into the proper place. commit b945548e9306b1826c881918858b5e5aa3eb3002 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:21:03 2018 +0300 Removed redundand assertion commit d5a41088401814c829847db212488f8aae39bcd2 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:19:13 2018 +0300 Removed duplicate code commit 8dadca8864e66de70a24bdf1181bcf7dd8fb27d7 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 11:05:43 2018 +0300 Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros. commit 9ef07c88bd76801e2d4fbfeab3ebfd6e6a67ac5f Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 10:48:29 2018 +0300 typo commit a06f0f3d3aba53e766046221ee44fb9720389ecc Merge: 94099586ec 3412345ffe Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Oct 17 10:47:07 2018 +0300 Merge branch 'master' into immutable * master: Remove unused variable makefile_am_files Classify object handlers are required/optional Add support for getting SKIP_TAGSTART and SKIP_WHITE options Remove some obsolete config_vars.mk occurrences Remove bsd_converted from .gitignore Remove configuration parser and scanners ignores Remove obsolete buildconf.stamp from .gitignore [ci skip] Add magicdata.patch exception to .gitignore Remove outdated ext/spl/examples items from .gitignore Remove unused test.inc in ext/iconv/tests commit 94099586ec599117581ca01c15b1f6c5f749e23a Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Oct 15 23:34:01 2018 +0300 Immutable clases and op_arrays
* Allocate only necessary space for static properties of internal classes in ↵Dmitry Stogov2018-10-011-1/+6
| | | | ZTS mode.
* Replace ZEND_ACC_ANON_BOUND, ZEND_ACC_UNRESOLVED_PARENT and ↵Dmitry Stogov2018-09-181-1/+2
| | | | ZEND_ACC_UNRESOLVED_INTERFACES with single ZEND_ACC_LINKED.
* Keep information about unresolved parent class in zend_class_entry->parent_nameDmitry Stogov2018-08-241-1/+4
|
* Keep information about unresolved interfaces in ↵Dmitry Stogov2018-08-231-1/+6
| | | | | | | zend_class_entry->interface_names. Move interface implementation code into ZEND_DECLARE_*CLASS opcodes. Remove ZEND_ADD_INTERFACE and ZEND_VERIFY_ABSTRACT_CLASS opcodes.
* Replace zend_class_entry->traits by persistent zend_class_entry->trait_names.Dmitry Stogov2018-08-231-1/+6
| | | | | Move trait binding code into ZEND_DECLARE_*CLASS opcodes. Remove ZEND_ADD_TRIAIT and ZEND_BIND_TRAITS opcodes.
* Use zend_class_entry/zend_function type names instead of ↵Dmitry Stogov2018-08-221-15/+15
| | | | _zend_class_entry/_zend_function tags.
* Prepare for PHP 7.4Christoph M. Becker2018-07-311-1/+1
|
* Remove unused Git attributes identPeter Kokot2018-07-251-2/+0
| | | | | | | | | | | | | | | The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore.
* [ci skip] Fix typo in commentChristoph M. Becker2018-07-181-1/+1
|
* Merge zend_class_entry.create_object and ↵Dmitry Stogov2018-07-121-2/+4
| | | | zend_class_entry.interface_gets_implemented into the same memory lacation. The first used only by classes, the second only by magic interfaces.
* Improved user iterator implementation to reduce zend_class_entry memory ↵Dmitry Stogov2018-07-121-1/+2
| | | | consumption and avoid race condition during resolving/caching of user iterator functions of internal classes in ZTS build.
* Changed structure of zend_class_entry.trait_aliases and ↵Dmitry Stogov2018-07-111-7/+4
| | | | zend_class_entry.trait_precedences to avoid keeping "intermediate" trait references, that are used only during inheritance.
* API cleanup. Removed unused functions (kept compatibility macros).Dmitry Stogov2018-07-041-0/+4
|
* year++Xinchen Hui2018-01-021-1/+1
|
* Remove EH_SUPPRESS modeNikita Popov2017-12-231-1/+0
| | | | | | | It is unused and does not work in any meaningful way: Warnings are suppressed, but everything else (both notices and fatals) are not. It would make some sense if it suppressed warnings and lower, but right now this is a pointless mode.
* Enable and fix printf() format warningsNikita Popov2017-11-161-0/+5
| | | | | | Add _unchecked() variants of zend_spprintf and zend_strpprintf for cases where we specifically want to disable these checks, such as use of %H.
* Move a part of opcache initialization into post_startup phase (when all ↵Dmitry Stogov2017-10-181-1/+2
| | | | extensions already loaded).
* Merge branch 'PHP-7.2'Remi Collet2017-09-121-1/+0
|\ | | | | | | | | * PHP-7.2: drop symbol definition, and not defined anywhere
| * Merge branch 'PHP-7.1' into PHP-7.2Remi Collet2017-09-121-1/+0
| |\ | | | | | | | | | | | | * PHP-7.1: drop symbol definition, and not defined anywhere
| | * Merge branch 'PHP-7.0' into PHP-7.1Remi Collet2017-09-121-1/+0
| | |\ | | | | | | | | | | | | | | | | * PHP-7.0: drop symbol definition, and not defined anywhere
| | | * drop symbol definition, and not defined anywhereRemi Collet2017-09-121-1/+0
| | | |
* | | | Move cwd_state and path related routines to size_tAnatol Belski2017-07-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having `int` there is no real profit in the size or speed, while unsigned improves security and overall integration. ZPP supplied strings can be then accepted directly and structs can be still handled with smaller unsigned types for size reasons, which is safe. Yet some related places are to go. basic move tsrm_realpath_r to size_t fix conditions and sync with affected places touch ocurrences of php_sys_readlink usage follow up on phar path handling remove duplicated check move zend_resolve_path and related pieces to size_t touch yet resolve path related places remove cast missing pieces missing piece yet cleanups for php_sys_readlink for ssize_t fix wrong return
* | | | Prepare for PHP 7.3Sara Golemon2017-07-181-1/+1
|/ / /
* | | further sync for vim mode linesAnatol Belski2017-07-041-0/+2
| | |
* | | Constify to void build warning for C++ ext. [-Wwrite-strings]Remi Collet2017-03-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example (with v8js): /builddir/build/BUILD/php-pecl-v8js-1.3.4/NTS/v8js_class.cc: In function 'void v8js_execute_script(zval*, v8js_script*, long int, long int, long int, zval**)': /usr/include/php/Zend/zend.h:204:57: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] #define zend_bailout() _zend_bailout(__FILE__, __LINE__) ^ /builddir/build/BUILD/php-pecl-v8js-1.3.4/NTS/v8js_class.cc:633:3: note: in expansion of macro 'zend_bailout' zend_bailout(); ^~~~~~~~~~~~