Re: new gcov.php.net machine is up

From: Date: Mon, 25 Jul 2011 10:48:57 +0000
Subject: Re: new gcov.php.net machine is up
References: 1 2 3 4 5 6 7 8 9  Groups: php.internals 
Request: Send a blank email to internals+get-54187@lists.php.net to get a copy of this message
2011/7/25 Gwynne Raskind <gwynne@darkrainfall.org>: > On this subject, I've been looking into what produces the largest > warnings spam with a decent set of warnings turned on, and I'd like to > recommend this patch. I can't commit it myself (I don't have Zend > karma), nor would I care to without getting some opinion on it. The > patch is against 5.4, but should apply equally to trunk. No API is > changed, and no BC issues are created; it only adds a > forward-compatible optional declarator for the end of a > zend_function_entry struct. Obviously, the spammed warning in question > is "missing initializer", with respect to every function entry struct > in every extension, all of which simply use the {NULL, NULL, NULL} > from ext_skel. The intention is to provide this constant to protect > against future extensions of the structure. There are some other > structures which could also benefit from such an initializer > (smart_str and zend_fcall_info[_cache] come to mind). > > Index: Zend/zend_API.h > =================================================================== > --- Zend/zend_API.h     (revision 313656) > +++ Zend/zend_API.h     (working copy) > @@ -96,6 +96,8 @@ >  #define ZEND_NS_FALIAS(ns, name, alias, arg_info)              ZEND_NS_FENTRY(ns, > name, ZEND_FN(alias), arg_info, 0) >  #define ZEND_NS_DEP_FALIAS(ns, name, alias, > arg_info)       ZEND_NS_FENTRY(ns, name, ZEND_FN(alias), arg_info, > ZEND_ACC_DEPRECATED) > > +#define ZEND_FE_END            { NULL, NULL, NULL, 0, 0 } > + >  #define ZEND_ARG_INFO(pass_by_ref, name)                                   >                     { #name, > sizeof(#name)-1, NULL, 0, 0, 0, pass_by_ref}, >  #define ZEND_ARG_PASS_INFO(pass_by_ref)                                     >                            { NULL, 0, NULL, 0, 0, > 0, pass_by_ref}, >  #define ZEND_ARG_OBJ_INFO(pass_by_ref, name, classname, allow_null) { > #name, sizeof(#name)-1, #classname, sizeof(#classname)-1, IS_OBJECT, > allow_null, pass_by_ref}, > Index: main/php.h > =================================================================== > --- main/php.h  (revision 313656) > +++ main/php.h  (working copy) > @@ -359,6 +359,7 @@ >  #define PHP_MALIAS      ZEND_MALIAS >  #define PHP_ABSTRACT_ME ZEND_ABSTRACT_ME >  #define PHP_ME_MAPPING  ZEND_ME_MAPPING > +#define PHP_FE_END             ZEND_FE_END > >  #define PHP_MODULE_STARTUP_N   ZEND_MODULE_STARTUP_N >  #define PHP_MODULE_SHUTDOWN_N  ZEND_MODULE_SHUTDOWN_N > > -- Gwynne > > > > On Sat, Jul 23, 2011 at 19:23, Rasmus Lerdorf <systems@php.net> wrote: >> On 07/23/2011 04:07 PM, Gwynne Raskind wrote: >>> Here's my question - if I made some smaller commits here and there to >>> fix warnings in core, would that be accepted? I don't have time to do >>> sweeping changes, but fixing one file today, a couple the next day, >>> etc., is within my abilities (including making sure no regressions are >>> introduced, of course). >> >> That's fine if it is done carefully. Note that the code needs to compile >> on many different platforms, on many different compilers and versions of >> compilers. >> >> -Rasmus >> >> > You're right. Someone already had reported it. I'll work on adding on all extensions. -- Regards, Felipe Pena

« previous php.internals (#54187) next »