diff options
| -rw-r--r-- | Zend/zend_vm_def.h | 5 | ||||
| -rw-r--r-- | Zend/zend_vm_execute.h | 10 | 
2 files changed, 10 insertions, 5 deletions
| diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 3b42350f01..ad5c2d4e7c 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -18,6 +18,11 @@  /* $Id$ */ +/* If you change this file, please regenerate the zend_vm_execute.h and + * zend_vm_opcodes.h files by running: + * php zend_vm_gen.php + */ +  ZEND_VM_HANDLER(1, ZEND_ADD, CONST|TMP|VAR|CV, CONST|TMP|VAR|CV)  {  	zend_op *opline = EX(opline); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 7b71bcd9d4..689e0e6157 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1568,10 +1568,10 @@ static int ZEND_RETURN_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)  		if (IS_CONST == IS_VAR && !(*retval_ptr_ptr)->is_ref) {  			if (EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr  				|| (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) { -				zend_error(E_STRICT, "Only variable references should be returned by reference");  				if (IS_CONST == IS_VAR && free_op1.var == NULL) {  					PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */  				} +				zend_error(E_STRICT, "Only variable references should be returned by reference");  				goto return_by_value;  			}  		} @@ -4004,10 +4004,10 @@ static int ZEND_RETURN_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)  		if (IS_TMP_VAR == IS_VAR && !(*retval_ptr_ptr)->is_ref) {  			if (EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr  				|| (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) { -				zend_error(E_STRICT, "Only variable references should be returned by reference");  				if (IS_TMP_VAR == IS_VAR && free_op1.var == NULL) {  					PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */  				} +				zend_error(E_STRICT, "Only variable references should be returned by reference");  				goto return_by_value;  			}  		} @@ -6994,10 +6994,10 @@ static int ZEND_RETURN_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)  		if (IS_VAR == IS_VAR && !(*retval_ptr_ptr)->is_ref) {  			if (EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr  				|| (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) { -				zend_error(E_STRICT, "Only variable references should be returned by reference");  				if (IS_VAR == IS_VAR && free_op1.var == NULL) {  					PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */  				} +				zend_error(E_STRICT, "Only variable references should be returned by reference");  				goto return_by_value;  			}  		} @@ -19059,10 +19059,10 @@ static int ZEND_RETURN_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)  		if (IS_CV == IS_VAR && !(*retval_ptr_ptr)->is_ref) {  			if (EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr  				|| (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) { -				zend_error(E_STRICT, "Only variable references should be returned by reference");  				if (IS_CV == IS_VAR && free_op1.var == NULL) {  					PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */  				} +				zend_error(E_STRICT, "Only variable references should be returned by reference");  				goto return_by_value;  			}  		} @@ -31699,10 +31699,10 @@ static int ZEND_RETURN_HANDLER(ZEND_OPCODE_HANDLER_ARGS)  		if (opline->op1.op_type == IS_VAR && !(*retval_ptr_ptr)->is_ref) {  			if (EX_T(opline->op1.u.var).var.ptr_ptr == &EX_T(opline->op1.u.var).var.ptr  				|| (opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op1.u.var).var.fcall_returned_reference)) { -				zend_error(E_STRICT, "Only variable references should be returned by reference");  				if (opline->op1.op_type == IS_VAR && free_op1.var == NULL) {  					PZVAL_LOCK(*retval_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */  				} +				zend_error(E_STRICT, "Only variable references should be returned by reference");  				goto return_by_value;  			}  		} | 
