File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed
Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -867,12 +867,12 @@ static bool keeps_op1_alive(zend_op *opline) {
867867 || opline -> opcode == ZEND_SWITCH_STRING
868868 || opline -> opcode == ZEND_MATCH
869869 || opline -> opcode == ZEND_FETCH_LIST_R
870+ || opline -> opcode == ZEND_FETCH_LIST_W
870871 || opline -> opcode == ZEND_COPY_TMP ) {
871872 return 1 ;
872873 }
873874 ZEND_ASSERT (opline -> opcode != ZEND_FE_FETCH_R
874875 && opline -> opcode != ZEND_FE_FETCH_RW
875- && opline -> opcode != ZEND_FETCH_LIST_W
876876 && opline -> opcode != ZEND_VERIFY_RETURN_TYPE
877877 && opline -> opcode != ZEND_BIND_LEXICAL
878878 && opline -> opcode != ZEND_ROPE_ADD );
Original file line number Diff line number Diff line change 1+ --TEST--
2+ DCE may remove FREE after FETCH_LIST_W
3+ --FILE--
4+ <?php
5+ function () {
6+ $ a = $ r [][] = $ r = [] & $ y ;
7+ +list (&$ y ) = $ a ;
8+ }
9+ ?>
10+ DONE
11+ --EXPECT--
12+ DONE
You can’t perform that action at this time.
0 commit comments