cvs: ZendEngine2 / zend_compile.c zend_compile.h zend_vm_def.h zend_vm_execute.h /tests bug47165.phpt php-src/ext/standard/tests/array extract_variation9.phpt
[email protected] ("Dmitry Stogov") Tue, 20 Jan 2009 13:22:27 -0000
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvsdmitry1232457747@cvsserver> |
dmitry Tue Jan 20 13:22:27 2009 UTC
Modified files:
/php-src/ext/standard/tests/array extract_variation9.phpt
/ZendEngine2 zend_compile.c zend_compile.h zend_vm_def.h
zend_vm_execute.h
/ZendEngine2/tests bug47165.phpt
Log:
Removed wrong warning message
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/extract_variation9.phpt?r1=1.4&r2=1.5&diff_format=u
Index: php-src/ext/standard/tests/array/extract_variation9.phpt
diff -u php-src/ext/standard/tests/array/extract_variation9.phpt:1.4 php-src/ext/standard/tests/array/extract_variation9.phpt:1.5
--- php-src/ext/standard/tests/array/extract_variation9.phpt:1.4 Tue Jan 20 11:23:03 2009
+++ php-src/ext/standard/tests/array/extract_variation9.phpt Tue Jan 20 13:22:25 2009
@@ -14,9 +14,7 @@
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
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.c?r1=1.849&r2=1.850&diff_format=u
Index: ZendEngine2/zend_compile.c
diff -u ZendEngine2/zend_compile.c:1.849 ZendEngine2/zend_compile.c:1.850
--- ZendEngine2/zend_compile.c:1.849 Tue Jan 20 11:23:04 2009
+++ ZendEngine2/zend_compile.c Tue Jan 20 13:22:25 2009
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_compile.c,v 1.849 2009/01/20 11:23:04 dmitry Exp $ */
+/* $Id: zend_compile.c,v 1.850 2009/01/20 13:22:25 dmitry Exp $ */
#include <zend_language_parser.h>
#include "zend.h"
@@ -2218,7 +2218,7 @@
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;
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_compile.h?r1=1.391&r2=1.392&diff_format=u
Index: ZendEngine2/zend_compile.h
diff -u ZendEngine2/zend_compile.h:1.391 ZendEngine2/zend_compile.h:1.392
--- ZendEngine2/zend_compile.h:1.391 Wed Dec 31 11:12:28 2008
+++ ZendEngine2/zend_compile.h Tue Jan 20 13:22:26 2009
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_compile.h,v 1.391 2008/12/31 11:12:28 sebastian Exp $ */
+/* $Id: zend_compile.h,v 1.392 2009/01/20 13:22:26 dmitry Exp $ */
#ifndef ZEND_COMPILE_H
#define ZEND_COMPILE_H
@@ -725,6 +725,7 @@
#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
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_def.h?r1=1.255&r2=1.256&diff_format=u
Index: ZendEngine2/zend_vm_def.h
diff -u ZendEngine2/zend_vm_def.h:1.255 ZendEngine2/zend_vm_def.h:1.256
--- ZendEngine2/zend_vm_def.h:1.255 Thu Jan 15 08:49:11 2009
+++ ZendEngine2/zend_vm_def.h Tue Jan 20 13:22:26 2009
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_vm_def.h,v 1.255 2009/01/15 08:49:11 dmitry Exp $ */
+/* $Id: zend_vm_def.h,v 1.256 2009/01/20 13:22:26 dmitry Exp $ */
/* If you change this file, please regenerate the zend_vm_execute.h and
* zend_vm_opcodes.h files by running:
@@ -2722,7 +2722,9 @@
} 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()) {
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_execute.h?r1=1.259&r2=1.260&diff_format=u
Index: ZendEngine2/zend_vm_execute.h
diff -u ZendEngine2/zend_vm_execute.h:1.259 ZendEngine2/zend_vm_execute.h:1.260
--- ZendEngine2/zend_vm_execute.h:1.259 Thu Jan 15 08:49:11 2009
+++ ZendEngine2/zend_vm_execute.h Tue Jan 20 13:22:26 2009
@@ -8531,7 +8531,9 @@
} 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) {
@@ -23274,7 +23276,9 @@
} 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) {
http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug47165.phpt?r1=1.2&r2=1.3&diff_format=u
Index: ZendEngine2/tests/bug47165.phpt
diff -u ZendEngine2/tests/bug47165.phpt:1.2 ZendEngine2/tests/bug47165.phpt:1.3
--- ZendEngine2/tests/bug47165.phpt:1.2 Tue Jan 20 11:23:04 2009
+++ ZendEngine2/tests/bug47165.phpt Tue Jan 20 13:22:26 2009
@@ -14,7 +14,5 @@
extract(Foo::bar());
echo "ok\n";
?>
---EXPECTF--
-
-Strict Standards: Only variables should be passed by reference in %sbug47165.php on line 11
+--EXPECT--
ok