summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r--Zend/zend_opcode.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index f1c4e1d4bb..35e85cc16f 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -390,6 +390,11 @@ int pass_two(zend_op_array *op_array TSRMLS_DC)
Z_SET_REFCOUNT(opline->op2.u.constant, 2);
}
switch (opline->opcode) {
+ case ZEND_GOTO:
+ if (Z_TYPE(opline->op2.u.constant) != IS_LONG) {
+ zend_resolve_goto_label(op_array, opline, 1 TSRMLS_CC);
+ }
+ /* break omitted intentionally */
case ZEND_JMP:
opline->op1.u.jmp_addr = &op_array->opcodes[opline->op1.u.opline_num];
break;