[PHP-CVS] svn: /php/php-src/ branches/PHP_5_4/Zend/tests/argument_restriction_006.phpt trunk/Zend/tests/argument_restriction_006.phpt

2011-10-31 Thread Xinchen Hui
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

2011-10-31 Thread Xinchen Hui
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

2011-10-31 Thread Christopher Jones
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

2011-10-31 Thread Stefan Marr
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

2011-10-31 Thread Stefan Marr
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