Commit graph

2746 commits

Author SHA1 Message Date
Dmitry Stogov
414c4c6776 Revert "Check if generator object is created by GENERATOR_CREATE when throw exceptions from generator function."
This reverts commit a9b517c614.
2016-05-16 11:51:29 +03:00
Dmitry Stogov
a9b517c614 Check if generator object is created by GENERATOR_CREATE when throw exceptions from generator function. 2016-05-16 10:24:13 +03:00
Danack
63ca65daef Add Closure::fromCallable().
Add the ability to create closures from callable as part of RFC: https://wiki.php.net/rfc/closurefromcallable
2016-05-15 17:39:47 +01:00
Anatol Belski
41518d255e fix dir separator 2016-05-14 23:48:04 +02:00
Nikita Popov
6079ba4b0c Inference: Fix undef handling for binary ops
We need to be careful about correctly handling that undef results
in a null value. Otherwise, apart from simply generating incorrect
results, we may also end up performing non-monotonic lattice
transitions, thus causing an infinite type inference loop (see
test).
2016-05-14 17:16:32 +02:00
Sara Golemon
95af467d8d Raise compiler warning on octal overflow
Addresses https://bugs.php.net/bug.php?id=71994
2016-05-14 00:20:32 +00:00
Dmitry Stogov
be071702b3 Fixed bug #72188 (Nested try/finally blocks losing return value) 2016-05-13 14:38:43 +03:00
Dmitry Stogov
e9c3f9fcde Fixed bug #72177 (Scope issue in __destruct after ReflectionProperty::setValue()) 2016-05-13 11:55:09 +03:00
Anatol Belski
aea0d577f9 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix dir separator in test
2016-05-12 20:38:02 +02:00
Anatol Belski
f751b1ceaf fix dir separator in test 2016-05-12 20:37:04 +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
515a61069a Added test 2016-05-11 12:55:33 +03:00
Xinchen Hui
9e404927a6 Merge branch 'PHP-7.0' 2016-05-07 22:05:05 -07:00
Xinchen Hui
69adf2370e Fixed test 2016-05-07 22:04:20 -07:00
Xinchen Hui
4cd9cf8257 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test
  Revert "Fix bug #72162 (again)"
2016-05-06 10:53:25 +08:00
Xinchen Hui
080f6b10ec Fixed test 2016-05-06 10:51:38 +08:00
Levi Morrison
56c3d75780 Fix bug #71428
This also affects bug #72119
2016-05-05 11:53:32 -06:00
Levi Morrison
9662259cb9 Add nullable parameter types
This works off of Dmitry's commit for nullable return types
2016-05-05 11:53:32 -06:00
Dmitry Stogov
49fe737e58 Implement nullable return types. 2016-05-05 09:34:16 -06:00
Xinchen Hui
badf1edffd Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72162 (use-after-free - error_reporting)
2016-05-05 11:02:34 +08:00
Xinchen Hui
9191862121 Fixed bug #72162 (use-after-free - error_reporting) 2016-05-05 11:02:21 +08:00
Nikita Popov
bfef17ab65 Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_compile.c
2016-05-04 18:43:55 +02:00
Nikita Popov
9af0c96af4 Fix bug #72159 2016-05-04 18:43:11 +02:00
Nikita Popov
d06431bf1b Merge branch 'PHP-7.0' 2016-05-03 18:15:29 +02:00
Nikita Popov
fbae590bf0 Fix leaks in QM_ASSIGN, JMP_SET and COALESCE
The QM_ASSIGN code was rewritten to use the standard pattern for
handling CVs and VARs.
2016-05-03 18:12:56 +02:00
Nikita Popov
0ce7189265 Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_constants.c
2016-05-02 20:04:24 +02:00
Nikita Popov
ec7c3c22b6 Fix leak in zend_get_constant_ex 2016-05-02 19:59:43 +02:00
Joe Watkins
5e10735d07 improve test coverage of multicatch 2016-05-02 18:48:50 +01: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
Anatol Belski
770a6d1342 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test if unlink fails occasionally
  fix dir separator in test
2016-05-01 19:27:13 +02:00
Anatol Belski
81e62e66d6 fix dir separator in test 2016-05-01 19:05:02 +02:00
Nikita Popov
6a9a0f2090 Merge branch 'PHP-7.0' 2016-05-01 13:05:28 +02:00
Nikita Popov
d0069ca6c1 Fix ('\bar')() in namespace 2016-05-01 13:05:14 +02:00
Nikita Popov
0615c59a4f Mark all $php_errormsg as refs to inhibit optimization 2016-04-30 12:34:01 +02:00
Dmitry Stogov
19c0335609 Revert "Fix bad merge into master"
This reverts commit 2c8e4ba8f1.
2016-04-29 11:15:26 +03:00
Nikita Popov
153b27dff1 Fix GC tests on dbg-zts-nocache
We may collect a different number of zvals depending on interning.
Switch tests to compare against a minimum number of collections
instead of a fixed value.
2016-04-28 20:10:28 +02:00
Bob Weinand
2c8e4ba8f1 Fix bad merge into master
This should only have been reverted in 7.0, but not for 7.1. (merge=ours??)
Added appropriate NEWS entry.
2016-04-28 19:32:14 +02:00
Dmitry Stogov
033a8020c2 Merge branch 'PHP-7.0'
* PHP-7.0:
  Added test
2016-04-28 20:12:57 +03:00
Dmitry Stogov
d851e8389c Added test 2016-04-28 20:12:42 +03:00
Dmitry Stogov
389f77b37c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed BC break described by bug #72119. It was introduced after 7.0.5 release by attempt to fix bug #71428.
2016-04-28 19:57:59 +03:00
Dmitry Stogov
9e45ac53ce Fixed BC break described by bug #72119.
It was introduced after 7.0.5 release by attempt to fix bug #71428.
2016-04-28 19:56:10 +03: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
Nikita Popov
4f54c15cb1 Ct bind private/final $this method call args
The test covers two edge-cases wrt opcache support.
2016-04-27 17:10:44 +02:00
Dmitry Stogov
11e06e91ec Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72101 (crash on complex code)
2016-04-25 14:15:06 +03:00
Dmitry Stogov
92233dd736 Fixed bug #72101 (crash on complex code) 2016-04-25 14:11:46 +03:00
Bob Weinand
ecf6392243 Merge remote-tracking branch 'origin/PHP-7.0' 2016-04-21 02:50:14 +02:00
Bob Weinand
a287c3f776 Fix magic constants (__LINE__) with ?? for constant scalar exprs
Also fix general memory leak when root ast gets replaced in compile time evaluation
2016-04-21 02:45:09 +02:00
Bob Weinand
36202ef056 Merge remote-tracking branch 'origin/PHP-7.0' 2016-04-21 01:26:48 +02:00
Márcio Almada
9f3eab44df allow null coalescing (??) on constant expressions 2016-04-21 01:22:28 +02:00