Hello Christian,

  whatever the patch looks like, it is a change from 5.0.0's E_STRICT
to a E_COMPILE_ERROR and actually fixes another problem. This raises
an interesting question. How long must we wait until we can follow the
E_STRICT idea and change a specific E_STRICT into a fatal error. Must
it be until eternity?

Maybe it would help if people at leat from time to time use PHP 5 and
especially with E_STRICT on for development. For example Zend Framework
has it even as a requirement.

best regards
marcus

Tuesday, May 30, 2006, 11:46:24 PM, you wrote:

> Marcus Boerger wrote:
>>> -/* $Id: zend_compile.c,v 1.647.2.27.2.5 2006/05/27 18:23:48 johannes Exp $ 
>>> */
>>> +/* $Id: zend_compile.c,v 1.647.2.27.2.6 2006/05/29 20:06:43 helly Exp $ */
>>>  
>>>  #include <zend_language_parser.h>
>>>  #include "zend.h"
>>> @@ -2028,8 +2028,9 @@
>>>         if (parent_flags & ZEND_ACC_ABSTRACT) {
>>>                 child->common.fn_flags |= ZEND_ACC_IMPLEMENTED_ABSTRACT;
>>>                 child->common.prototype = parent;
>>> -       } else {
>>> -               child->common.prototype = parent->common.prototype;
>>> +       } else if (!(parent->common.fn_flags & ZEND_ACC_CTOR) ||
>>> (parent->common.prototype &&
>>> parent->common.prototype->common.scope->ce_flags && ZEND_ACC_INTERFACE)) {

> This looks buggy to me, shouldn't it be
>   parent->common.prototype->common.scope->ce_flags & ZEND_ACC_INTERFACE
> instead of
>   parent->common.prototype->common.scope->ce_flags && ZEND_ACC_INTERFACE
> here anyway? Might not be related to the bug reported by Sebastian but 
> reading the patch excerpt from Antony I stumbled over this one...

Actually this is correct implementation of inheritance rules. What is
potentialy wrong now is the way we implement the error generation. Right
now it might be possible that there could be an erroneous error message
with old style constructors.

Hannes can you take care of the above mentioned scenarios, too?

> If the patch is reverted anyway then it doesn't matter, just wanted to 
> mention it in case the code can still be used.

> Regards,
> - Chris




Best regards,
 Marcus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to