Nikita Popov
6ec5816899
Merge branch 'PHP-7.1'
2016-09-28 23:23:01 +02:00
Nikita Popov
56a7646ab2
Merge branch 'PHP-7.0' into PHP-7.1
2016-09-28 23:22:48 +02:00
Nikita Popov
e520b9e127
Merge branch 'PHP-5.6' into PHP-7.0
2016-09-28 23:22:11 +02:00
Sara Golemon
9c3865eb6a
[ast] Fix exporting **= in expansion of assign op
2016-08-06 15:35:45 -07:00
Bob Weinand
4f077aee83
Allow for [] = $array; (alias for list())
2016-05-20 01:51:05 +02:00
Sara Golemon
8523b1f8ed
Merge branch 'PHP-7.0'
...
* PHP-7.0:
Fix serializing ZEND_AST_SHELL_EXEC
2016-05-12 02:51:14 +00:00
Sara Golemon
a73b03edea
Fix serializing ZEND_AST_SHELL_EXEC
...
Currently, `foo` is reserialized as `'foo'` due to misuse of zend_ast_export().
ZEND_AST_SHELL_EXEC can only contain ZEND_AST_ZVAL(string) or ZEND_AST_ENCAPS_LIST,
so just handle the ZEND_AST_ZVAL(string) case directly.
2016-05-12 02:47:56 +00:00
Dmitry Stogov
c19cb70dac
Revert "Refactor zval cleanup into single function"
...
This reverts commit bac6fdb0c5
.
2016-05-06 10:47:58 +03:00
Bob Weinand
bac6fdb0c5
Refactor zval cleanup into single function
...
Also use zval_ptr_dtor_nogc() everywhere in Zend in favor of zval_dtor()
2016-05-05 23:31:57 +02:00
Nikita Popov
9b99a1c9fb
Fix compile warning in ast.c
2016-05-02 11:55:49 +02:00
Pierrick Charron
0aed2cc2a4
Allow catching multiple exception types in a single catch statement
...
This commit add the possibility to catch multiple exception types in
a single catch statement to avoid code duplication.
try {
// Some code...
} catch (ExceptionType1 | ExceptionType2 $e) {
// Code to handle the exception
} catch (\Exception $e) {
// ...
}
2016-05-01 18:47:08 -04:00
Dmitry Stogov
6499162ff0
- get rid of EG(scope). zend_get_executed_scope() should be used instead.
...
- ichanged zval_update_constant_ex(). Use IS_TYPE_IMMUTABLE flag on shared constants and AST, instead of "inline_change" parameter.
2016-04-28 04:13:34 +03:00
Bob Weinand
69efeb1223
Fix constant expr coaleasce with protected mode opcache
2016-04-21 21:51:00 +02:00
Márcio Almada
9f3eab44df
allow null coalescing (??) on constant expressions
2016-04-21 01:22:28 +02:00
Nikita Popov
ed06d130f7
Fixed bug #71922
2016-03-29 19:29:19 +02:00
Xinchen Hui
97a9470d97
bump year which is missed in rev 49493a2
2016-01-02 17:56:11 +08:00
Xinchen Hui
3537e95dae
bump year which is missed in rev 49493a2
2016-01-02 17:51:24 +08:00
Xinchen Hui
bb07905a4a
Fixed bug #70528 (assert() with instanceof adds apostrophes around class name)
2015-09-19 19:49:36 -07:00
nikita2206
d8a6130660
Handle empty (NULL) stmt in ast_export
2015-07-16 22:31:36 +02:00
Aaron Piotrowski
5df893ce3c
Use NULL where possible for exception class
...
Matches usage of zend_throw_exception()/zend_throw_exception_ex().
2015-07-07 12:10:55 -05:00
Kalle Sommer Nielsen
ce2cd89258
Replace references to PHP_WIN32 and TSRM_WIN32 with ZEND_WIN32 in Zend/, this also fixes 1 instance of where fflush(stderr) was misplaced (zend_extensions.c)
2015-07-04 18:55:22 +02:00
Aaron Piotrowski
22c38b2ef5
Remove need to pass error level
2015-07-03 17:53:41 -05:00
Aaron Piotrowski
5a99c07ecc
Enable throwing custom exceptions from errors
2015-07-03 17:53:40 -05:00
Dmitry Stogov
7aa7627172
Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes).
2015-06-30 13:59:27 +03:00
Dmitry Stogov
4bd22cf1c1
Improved zend_string API (Francois Laupretre)
...
Squashed commit of the following:
commit d96eab8d79
Author: Francois Laupretre <francois@tekwire.net>
Date: Fri Jun 26 01:23:31 2015 +0200
Use the new 'ZSTR' macros in the rest of the code.
Does not change anything to the generated code (thanks to compat macros) but cleaner.
commit b352643910
Author: Francois Laupretre <francois@tekwire.net>
Date: Thu Jun 25 13:45:06 2015 +0200
Improve zend_string API
Add missing methods
2015-06-29 16:44:54 +03:00
Dmitry Stogov
8e10e8f921
Avoid zval duplication in ZVAL_ZVAL() macro (it was necessary only in few places).
...
Switch from ZVAL_ZVAL() to simpler macros where possible (it makes sense to review remaining places)
2015-06-12 12:33:23 +03:00
Bob Weinand
69b54ba926
Also unreserve T_CLASS
2015-05-25 22:58:30 +02:00
krakjoe
49608e0608
Rebase Joe's anon classes implementation
2015-04-26 15:04:22 +02:00
Nikita Popov
38eb3cdf67
Drop ??? for AST_ZNODE in ast pretty printer
2015-04-14 21:35:38 +02:00
Nikita Popov
acd61be985
Add "yield from" support to ast pretty printer
2015-04-14 19:15:40 +02:00
Dmitry Stogov
ea09a9fa32
Convert fatal errors into EngineExceptions
...
Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.
2015-04-02 02:05:25 +03:00
Dmitry Stogov
acfc31c0f8
Use zend_error_noreturn() for fatal errors
2015-04-01 13:32:23 +03:00
Xinchen Hui
1c31ad4f0d
Unused var
2015-02-21 10:58:23 +08:00
Dmitry Stogov
6b779596d7
Implemented AST pretty-printer
2015-02-19 11:11:17 +03:00
Levi Morrison
c8576c5a46
Implement return types
...
RFC is documented here: https://wiki.php.net/rfc/return_types
2015-01-27 11:49:56 -07:00
Sara Golemon
1010b0ea4f
Provide compiler hook for altering the AST pre-compilation.
2015-01-19 10:43:57 -08:00
Xinchen Hui
fc33f52d8c
bump year
2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d
bump year
2015-01-15 23:26:37 +08:00
Xinchen Hui
b5b617674e
Micro optimaztion (yeah, I know compiler supposed to do that)
2014-12-22 00:10:46 -05:00
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Anatol Belski
c00424e427
bring back all the TSRMLS_FETCH() stuff
...
for better comparability with the mainstream
2014-10-15 09:37:55 +02:00
Anatol Belski
06d0230a0f
cleanup TSRMLS_FETCH
2014-09-26 09:58:19 +02:00
Anatol Belski
4e09d782ef
fix unsigned negation
2014-09-15 12:58:43 +02:00
Nikita Popov
9e75353184
Use zval_ptr_dtor_nogc to destroy literals
...
Also move the definition of zval_ptr_dtor_nogc to zend_variables.h
(from zend_execute.h/.c) as it's used in a few places.
2014-09-03 15:18:06 +02:00
Anatol Belski
d4a05d1990
fix C89 compat
2014-08-31 21:58:05 +02:00
Nikita Popov
545fd5168e
Don't distinguish between ast/list in parser
...
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.
2014-08-29 21:02:10 +02:00
Nikita Popov
6db293d5e0
Merge remote-tracking branch 'php-src/master' into ast
...
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
2014-08-25 21:52:18 +02:00
Anatol Belski
c3e3c98ec6
master renames phase 1
2014-08-25 19:24:55 +02:00
Nikita Popov
69f0deb399
Fix ast size computation in case of zero children
2014-08-19 11:38:09 +02:00
Nikita Popov
1bab755a35
Fix GC when opcache is in use
2014-08-17 19:15:54 +02:00