Re: Compilation warning on offsetof in 5.4 and trunk
| From: | Felipe Pena | Date: | Sun, 03 Jul 2011 01:29:27 +0000 |
| Subject: | Re: Compilation warning on offsetof in 5.4 and trunk | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-53731@lists.php.net to get a copy of this message | ||
Hi,
2011/7/2 Jérôme Loyet <jerome@loyet.net>:
> Hi,
>
> in 5.4 and trunk, there is compilation warnings all pointing to
> STD_PHP_INI_ENTRY
>
>
> /home/fat/dev/php-src/trunk/sapi/fpm/fpm/fpm_main.c:1465:109: warning:
> cast from pointer to integer of different size
> /home/fat/dev/php-src/trunk/sapi/fpm/fpm/fpm_main.c:1466:85: warning:
> cast from pointer to integer of different size
>
>
> the warnings appear in sapis (cgi, fpm, ...) and extensions (standard,
> ...) and the problem comes from the XOffsetOf macro which is expanded
> to offsetof defined in Zend/zend_operators.h whit the following code
> added in revisions 311662 and 312264:
>
> #ifndef offsetof
> #define offsetof(t,f) \
> ((int)(&((t*)0)->f))
> #endif
>
> Before this addition, XOffsetOf was expanded to
> ((long) (((char *) (&(((t*)((void *)0))->f))) - ((char *) ((void *)0))))
>
> which is defined at the end of main/php.h.
>
> Two questions:
> 1- is this possible to change Zend/zend_operators.h to use the old
> macros ? (short term solution)
I've removed this offsetof definition introduced in r311662, it seems
have been added accidentaly, as the code in this revision do not use
it.
--
Regards,
Felipe Pena