Nikita Popov
1391a0fa0b
Fixed bug #75893
...
It is not sufficient to just add the additional types for aliased
variables at the end of type inference, because types of derived
variables may depend on them. Make sure the additional types are
always added whenever the type of an aliased variable is updated.
2018-02-05 21:41:44 +01:00
Dmitry Stogov
3a794d39f0
Avoid repeatable ARG_SHOULD_BE_SENT_BY_REF() checks in FETCH_*FUNC_ARG and following SEND_VAR_EX. Perform the check once in a new CHECK_FUNC_ARG opcode and reuse in the following FETCH_*FUNC_ARG and SEND_FUNC_ARG (SEND_VAR_EX replacement).
2018-02-05 19:40:06 +03:00
Dmitry Stogov
f67f455ef7
Changed FETCH_CLASS instruction format (extended_value moved into op1)
2018-01-31 18:14:43 +03:00
Nikita Popov
f208187773
Backport narrowing fix to 7.1
...
This is a cherry-pick of 8a4532319d
.
2018-01-09 18:41:46 +01:00
Gabriel Caruso
6400264856
Trailing whitespaces
...
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2018-01-03 14:38:00 +01:00
Xinchen Hui
a6519d0514
year++
2018-01-02 12:57:58 +08:00
Xinchen Hui
7a7ec01a49
year++
2018-01-02 12:55:14 +08:00
Xinchen Hui
ccd4716ec7
year++
2018-01-02 12:53:31 +08:00
Xinchen Hui
4deb63dc5a
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Updated NEWS
2017-12-17 09:42:18 +08:00
Xinchen Hui
a3b5b93ba9
Updated NEWS
2017-12-17 09:42:01 +08:00
Nikita Popov
46da97f7da
Merge branch 'PHP-7.2'
2017-12-16 21:12:57 +01:00
Nikita Popov
8a4532319d
Improve fix for bug #75687
...
Adding an (incorrect) UNDEF here may cause subsequent narrowing in
other places.
Instead, let's try to handle this edge-case once for all
instructions...
2017-12-16 21:11:40 +01:00
Xinchen Hui
ef9d2cecc6
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed bug #75687 (var 8 (TMP) has array key type but not value type)
2017-12-16 23:59:44 +08:00
Xinchen Hui
a20c9bd3fe
Fixed bug #75687 (var 8 (TMP) has array key type but not value type)
2017-12-16 23:59:10 +08:00
David Walker
6d4de4cf05
Implement list() reference assignments
...
Support list() reference assignments of the form:
list(&$a, list(&$b, $c)) = $d;
RFC: https://wiki.php.net/rfc/list_reference_assignment
2017-12-09 13:39:52 +01:00
Dmitry Stogov
c789dfee04
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed bug #75608 ("Narrowing occurred during type inference" error)
2017-12-04 17:23:34 +03:00
Dmitry Stogov
3503dc7482
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed bug #75608 ("Narrowing occurred during type inference" error)
2017-12-04 17:22:28 +03:00
Dmitry Stogov
5934bff913
Fixed bug #75608 ("Narrowing occurred during type inference" error)
2017-12-04 17:22:06 +03:00
Dmitry Stogov
88e257c152
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed bug in type inference
2017-11-27 10:17:07 +03:00
Dmitry Stogov
a4b2ae69e9
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed bug in type inference
2017-11-27 10:16:46 +03:00
Dmitry Stogov
776bef8447
Fixed bug in type inference
2017-11-27 10:16:16 +03:00
Dmitry Stogov
10d2a5c09d
Merge branch 'PHP-7.2'
...
* PHP-7.2:
typo
2017-11-22 16:31:23 +03:00
Dmitry Stogov
2a6a1fd22c
typo
2017-11-22 16:30:57 +03:00
Joe Watkins
3d12e70459
Merge branch 'PHP-7.2'
...
* PHP-7.2:
fix wrong check of definition_phi->constraint.range.max_ssa_var
2017-11-03 17:50:19 +00:00
Joe Watkins
c3ee17065b
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
fix wrong check of definition_phi->constraint.range.max_ssa_var
2017-11-03 17:49:52 +00:00
MITSUNARI Shigeo
21dbd2ffcd
fix wrong check of definition_phi->constraint.range.max_ssa_var
2017-11-03 17:49:42 +00:00
Xinchen Hui
60e8e4700c
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Use abbrev
2017-10-30 18:17:50 +08:00
Xinchen Hui
db4eb54149
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Use abbrev
2017-10-30 18:17:41 +08:00
Xinchen Hui
d9de0f8683
Use abbrev
2017-10-30 16:26:59 +08:00
Dmitry Stogov
1f5c0fad21
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed type inference
2017-10-30 10:44:25 +03:00
Dmitry Stogov
49256dcf6f
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed type inference
2017-10-30 10:44:12 +03:00
Dmitry Stogov
230e505fd8
Fixed type inference
2017-10-30 10:41:27 +03:00
Dmitry Stogov
ef5ea48741
Always use IS_CONSTANT_AST (IS_CONSTANT is removed).
2017-10-10 10:11:05 +03:00
Dmitry Stogov
e70618aff6
Changed the way VM accesses constant operands in 64-bit builds.
2017-10-04 16:53:01 +03:00
Dmitry Stogov
1f8970c156
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed bug #75255 (Request hangs and not finish)
2017-09-27 17:18:17 +03:00
Dmitry Stogov
978c6c4e31
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed bug #75255 (Request hangs and not finish)
2017-09-27 17:17:46 +03:00
Dmitry Stogov
1c68d63f35
Fixed bug #75255 (Request hangs and not finish)
2017-09-27 17:16:24 +03:00
Dmitry Stogov
a3fdf6f0f6
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Added missed ~
2017-09-25 12:23:11 +03:00
Dmitry Stogov
2a33e357cd
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Added missed ~
2017-09-25 12:23:01 +03:00
Dmitry Stogov
550595c085
Added missed ~
2017-09-25 12:22:35 +03:00
Dmitry Stogov
40df83ec29
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Fixed type inference
2017-09-25 12:05:24 +03:00
Dmitry Stogov
801cdb8945
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fixed type inference
2017-09-25 12:04:13 +03:00
Dmitry Stogov
d526ddec85
Fixed type inference
2017-09-25 12:03:47 +03:00
Dmitry Stogov
8109ebbd05
Allow removing of unused func_get_args() and func_get_num_args().
2017-09-18 14:37:51 +03:00
Dmitry Stogov
296d844058
Fix inference (result of ++/-- can't be a reference)
2017-09-04 20:40:42 +03:00
Dmitry Stogov
2e462e12db
Fixed SSA construction for PRE_INC_OBJ and family (these opcodes change the source object)
2017-08-31 13:16:21 +03:00
Dmitry Stogov
44064529a8
Detect undefined variable usage
2017-08-30 16:02:29 +03:00
Dmitry Stogov
3b8f9d933f
Accurate handling of ZEND_ASSIGN_OBJ
2017-08-29 12:10:47 +03:00
Xinchen Hui
ee26c1efbc
Fixed type-infer
2017-08-21 16:35:07 +08:00
Xinchen Hui
2e002eaf70
Fixed for RESOURCE too
2017-08-19 18:55:56 +08:00