--- /dev/null
+--TEST--
+Live ranges should be ordered according to "start" position
+--FILE--
+<?php
+set_error_handler(function($no, $msg) { throw new Exception; });
+
+try {
+ $a = [];
+ $str = "$a${"y$a$a"}y";
+} catch (Exception $e) {
+ echo "Exception\n";
+}
+?>
+DONE
+--EXPECT--
+DONE
+
GET_NODE(result, opline->result);
} else {
uint32_t var;
- uint32_t range = zend_start_live_range(CG(active_op_array), rope_init_lineno);
+ uint32_t range = zend_start_live_range_ex(CG(active_op_array), rope_init_lineno);
init_opline->extended_value = j;
opline->opcode = ZEND_ROPE_END;