]> granicus.if.org Git - php/commitdiff
Fix #64780 (PHP 5.5 builds are broken with GCC 3)
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 7 May 2013 18:37:04 +0000 (20:37 +0200)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 7 May 2013 18:37:04 +0000 (20:37 +0200)
A recent change (by me) introduced a call to __builtin_offsetof()
into zend_operators.h which is not defined by GCC prior to
version 4.

Changed the code to use offsetof() instead: this is defined in
<stddef.h>, so #include this header conditionally (#ifdef GNUC)

Zend/zend_operators.h

index a82c14b8c260207da5383c147a394618d6ff7e82..0b890ff48cc56f0c6ece296fb9c87735c9c84cfe 100644 (file)
 #include <math.h>
 #include <assert.h>
 
+#ifdef __GNUC__
+#include <stddef.h>
+#endif
+
 #ifdef HAVE_IEEEFP_H
 #include <ieeefp.h>
 #endif
@@ -497,7 +501,7 @@ ZEND_API void zend_update_current_locale(void);
 
 /* The offset in bytes between the value and type fields of a zval */
 #define ZVAL_OFFSETOF_TYPE     \
-       (__builtin_offsetof(zval,type) - __builtin_offsetof(zval,value))
+       (offsetof(zval,type) - offsetof(zval,value))
 
 static zend_always_inline int fast_increment_function(zval *op1)
 {