From e595ebf5e557ebd47e1e3ba0e67f14c84db3d0fe Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Sat, 4 Apr 2009 17:19:29 +0000 Subject: [PATCH] - Synced old changes --- Zend/tests/objects_002.phpt | 3 ++- Zend/tests/objects_003.phpt | 3 ++- Zend/tests/objects_004.phpt | 3 ++- Zend/tests/objects_005.phpt | 3 ++- Zend/tests/objects_006.phpt | 3 ++- Zend/tests/objects_007.phpt | 3 ++- Zend/tests/objects_008.phpt | 3 ++- Zend/tests/objects_009.phpt | 3 ++- Zend/zend_compile.c | 2 +- 9 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Zend/tests/objects_002.phpt b/Zend/tests/objects_002.phpt index b130097d6ac..7f26236f992 100644 --- a/Zend/tests/objects_002.phpt +++ b/Zend/tests/objects_002.phpt @@ -20,4 +20,5 @@ class test3 extends test { echo "Done\n"; ?> --EXPECTF-- -Fatal error: Declaration of test3::foo() must be compatible with that of test::foo() in %s on line %d +Strict Standards: Declaration of test3::foo() should be compatible with that of test::foo() in %s on line %d +Done diff --git a/Zend/tests/objects_003.phpt b/Zend/tests/objects_003.phpt index ec1e7d701c5..3c47808b887 100644 --- a/Zend/tests/objects_003.phpt +++ b/Zend/tests/objects_003.phpt @@ -20,4 +20,5 @@ class test3 extends test { echo "Done\n"; ?> --EXPECTF-- -Fatal error: Declaration of test3::foo() must be compatible with that of test::foo() in %s on line %d +Strict Standards: Declaration of test3::foo() should be compatible with that of test::foo() in %s on line %d +Done diff --git a/Zend/tests/objects_004.phpt b/Zend/tests/objects_004.phpt index 182ca8ec299..346a9643121 100644 --- a/Zend/tests/objects_004.phpt +++ b/Zend/tests/objects_004.phpt @@ -20,4 +20,5 @@ class test3 extends test { echo "Done\n"; ?> --EXPECTF-- -Fatal error: Declaration of test3::foo() must be compatible with that of test::foo() in %s on line %d +Strict Standards: Declaration of test3::foo() should be compatible with that of test::foo() in %s on line %d +Done diff --git a/Zend/tests/objects_005.phpt b/Zend/tests/objects_005.phpt index 9f8c2b9f993..2b7b3b26db3 100644 --- a/Zend/tests/objects_005.phpt +++ b/Zend/tests/objects_005.phpt @@ -20,4 +20,5 @@ class test3 extends test { echo "Done\n"; ?> --EXPECTF-- -Fatal error: Declaration of test3::foo() must be compatible with that of test::foo() in %s on line %d +Strict Standards: Declaration of test3::foo() should be compatible with that of test::foo() in %s on line %d +Done diff --git a/Zend/tests/objects_006.phpt b/Zend/tests/objects_006.phpt index adb0e8826d5..33444871bc6 100644 --- a/Zend/tests/objects_006.phpt +++ b/Zend/tests/objects_006.phpt @@ -20,4 +20,5 @@ class test3 extends test { echo "Done\n"; ?> --EXPECTF-- -Fatal error: Declaration of test3::foo() must be compatible with that of test::foo() in %s on line %d +Strict Standards: Declaration of test3::foo() should be compatible with that of test::foo() in %s on line %d +Done diff --git a/Zend/tests/objects_007.phpt b/Zend/tests/objects_007.phpt index 5b6b68bd228..ebf3c16c113 100644 --- a/Zend/tests/objects_007.phpt +++ b/Zend/tests/objects_007.phpt @@ -20,4 +20,5 @@ class test3 extends test { echo "Done\n"; ?> --EXPECTF-- -Fatal error: Declaration of test3::foo() must be compatible with that of test::foo() in %s on line %d +Strict Standards: Declaration of test3::foo() should be compatible with that of test::foo() in %s on line %d +Done diff --git a/Zend/tests/objects_008.phpt b/Zend/tests/objects_008.phpt index e0bba4c756a..b33270454a5 100644 --- a/Zend/tests/objects_008.phpt +++ b/Zend/tests/objects_008.phpt @@ -20,4 +20,5 @@ class test3 extends test { echo "Done\n"; ?> --EXPECTF-- -Fatal error: Declaration of test3::foo() must be compatible with that of test::foo() in %s on line %d +Strict Standards: Declaration of test3::foo() should be compatible with that of test::foo() in %s on line %d +Done diff --git a/Zend/tests/objects_009.phpt b/Zend/tests/objects_009.phpt index d3de6b56305..8e09a72f565 100644 --- a/Zend/tests/objects_009.phpt +++ b/Zend/tests/objects_009.phpt @@ -20,4 +20,5 @@ class test3 extends test { echo "Done\n"; ?> --EXPECTF-- -Fatal error: Declaration of test3::foo() must be compatible with that of test::foo() in %s on line %d +Strict Standards: Declaration of test3::foo() should be compatible with that of test::foo() in %s on line %d +Done diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 4b75d580833..4f9c62f3ec8 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2727,7 +2727,7 @@ static zend_bool do_inherit_method_check(HashTable *child_function_table, zend_f child->common.prototype = parent->common.prototype ? parent->common.prototype : parent; } - if (child->common.prototype) { + if (child->common.prototype && (child->common.prototype->common.fn_flags & ZEND_ACC_ABSTRACT)) { if (!zend_do_perform_implementation_check(child, child->common.prototype TSRMLS_CC)) { zend_error(E_COMPILE_ERROR, "Declaration of %v::%v() must be compatible with that of %v::%v()", ZEND_FN_SCOPE_NAME(child), child->common.function_name, ZEND_FN_SCOPE_NAME(child->common.prototype), child->common.prototype->common.function_name); }