Removed wrong warning message

This commit is contained in:
Dmitry Stogov 2009-01-20 13:21:52 +00:00
parent d1958eeea8
commit 666bf10d1a
6 changed files with 13 additions and 10 deletions

View File

@ -14,7 +14,5 @@ class Foo {
extract(Foo::bar());
echo "ok\n";
?>
--EXPECTF--
Strict Standards: Only variables should be passed by reference in %sbug47165.php on line 11
--EXPECT--
ok

View File

@ -2133,7 +2133,7 @@ void zend_do_pass_param(znode *param, zend_uchar op, int offset TSRMLS_DC)
if (op == ZEND_SEND_VAR && zend_is_function_or_method_call(param)) {
/* Method call */
op = ZEND_SEND_VAR_NO_REF;
send_function = ZEND_ARG_SEND_FUNCTION;
send_function = ZEND_ARG_SEND_FUNCTION | ZEND_ARG_SEND_SILENT;
}
} else {
op = ZEND_SEND_VAL;

View File

@ -702,6 +702,7 @@ int zendlex(znode *zendlval TSRMLS_DC);
#define ZEND_ARG_SEND_BY_REF (1<<0)
#define ZEND_ARG_COMPILE_TIME_BOUND (1<<1)
#define ZEND_ARG_SEND_FUNCTION (1<<2)
#define ZEND_ARG_SEND_SILENT (1<<3)
#define ZEND_SEND_BY_VAL 0
#define ZEND_SEND_BY_REF 1

View File

@ -2645,7 +2645,9 @@ ZEND_VM_HANDLER(106, ZEND_SEND_VAR_NO_REF, VAR|CV, ANY)
} else {
zval *valptr;
zend_error(E_STRICT, "Only variables should be passed by reference");
if (!(opline->extended_value & ZEND_ARG_SEND_SILENT)) {
zend_error(E_STRICT, "Only variables should be passed by reference");
}
ALLOC_ZVAL(valptr);
INIT_PZVAL_COPY(valptr, varptr);
if (!IS_OP1_TMP_FREE()) {

View File

@ -8202,7 +8202,9 @@ static int ZEND_FASTCALL ZEND_SEND_VAR_NO_REF_SPEC_VAR_HANDLER(ZEND_OPCODE_HAND
} else {
zval *valptr;
zend_error(E_STRICT, "Only variables should be passed by reference");
if (!(opline->extended_value & ZEND_ARG_SEND_SILENT)) {
zend_error(E_STRICT, "Only variables should be passed by reference");
}
ALLOC_ZVAL(valptr);
INIT_PZVAL_COPY(valptr, varptr);
if (!0) {
@ -22261,7 +22263,9 @@ static int ZEND_FASTCALL ZEND_SEND_VAR_NO_REF_SPEC_CV_HANDLER(ZEND_OPCODE_HANDL
} else {
zval *valptr;
zend_error(E_STRICT, "Only variables should be passed by reference");
if (!(opline->extended_value & ZEND_ARG_SEND_SILENT)) {
zend_error(E_STRICT, "Only variables should be passed by reference");
}
ALLOC_ZVAL(valptr);
INIT_PZVAL_COPY(valptr, varptr);
if (!0) {

View File

@ -14,9 +14,7 @@ var_dump ( extract(get_object_vars($A),EXTR_REFS));
echo "Done\n";
?>
--EXPECTF--
--EXPECT--
*** Testing for object ***
Strict Standards: Only variables should be passed by reference in %sextract_variation9.php on line 10
int(1)
Done