@@ -7032,7 +7032,7 @@ static zend_bool zend_try_ct_eval_array(zval *result, zend_ast *ast) /* {{{ */
7032
7032
for (i = 0 ; i < list -> children ; ++ i ) {
7033
7033
zend_ast * elem_ast = list -> child [i ];
7034
7034
zend_ast * value_ast = elem_ast -> child [0 ];
7035
- zend_ast * key_ast = elem_ast -> child [ 1 ] ;
7035
+ zend_ast * key_ast ;
7036
7036
7037
7037
zval * value = zend_ast_get_zval (value_ast );
7038
7038
if (elem_ast -> kind == ZEND_AST_UNPACK ) {
@@ -7060,6 +7060,7 @@ static zend_bool zend_try_ct_eval_array(zval *result, zend_ast *ast) /* {{{ */
7060
7060
7061
7061
Z_TRY_ADDREF_P (value );
7062
7062
7063
+ key_ast = elem_ast -> child [1 ];
7063
7064
if (key_ast ) {
7064
7065
zval * key = zend_ast_get_zval (key_ast );
7065
7066
switch (Z_TYPE_P (key )) {
@@ -7823,8 +7824,6 @@ void zend_compile_array(znode *result, zend_ast *ast) /* {{{ */
7823
7824
}
7824
7825
7825
7826
value_ast = elem_ast -> child [0 ];
7826
- key_ast = elem_ast -> child [1 ];
7827
- by_ref = elem_ast -> attr ;
7828
7827
7829
7828
if (elem_ast -> kind == ZEND_AST_UNPACK ) {
7830
7829
zend_compile_expr (& value_node , value_ast );
@@ -7836,6 +7835,9 @@ void zend_compile_array(znode *result, zend_ast *ast) /* {{{ */
7836
7835
continue ;
7837
7836
}
7838
7837
7838
+ key_ast = elem_ast -> child [1 ];
7839
+ by_ref = elem_ast -> attr ;
7840
+
7839
7841
if (key_ast ) {
7840
7842
zend_compile_expr (& key_node , key_ast );
7841
7843
zend_handle_numeric_op (& key_node );
0 commit comments