summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend-parser.y6
-rw-r--r--Zend/zend_compile.c1
2 files changed, 4 insertions, 3 deletions
diff --git a/Zend/zend-parser.y b/Zend/zend-parser.y
index 2d964f3844..6c62ad78f3 100644
--- a/Zend/zend-parser.y
+++ b/Zend/zend-parser.y
@@ -180,7 +180,7 @@ unticked_statement:
for_expr
';' { do_free(&$3 CLS_CC); $4.u.opline_num = get_next_op_number(CG(active_op_array)); }
for_expr
- ';' { do_for_cond(&$6, &$7 CLS_CC); }
+ ';' { do_extended_info(CLS_C); do_for_cond(&$6, &$7 CLS_CC); }
for_expr
')' { do_free(&$9 CLS_CC); do_for_before_statement(&$4, &$7 CLS_CC); }
for_statement { do_for_end(&$7 CLS_CC); }
@@ -276,8 +276,8 @@ switch_case_list:
case_list:
/* empty */ { $$.op_type = IS_UNUSED; }
- | case_list T_CASE expr case_separator { do_case_before_statement(&$1, &$2, &$3 CLS_CC); } inner_statement_list { do_case_after_statement(&$$, &$2 CLS_CC); $$.op_type = IS_CONST }
- | case_list T_DEFAULT case_separator { do_default_before_statement(&$1, &$2 CLS_CC); } inner_statement_list { do_case_after_statement(&$$, &$2 CLS_CC); $$.op_type = IS_CONST; }
+ | case_list T_CASE expr case_separator { do_extended_info(CLS_C); do_case_before_statement(&$1, &$2, &$3 CLS_CC); } inner_statement_list { do_case_after_statement(&$$, &$2 CLS_CC); $$.op_type = IS_CONST }
+ | case_list T_DEFAULT case_separator { do_extended_info(CLS_C); do_default_before_statement(&$1, &$2 CLS_CC); } inner_statement_list { do_case_after_statement(&$$, &$2 CLS_CC); $$.op_type = IS_CONST; }
;
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 317212abf7..4e6567b4e6 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -766,6 +766,7 @@ void do_begin_function_declaration(znode *function_token, znode *function_name,
void do_end_function_declaration(znode *function_token CLS_DC)
{
+ do_extended_info(CLS_C);
do_return(NULL, 0 CLS_CC);
pass_two(CG(active_op_array));
CG(active_op_array) = function_token->u.op_array;