Skip to content

Commit e087d3a

Browse files
committed
Merge branch 'master' into native-tls
* 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. ...
2 parents ba35b22 + 92a9477 commit e087d3a

33 files changed

+5473
-7393
lines changed

NEWS

+7
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ PHP NEWS
2323
. Fixed bug #68185 ("Inconsistent insteadof definition."- incorrectly triggered). (Julien)
2424
. Fixed bug #65419 (Inside trait, self::class != __CLASS__). (Julien)
2525

26+
- Date:
27+
. Fixed day_of_week function as it could sometimes return negative values
28+
internally. (Derick)
29+
2630
- DBA:
2731
. Fixed bug #62490 (dba_delete returns true on missing item (inifile)). (Mike)
2832

@@ -44,6 +48,9 @@ PHP NEWS
4448
- LiteSpeed:
4549
. Updated LiteSpeed SAPI code from V5.5 to V6.6. (George Wang)
4650

51+
- Mcrypt:
52+
. Fixed possible read after end of buffer and use after free. (Dmitry)
53+
4754
- pcntl:
4855
. Fixed bug #60509 (pcntl_signal doesn't decrease ref-count of old handler
4956
when setting SIG_DFL). (Julien)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
--TEST--
2+
Precedence of yield and arrow operators
3+
--FILE--
4+
<?php
5+
6+
function gen() {
7+
yield "a" . "b";
8+
yield "a" or die;
9+
yield "k" => "a" . "b";
10+
yield "k" => "a" or die;
11+
var_dump([yield "k" => "a" . "b"]);
12+
yield yield "k1" => yield "k2" => "a" . "b";
13+
yield yield "k1" => (yield "k2") => "a" . "b";
14+
var_dump([yield "k1" => yield "k2" => "a" . "b"]);
15+
var_dump([yield "k1" => (yield "k2") => "a" . "b"]);
16+
}
17+
18+
$g = gen();
19+
for ($g->rewind(), $i = 1; $g->valid(); $g->send($i), $i++) {
20+
echo "{$g->key()} => {$g->current()}\n";
21+
}
22+
23+
?>
24+
--EXPECT--
25+
0 => ab
26+
1 => a
27+
k => ab
28+
k => a
29+
k => ab
30+
array(1) {
31+
[0]=>
32+
int(5)
33+
}
34+
k2 => ab
35+
k1 => 6
36+
2 => 7
37+
3 => k2
38+
k1 => 9
39+
10 => ab
40+
k2 => ab
41+
k1 => 12
42+
array(1) {
43+
[0]=>
44+
int(13)
45+
}
46+
11 => k2
47+
k1 => 14
48+
array(1) {
49+
[15]=>
50+
string(2) "ab"
51+
}

0 commit comments

Comments
 (0)