diff --git a/Zend/zend_portability.h b/Zend/zend_portability.h index 12e99b74d8b..301032d8c31 100644 --- a/Zend/zend_portability.h +++ b/Zend/zend_portability.h @@ -440,12 +440,8 @@ char *alloca(); #define MAX(a, b) (((a)>(b))?(a):(b)) #define MIN(a, b) (((a)<(b))?(a):(b)) -/* x86 instructions BT, SHL, SHR don't require masking */ -#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) || defined(ZEND_WIN32) -# define ZEND_BIT_TEST(bits, bit) (((bits)[(bit) / (sizeof((bits)[0])*8)] >> (bit)) & 1) -#else -# define ZEND_BIT_TEST(bits, bit) (((bits)[(bit) / (sizeof((bits)[0])*8)] >> ((bit) & (sizeof((bits)[0])*8-1))) & 1) -#endif +#define ZEND_BIT_TEST(bits, bit) \ + (((bits)[(bit) / (sizeof((bits)[0])*8)] >> ((bit) & (sizeof((bits)[0])*8-1))) & 1) /* We always define a function, even if there's a macro or expression we could * alias, so that using it in contexts where we can't make function calls