summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2016-01-24 19:55:31 +0100
committerBob Weinand <bobwei9@hotmail.com>2016-01-24 19:55:31 +0100
commit9017bb94d406904bd287947f21925a1a7841366b (patch)
tree932c80a4488b76ff072489ca85dc61da2835e0cc /Zend/zend_opcode.c
parent6d674b3d9128f8e13b1f43915e2bfe903e38f53c (diff)
parent001ce475ee158cbf020755f1f65aade28caafd73 (diff)
downloadphp-git-9017bb94d406904bd287947f21925a1a7841366b.tar.gz
Merge branch 'PHP-7.0'
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r--Zend/zend_opcode.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index 8b55037794..d58e59b1c1 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -696,9 +696,13 @@ ZEND_API int pass_two(zend_op_array *op_array)
case ZEND_VERIFY_RETURN_TYPE:
if (op_array->fn_flags & ZEND_ACC_GENERATOR) {
if (opline->op1_type != IS_UNUSED) {
- (opline + 1)->op1 = opline->op1;
- (opline + 1)->op1_type = opline->op1_type;
+ zend_op *ret = opline;
+ do ret++; while (ret->opcode != ZEND_RETURN);
+
+ ret->op1 = opline->op1;
+ ret->op1_type = opline->op1_type;
}
+
MAKE_NOP(opline);
}
break;