]>
Commit | Line | Data |
---|---|---|
82f6b657 ER |
1 | diff -up php-5.2.17/Zend/zend_compile.c.bug-43200 php-5.2.17/Zend/zend_compile.c |
2 | --- php-5.2.17/Zend/zend_compile.c.bug-43200 2012-01-12 11:26:42.000000000 +0700 | |
3 | +++ php-5.2.17/Zend/zend_compile.c 2012-01-12 11:26:51.000000000 +0700 | |
4 | @@ -2080,7 +2080,8 @@ static zend_bool do_inherit_method_check | |
5 | return 1; /* method doesn't exist in child, copy from parent */ | |
6 | } | |
7 | ||
8 | - if (parent->common.fn_flags & ZEND_ACC_ABSTRACT | |
9 | + if ((parent->common.scope->ce_flags & ZEND_ACC_INTERFACE) == 0 | |
10 | + && parent->common.fn_flags & ZEND_ACC_ABSTRACT | |
11 | && parent->common.scope != (child->common.prototype ? child->common.prototype->common.scope : child->common.scope) | |
12 | && child->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_IMPLEMENTED_ABSTRACT)) { | |
13 | zend_error(E_COMPILE_ERROR, "Can't inherit abstract function %s::%s() (previously declared abstract in %s)", |