[PHP-CVS] svn: /php/php-src/ branches/PHP_5_4/Zend/tests/argument_restriction_006.phpt trunk/Zend/tests/argument_restriction_006.phpt
laruence Mon, 31 Oct 2011 06:04:43 + Revision: http://svn.php.net/viewvc?view=revisionrevision=318600 Log: Test for #60174 (Notice when array in method prototype error) Bug: https://bugs.php.net/60174 (Closed) Notice when array in method prototype error Changed paths: A php/php-src/branches/PHP_5_4/Zend/tests/argument_restriction_006.phpt A php/php-src/trunk/Zend/tests/argument_restriction_006.phpt Added: php/php-src/branches/PHP_5_4/Zend/tests/argument_restriction_006.phpt === --- php/php-src/branches/PHP_5_4/Zend/tests/argument_restriction_006.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/Zend/tests/argument_restriction_006.phpt 2011-10-31 06:04:43 UTC (rev 318600) @@ -0,0 +1,16 @@ +--TEST-- +Bug #60174 (Notice when array in method prototype error) +--FILE-- +?php +Abstract Class Base { + public function test($foo, $extra = array(test)) { + } +} + +class Sub extends Base { + public function test($foo, $extra) { + } +} +? +--EXPECTF-- +Strict Standards: Declaration of Sub::test() should be compatible with Base::test($foo, $extra = Array) in %sargument_restriction_006.php on line %d Added: php/php-src/trunk/Zend/tests/argument_restriction_006.phpt === --- php/php-src/trunk/Zend/tests/argument_restriction_006.phpt (rev 0) +++ php/php-src/trunk/Zend/tests/argument_restriction_006.phpt 2011-10-31 06:04:43 UTC (rev 318600) @@ -0,0 +1,16 @@ +--TEST-- +Bug #60174 (Notice when array in method prototype error) +--FILE-- +?php +Abstract Class Base { + public function test($foo, $extra = array(test)) { + } +} + +class Sub extends Base { + public function test($foo, $extra) { + } +} +? +--EXPECTF-- +Strict Standards: Declaration of Sub::test() should be compatible with Base::test($foo, $extra = Array) in %sargument_restriction_006.php on line %d -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_4/Zend/tests/bug60169.phpt trunk/Zend/tests/bug60169.phpt
laruence Mon, 31 Oct 2011 06:52:45 + Revision: http://svn.php.net/viewvc?view=revisionrevision=318602 Log: Update tests Changed paths: U php/php-src/branches/PHP_5_4/Zend/tests/bug60169.phpt U php/php-src/trunk/Zend/tests/bug60169.phpt Modified: php/php-src/branches/PHP_5_4/Zend/tests/bug60169.phpt === --- php/php-src/branches/PHP_5_4/Zend/tests/bug60169.phpt 2011-10-31 06:48:20 UTC (rev 318601) +++ php/php-src/branches/PHP_5_4/Zend/tests/bug60169.phpt 2011-10-31 06:52:45 UTC (rev 318602) @@ -6,7 +6,8 @@ ?php error_reporting(0); $arr = array(test); -list($a,$b)= is_array($arr)? $arr : $arr; +list($a,$b) = is_array($arr)? $arr : $arr; +list($c,$d) = is_array($arr)?: NULL; echo ok\n; --EXPECT-- ok Modified: php/php-src/trunk/Zend/tests/bug60169.phpt === --- php/php-src/trunk/Zend/tests/bug60169.phpt 2011-10-31 06:48:20 UTC (rev 318601) +++ php/php-src/trunk/Zend/tests/bug60169.phpt 2011-10-31 06:52:45 UTC (rev 318602) @@ -6,7 +6,8 @@ ?php error_reporting(0); $arr = array(test); -list($a,$b)= is_array($arr)? $arr : $arr; +list($a,$b) = is_array($arr)? $arr : $arr; +list($c,$d) = is_array($arr)?: NULL; echo ok\n; --EXPECT-- ok -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/ext/oci8/oci8.c branches/PHP_5_4/ext/oci8/oci8.c trunk/ext/oci8/oci8.c
sixd Mon, 31 Oct 2011 20:48:25 + Revision: http://svn.php.net/viewvc?view=revisionrevision=318619 Log: OCI8: improve initialization error message (See bug 60154) Bug: https://bugs.php.net/60154 (Bogus) OCIEnvNlsCreate() failed. please check that LD_LIBRARY_PATH includes ... Changed paths: U php/php-src/branches/PHP_5_3/ext/oci8/oci8.c U php/php-src/branches/PHP_5_4/ext/oci8/oci8.c U php/php-src/trunk/ext/oci8/oci8.c Modified: php/php-src/branches/PHP_5_3/ext/oci8/oci8.c === --- php/php-src/branches/PHP_5_3/ext/oci8/oci8.c2011-10-31 19:34:59 UTC (rev 318618) +++ php/php-src/branches/PHP_5_3/ext/oci8/oci8.c2011-10-31 20:48:25 UTC (rev 318619) @@ -79,11 +79,14 @@ #endif /* For a user friendly message about environment setup */ -/* TODO: add cases for SHLIB_PATH, LIBPATH, LD_LIBRARY_PATH_64 etc */ #if defined(PHP_WIN32) #define PHP_OCI8_LIB_PATH_MSG PATH #elif defined(__APPLE__) #define PHP_OCI8_LIB_PATH_MSG DYLD_LIBRARY_PATH +#elif defined(_AIX) +#define PHP_OCI8_LIB_PATH_MSG LIBPATH +#elif defined(__hpux) +#define PHP_OCI8_LIB_PATH_MSG SHLIB_PATH #else #define PHP_OCI8_LIB_PATH_MSG LD_LIBRARY_PATH #endif Modified: php/php-src/branches/PHP_5_4/ext/oci8/oci8.c === --- php/php-src/branches/PHP_5_4/ext/oci8/oci8.c2011-10-31 19:34:59 UTC (rev 318618) +++ php/php-src/branches/PHP_5_4/ext/oci8/oci8.c2011-10-31 20:48:25 UTC (rev 318619) @@ -79,11 +79,14 @@ #endif /* For a user friendly message about environment setup */ -/* TODO: add cases for SHLIB_PATH, LIBPATH, LD_LIBRARY_PATH_64 etc */ #if defined(PHP_WIN32) #define PHP_OCI8_LIB_PATH_MSG PATH #elif defined(__APPLE__) #define PHP_OCI8_LIB_PATH_MSG DYLD_LIBRARY_PATH +#elif defined(_AIX) +#define PHP_OCI8_LIB_PATH_MSG LIBPATH +#elif defined(__hpux) +#define PHP_OCI8_LIB_PATH_MSG SHLIB_PATH #else #define PHP_OCI8_LIB_PATH_MSG LD_LIBRARY_PATH #endif Modified: php/php-src/trunk/ext/oci8/oci8.c === --- php/php-src/trunk/ext/oci8/oci8.c 2011-10-31 19:34:59 UTC (rev 318618) +++ php/php-src/trunk/ext/oci8/oci8.c 2011-10-31 20:48:25 UTC (rev 318619) @@ -79,11 +79,14 @@ #endif /* For a user friendly message about environment setup */ -/* TODO: add cases for SHLIB_PATH, LIBPATH, LD_LIBRARY_PATH_64 etc */ #if defined(PHP_WIN32) #define PHP_OCI8_LIB_PATH_MSG PATH #elif defined(__APPLE__) #define PHP_OCI8_LIB_PATH_MSG DYLD_LIBRARY_PATH +#elif defined(_AIX) +#define PHP_OCI8_LIB_PATH_MSG LIBPATH +#elif defined(__hpux) +#define PHP_OCI8_LIB_PATH_MSG SHLIB_PATH #else #define PHP_OCI8_LIB_PATH_MSG LD_LIBRARY_PATH #endif -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_4/Zend/tests/traits/bug60173.phpt branches/PHP_5_4/Zend/zend_API.c trunk/Zend/tests/traits/bug60173.phpt trunk/Zend/zend_API.c
gron Mon, 31 Oct 2011 22:59:00 + Revision: http://svn.php.net/viewvc?view=revisionrevision=318621 Log: Fixed Bug #60173 (Wrong error message on reflective trait instantiation) Bug: https://bugs.php.net/60173 (Assigned) Wrong message on trait instantiation Changed paths: A php/php-src/branches/PHP_5_4/Zend/tests/traits/bug60173.phpt U php/php-src/branches/PHP_5_4/Zend/zend_API.c A php/php-src/trunk/Zend/tests/traits/bug60173.phpt U php/php-src/trunk/Zend/zend_API.c Added: php/php-src/branches/PHP_5_4/Zend/tests/traits/bug60173.phpt === --- php/php-src/branches/PHP_5_4/Zend/tests/traits/bug60173.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/Zend/tests/traits/bug60173.phpt 2011-10-31 22:59:00 UTC (rev 318621) @@ -0,0 +1,12 @@ +--TEST-- +Bug #60173 (Wrong error message on reflective trait instantiation) +--FILE-- +?php + +trait foo { } + +$rc = new ReflectionClass('foo'); +$rc-newInstance(); + +--EXPECTF-- +Fatal error: Cannot instantiate trait foo in %s on line %d Modified: php/php-src/branches/PHP_5_4/Zend/zend_API.c === --- php/php-src/branches/PHP_5_4/Zend/zend_API.c2011-10-31 21:49:35 UTC (rev 318620) +++ php/php-src/branches/PHP_5_4/Zend/zend_API.c2011-10-31 22:59:00 UTC (rev 318621) @@ -1107,7 +1107,9 @@ zend_object *object; if (class_type-ce_flags (ZEND_ACC_INTERFACE|ZEND_ACC_IMPLICIT_ABSTRACT_CLASS|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS)) { - char *what = class_type-ce_flags ZEND_ACC_INTERFACE ? interface : abstract class; + char *what = (class_type-ce_flags ZEND_ACC_INTERFACE) ? interface +:((class_type-ce_flags ZEND_ACC_TRAIT) == ZEND_ACC_TRAIT) ? trait +: abstract class; zend_error(E_ERROR, Cannot instantiate %s %s, what, class_type-name); } Added: php/php-src/trunk/Zend/tests/traits/bug60173.phpt === --- php/php-src/trunk/Zend/tests/traits/bug60173.phpt (rev 0) +++ php/php-src/trunk/Zend/tests/traits/bug60173.phpt 2011-10-31 22:59:00 UTC (rev 318621) @@ -0,0 +1,12 @@ +--TEST-- +Bug #60173 (Wrong error message on reflective trait instantiation) +--FILE-- +?php + +trait foo { } + +$rc = new ReflectionClass('foo'); +$rc-newInstance(); + +--EXPECTF-- +Fatal error: Cannot instantiate trait foo in %s on line %d Modified: php/php-src/trunk/Zend/zend_API.c === --- php/php-src/trunk/Zend/zend_API.c 2011-10-31 21:49:35 UTC (rev 318620) +++ php/php-src/trunk/Zend/zend_API.c 2011-10-31 22:59:00 UTC (rev 318621) @@ -1107,7 +1107,9 @@ zend_object *object; if (class_type-ce_flags (ZEND_ACC_INTERFACE|ZEND_ACC_IMPLICIT_ABSTRACT_CLASS|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS)) { - char *what = class_type-ce_flags ZEND_ACC_INTERFACE ? interface : abstract class; + char *what = (class_type-ce_flags ZEND_ACC_INTERFACE) ? interface +:((class_type-ce_flags ZEND_ACC_TRAIT) == ZEND_ACC_TRAIT) ? trait +: abstract class; zend_error(E_ERROR, Cannot instantiate %s %s, what, class_type-name); } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_4/Zend/tests/traits/bug60145.phpt branches/PHP_5_4/Zend/zend_compile.c trunk/Zend/tests/traits/bug60145.phpt trunk/Zend/zend_compile.c
gron Tue, 01 Nov 2011 00:39:10 + Revision: http://svn.php.net/viewvc?view=revisionrevision=318625 Log: Fixed Bug #60145 (Usage of trait's use statement inside interfaces not properly checked.) Bug: https://bugs.php.net/60145 (Assigned) interface + use trait yields error for the abstract class? Changed paths: A php/php-src/branches/PHP_5_4/Zend/tests/traits/bug60145.phpt U php/php-src/branches/PHP_5_4/Zend/zend_compile.c A php/php-src/trunk/Zend/tests/traits/bug60145.phpt U php/php-src/trunk/Zend/zend_compile.c Added: php/php-src/branches/PHP_5_4/Zend/tests/traits/bug60145.phpt === --- php/php-src/branches/PHP_5_4/Zend/tests/traits/bug60145.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/Zend/tests/traits/bug60145.phpt 2011-11-01 00:39:10 UTC (rev 318625) @@ -0,0 +1,17 @@ +--TEST-- +Bug #60145 (Usage of trait's use statement inside interfaces not properly checked.) +--FILE-- +?php + +trait foo { + +} + +interface MyInterface { + use foo; + + public function b(); + +} +--EXPECTF-- +Fatal error: Cannot use traits inside of interfaces. foo is used in MyInterface in %s on line %d Modified: php/php-src/branches/PHP_5_4/Zend/zend_compile.c === --- php/php-src/branches/PHP_5_4/Zend/zend_compile.c2011-11-01 00:08:34 UTC (rev 318624) +++ php/php-src/branches/PHP_5_4/Zend/zend_compile.c2011-11-01 00:39:10 UTC (rev 318625) @@ -5023,7 +5023,13 @@ void zend_do_implements_trait(znode *trait_name TSRMLS_DC) /* {{{ */ { zend_op *opline; + if ((CG(active_class_entry)-ce_flags ZEND_ACC_INTERFACE)) { +zend_error(E_COMPILE_ERROR, + Cannot use traits inside of interfaces. %s is used in %s, + Z_STRVAL(trait_name-u.constant), CG(active_class_entry)-name); + } + switch (zend_get_class_fetch_type(Z_STRVAL(trait_name-u.constant), Z_STRLEN(trait_name-u.constant))) { case ZEND_FETCH_CLASS_SELF: case ZEND_FETCH_CLASS_PARENT: Added: php/php-src/trunk/Zend/tests/traits/bug60145.phpt === --- php/php-src/trunk/Zend/tests/traits/bug60145.phpt (rev 0) +++ php/php-src/trunk/Zend/tests/traits/bug60145.phpt 2011-11-01 00:39:10 UTC (rev 318625) @@ -0,0 +1,17 @@ +--TEST-- +Bug #60145 (Usage of trait's use statement inside interfaces not properly checked.) +--FILE-- +?php + +trait foo { + +} + +interface MyInterface { + use foo; + + public function b(); + +} +--EXPECTF-- +Fatal error: Cannot use traits inside of interfaces. foo is used in MyInterface in %s on line %d Modified: php/php-src/trunk/Zend/zend_compile.c === --- php/php-src/trunk/Zend/zend_compile.c 2011-11-01 00:08:34 UTC (rev 318624) +++ php/php-src/trunk/Zend/zend_compile.c 2011-11-01 00:39:10 UTC (rev 318625) @@ -5023,7 +5023,13 @@ void zend_do_implements_trait(znode *trait_name TSRMLS_DC) /* {{{ */ { zend_op *opline; + if ((CG(active_class_entry)-ce_flags ZEND_ACC_INTERFACE)) { +zend_error(E_COMPILE_ERROR, + Cannot use traits inside of interfaces. %s is used in %s, + Z_STRVAL(trait_name-u.constant), CG(active_class_entry)-name); + } + switch (zend_get_class_fetch_type(Z_STRVAL(trait_name-u.constant), Z_STRLEN(trait_name-u.constant))) { case ZEND_FETCH_CLASS_SELF: case ZEND_FETCH_CLASS_PARENT: -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php