summaryrefslogtreecommitdiff
path: root/Zend/zend_language_parser.y
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-12-131-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: (37 commits) NEWS NEWS Fix bug #68601 buffer read overflow in gd_gif_in.c Fixed compilation warnings Removed unnecessary checks pcntl_signal_dispatch: Speed up by preventing system calls when unnecessary Merged PR #911. Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some currently defined classes as final which were just not being considered as such before. Updated NEWS Updated NEWS Updated NEWS Fix bug #68532: convert.base64-encode omits padding bytes Updated NEWS Updated NEWS Updated NEWS Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor) Updated NEWS Updated NEWS Fix MySQLi tests Fixed gd test ...
| * Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some ↵Guilherme Blanco2014-12-121-1/+1
| | | | | | | | currently defined classes as final which were just not being considered as such before.
* | Merge branch 'master' into native-tlsDmitry Stogov2014-12-101-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (23 commits) move the test to the right place fix TS build and C89 compat updated NEWS Fixed bug #68545 NULL pointer dereference in unserialize.c Updated NEWS Updated NEWS Updated NEWS NEWS Fix bug #68526 Implement POSIX Access Control List for UDS Improved basic zval copying primitives: ZVAL_COPY_VALUE(), ZVAL_COPY(), ZVAL_DUP() Wrap RETURN_VALUE_USED() with EXPECTED() or UNEXPECTED() macros according to more frequent usage patterns. Improved ASSIGN_<OP>, ASSIGN_DIM and UNSET_DIM drop dead/unused code simplified code Move ZVAL_DEREF() and make_real_object() into slow paths. Pass znode_op structure by value (it fits into one word) instead of pointer to structure. Move checks for references into slow paths. Improved ASSIGN_DIM and ASSIGN_OBJ Fixed typo Move checks for references into slow paths of handlers or helpers. Remove duplicate opcode handlers. ...
| * Fix arrow operator precedenceNikita Popov2014-12-071-1/+1
| | | | | | | | I accidentially added => as the highest-precedence operator...
* | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-11-181-1/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: (398 commits) NEWS add test for bug #68381 Fixed bug #68381 Set FPM log level earlier during init proper dllexport move to size_t where zend_string is used internally fix some datatype mismatches return after the warning, to fix uninitialized salt usage fix datatype mismatches add missing type specifier fix datatype mismatches fix unsigned check "extern" shouldn't be used for definitions joined identical conditional blocks simplify fpm tests SEND_VAR_NO_REF optimization Add test for bug #68442 Add various tests for FPM - covering recent bugs (68420, 68421, 68423, 68428) - for UDS - for ping and status URI - for multi pool and multi mode Include small MIT FastCGI client library from https://github.com/adoy/PHP-FastCGI-Client Get rid of zend_free_op structure (use zval* instead). Get rid of useless TSRMLS arguments. Add new FPM test for IPv4/IPv6 ... Conflicts: win32/build/config.w32
| * fix "inconsistent dll linkage" warning caused by bisonAnatol Belski2014-10-291-0/+5
| | | | | | | | | | stdlib.h might not be always using _STDLIB_H, that will move bison to redeclare the malloc/free prototypes.
| * fix datatype mismatch warningsAnatol Belski2014-10-291-1/+1
| |
* | bring back all the TSRMLS_FETCH() stuffAnatol Belski2014-10-151-0/+1
| | | | | | | | for better comparability with the mainstream
* | Merge remote-tracking branch 'origin/master' into native-tlsAnatol Belski2014-10-011-0/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/master: (26 commits) Micro optimization Drop unused INIT_STRING opcode Drop unused RAISE_ABSTRACT_ERROR opcode CT substitute unqualified true/false/null in namespaces Fix a couple compile warnings fix test filename one more test to illustrate transfer of an arbitrary data amount throug pipes fix tests on linux better test cleanup Use more readable inline functions increase the polling period to not to break existing behaviours updated NEWS Fixed bug #51800 proc_open on Windows hangs forever Fixed segfault Set an LDAP error code when failing ldap_bind due to null bytes Fix segmentation fault in debug_backtrace() Drop support for GMP 4.1 Make gmp_setbit and gmp_clrbit return values consistent removed *.dsw and *.dsp files Opcache compatibility for coalesce operator ...
| * Initial coalesce operator implementationNikita Popov2014-09-161-0/+4
| |
* | cleanup TSRMLS_FETCHAnatol Belski2014-09-261-1/+0
| |
* | reworked the patch, less new stuff but workyAnatol Belski2014-09-251-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TLS is already used in TSRM, the way exporting the tsrm cache through a thread local variable is not portable. Additionally, the current patch suffers from bugs which are hard to find, but prevent it to be worky with apache. What is done here is mainly uses the idea from the RFC patch, but - __thread variable is removed - offset math and declarations are removed - extra macros and definitions are removed What is done merely is - use an inline function to access the tsrm cache. The function uses the portable tsrm_tls_get macro which is cheap - all the TSRM_* macros are set to placebo. Thus this opens the way remove them later Except that, the logic is old. TSRMLS_FETCH will have to be done once per thread, then tsrm_get_ls_cache() can be used. Things seeming to be worky are cli, cli server and apache. I also tried to enable bz2 shared and it has worked out of the box. The change is yet minimal diffing to the current master bus is a worky start, IMHO. Though will have to recheck the other previously done SAPIs - embed and cgi. The offsets can be added to the tsrm_resource_type struct, then it'll not be needed to declare them in the userspace. Even the "done" member type can be changed to int16 or smaller, then adding the offset as int16 will not change the struct size. As well on the todo might be removing the hashed storage, thread_id != thread_id and linked list logic in favour of the explicit TLS operations.
* | native tls initial patchkrakjoe2014-09-201-1/+1
|/
* Don't distinguish between ast/list in parserNikita Popov2014-08-291-101/+79
| | | | | | | | This removes the need to use $<ast>{n} or $<list>$ casts in the reduction actions. Keeping the distinction in the parser doesn't really give us any benefit and only makes changing the grammar harder.
* Introduce optional_exprNikita Popov2014-08-291-19/+15
|
* Remove parenthesis_exprNikita Popov2014-08-291-23/+19
| | | | | This was necessary previously to handle yields, now it only clutters up the grammar.
* Simplify `argument` productionNikita Popov2014-08-291-4/+2
|
* Move =&new deprecation message into compilerNikita Popov2014-08-261-4/+2
|
* Handle remaining magic constants in parser as wellNikita Popov2014-08-261-8/+6
| | | | | As far as I can see the !filename case cannot occur, so I dropped it.
* Add backup_doc_comment productionNikita Popov2014-08-261-26/+21
| | | | | Bison can't detect the type of a mid-rule action, even if it accesses $<str>$, so need to create a separate rule for this.
* eval() with parse error uses clean shutdown nowNikita Popov2014-08-261-3/+3
|
* Add type annotations to parserNikita Popov2014-08-261-474/+490
| | | | | | Conflicts: Zend/zend_language_parser.y
* Merge remote-tracking branch 'php-src/master' into astNikita Popov2014-08-251-2/+2
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: Zend/zend_compile.c Zend/zend_compile.h Zend/zend_globals.h Zend/zend_language_parser.y Zend/zend_language_scanner.c Zend/zend_language_scanner.l Zend/zend_types.h
| * master renames phase 1Anatol Belski2014-08-251-25/+25
| |
| * first shot on merging the core fro the int64 branchAnatol Belski2014-08-161-25/+25
| |
| * Merge branch 'master' into phpngDmitry Stogov2014-08-041-15/+21
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (46 commits) PHP_INT_MIN and _MAX tests NEWS and UPGRADING Added PHP_INT_MIN Fix wrong lenght size Bug #51096 - Remove unnecessary ? for first/last day of Moved streams related functions to xp_ssl.c Remove duplicate NEWS Update NEWS Update NEWS Update NEWS BFN BFN Fixed bug #67715 (php-milter does not build and crashes randomly). We need to turn off any strict mode here for this warning to show up Disable restrictions regarding arrays in constants at run-time. For the discussion around it, see the thread on the mailing list: http://www.mail-archive.com/internals@lists.php.net/msg68245.html Revert "Fix bug #67064 in a BC safe way" Updated NEWS for #67693 Updated NEWS for #67693 Fixed bug #67693 - incorrect push to the empty array add missing entry to NEWS ... Conflicts: Zend/tests/errmsg_040.phpt Zend/tests/ns_059.phpt Zend/zend_language_parser.y Zend/zend_vm_def.h ext/openssl/openssl.c ext/reflection/php_reflection.c ext/session/session.c ext/spl/spl_directory.c ext/spl/spl_iterators.c ext/sqlite3/sqlite3.c ext/standard/array.c
| | * Disable restrictions regarding arrays in constants at run-time.Bob Weinand2014-07-301-14/+19
| | | | | | | | | | | | | | | For the discussion around it, see the thread on the mailing list: http://www.mail-archive.com/internals@lists.php.net/msg68245.html
* | | Fix encoding declaration handlingNikita Popov2014-08-181-2/+4
| | | | | | | | | | | | | | | As the encoding declaration influences lexing it needs to be immidiately handled in the parser.
* | | Implement a[0] syntax from mergeNikita Popov2014-08-161-9/+10
| | |
* | | Support doc comments for propretiesNikita Popov2014-07-301-1/+1
| | |
* | | Add zend_ prefix for emit_op(_tmp)Nikita Popov2014-07-281-4/+2
| | |
* | | zend_ast_create determined child count automaticallyNikita Popov2014-07-281-138/+137
| | |
* | | Remove zend_ast_create_unary etcNikita Popov2014-07-281-116/+114
| | |
* | | Cleanup dead/duplicate codeNikita Popov2014-07-281-4/+4
| | |
* | | Add zend_ast_list* variant to parser stack elementNikita Popov2014-07-281-59/+57
| | |
* | | Minor cleanups in AST codeNikita Popov2014-07-281-13/+7
| | |
* | | Use separate node type for listsNikita Popov2014-07-281-28/+28
| | | | | | | | | | | | This saves storing the children count for normal ast nodes.
* | | Store lineno for zval ast nodes more efficientlyNikita Popov2014-07-271-0/+1
| | |
* | | Use more specific parser stack nodesNikita Popov2014-07-271-427/+427
| | |
* | | Separate class type and start linenoNikita Popov2014-07-271-18/+17
| | |
* | | Store doc comments in separate stack entry from start linenoNikita Popov2014-07-271-13/+19
| | |
* | | Cleanup member modifier codeNikita Popov2014-07-271-18/+20
| | |
* | | Create namespace_name via ASTNikita Popov2014-07-261-11/+12
| | |
* | | Make lexer return AST nodesNikita Popov2014-07-261-46/+46
| | |
* | | Add functions for create str/long ast directlyNikita Popov2014-07-261-7/+4
| | |
* | | Expose ast via CG(ast)Nikita Popov2014-07-241-1/+1
| | |
* | | Port ZEND_BIND_GLOBAL optimizationNikita Popov2014-07-221-1/+2
| | |
* | | Implement declare()Nikita Popov2014-07-221-14/+4
| | |
* | | Handle __halt_compiler()Nikita Popov2014-07-221-1/+1
| | |
* | | __halt_compiler() without haling compilerNikita Popov2014-07-221-1/+5
| | |