felipe Mon, 28 Jun 2010 16:37:57 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=300817
Log: - Reverted fix for bug #51421 Bug: http://bugs.php.net/51421 (Closed) Abstract __construct constructor argument list not enforced Changed paths: U php/php-src/branches/PHP_5_2/NEWS D php/php-src/branches/PHP_5_2/Zend/tests/bug51421.phpt U php/php-src/branches/PHP_5_2/Zend/zend_compile.c U php/php-src/branches/PHP_5_3/NEWS D php/php-src/branches/PHP_5_3/Zend/tests/bug51421.phpt U php/php-src/branches/PHP_5_3/Zend/zend_compile.c Modified: php/php-src/branches/PHP_5_2/NEWS =================================================================== --- php/php-src/branches/PHP_5_2/NEWS 2010-06-28 16:17:20 UTC (rev 300816) +++ php/php-src/branches/PHP_5_2/NEWS 2010-06-28 16:37:57 UTC (rev 300817) @@ -9,8 +9,6 @@ - Fixed bug #52061 (memory_limit above 2G). (Felipe) - Fixed bug #52010 (open_basedir restrictions mismatch on vacuum command). (Ilia, Felipe) -- Fixed bug #51421 (Abstract __construct constructor argument list not - enforced). (Felipe) - Fixed bug #49730 (Firebird - new PDO() returns NULL). (Felipe) 17 Jun 2010, PHP 5.2.14RC1 Deleted: php/php-src/branches/PHP_5_2/Zend/tests/bug51421.phpt =================================================================== --- php/php-src/branches/PHP_5_2/Zend/tests/bug51421.phpt 2010-06-28 16:17:20 UTC (rev 300816) +++ php/php-src/branches/PHP_5_2/Zend/tests/bug51421.phpt 2010-06-28 16:37:57 UTC (rev 300817) @@ -1,18 +0,0 @@ ---TEST-- -Bug #51421 (Abstract __construct constructor argument list not enforced) ---FILE-- -<?php - -class ExampleClass {} - -abstract class TestInterface { - abstract public function __construct(ExampleClass $var); -} - -class Test extends TestInterface { - public function __construct() {} -} - -?> ---EXPECTF-- -Fatal error: Declaration of Test::__construct() must be compatible with that of TestInterface::__construct() in %s on line %d Modified: php/php-src/branches/PHP_5_2/Zend/zend_compile.c =================================================================== --- php/php-src/branches/PHP_5_2/Zend/zend_compile.c 2010-06-28 16:17:20 UTC (rev 300816) +++ php/php-src/branches/PHP_5_2/Zend/zend_compile.c 2010-06-28 16:37:57 UTC (rev 300817) @@ -2017,12 +2017,8 @@ return 1; } - /* Checks for constructors only if they are declared in an interface, - * or explicitly marked as abstract - */ - if ((fe->common.fn_flags & ZEND_ACC_CTOR) - && ((proto->common.scope->ce_flags & ZEND_ACC_INTERFACE) == 0 - && (proto->common.fn_flags & ZEND_ACC_ABSTRACT) == 0)) { + /* Checks for constructors only if they are declared in an interface */ + if ((fe->common.fn_flags & ZEND_ACC_CTOR) && (proto->common.scope->ce_flags & ZEND_ACC_INTERFACE) == 0) { return 1; } Modified: php/php-src/branches/PHP_5_3/NEWS =================================================================== --- php/php-src/branches/PHP_5_3/NEWS 2010-06-28 16:17:20 UTC (rev 300816) +++ php/php-src/branches/PHP_5_3/NEWS 2010-06-28 16:37:57 UTC (rev 300817) @@ -15,8 +15,6 @@ (Felipe) - Fixed bug #52115 (mysqli_result::fetch_all returns null, not an empty array). (Andrey) -- Fixed bug #51421 (Abstract __construct constructor argument list not - enforced). (Felipe) - Fixed bug #48930 (__COMPILER_HALT_OFFSET__ incorrect in PHP >= 5.3). (Felipe) 17 Jun 2010, PHP 5.3.3 RC1 Deleted: php/php-src/branches/PHP_5_3/Zend/tests/bug51421.phpt =================================================================== --- php/php-src/branches/PHP_5_3/Zend/tests/bug51421.phpt 2010-06-28 16:17:20 UTC (rev 300816) +++ php/php-src/branches/PHP_5_3/Zend/tests/bug51421.phpt 2010-06-28 16:37:57 UTC (rev 300817) @@ -1,18 +0,0 @@ ---TEST-- -Bug #51421 (Abstract __construct constructor argument list not enforced) ---FILE-- -<?php - -class ExampleClass {} - -abstract class TestInterface { - abstract public function __construct(ExampleClass $var); -} - -class Test extends TestInterface { - public function __construct() {} -} - -?> ---EXPECTF-- -Fatal error: Declaration of Test::__construct() must be compatible with that of TestInterface::__construct() in %s on line %d Modified: php/php-src/branches/PHP_5_3/Zend/zend_compile.c =================================================================== --- php/php-src/branches/PHP_5_3/Zend/zend_compile.c 2010-06-28 16:17:20 UTC (rev 300816) +++ php/php-src/branches/PHP_5_3/Zend/zend_compile.c 2010-06-28 16:37:57 UTC (rev 300817) @@ -2540,12 +2540,8 @@ return 1; } - /* Checks for constructors only if they are declared in an interface, - * or explicitly marked as abstract - */ - if ((fe->common.fn_flags & ZEND_ACC_CTOR) - && ((proto->common.scope->ce_flags & ZEND_ACC_INTERFACE) == 0 - && (proto->common.fn_flags & ZEND_ACC_ABSTRACT) == 0)) { + /* Checks for constructors only if they are declared in an interface */ + if ((fe->common.fn_flags & ZEND_ACC_CTOR) && (proto->common.scope->ce_flags & ZEND_ACC_INTERFACE) == 0) { return 1; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php