mirror of
https://github.com/php/php-src.git
synced 2024-11-28 04:14:26 +08:00
Merge branch 'PHP-7.0' of https://git.php.net/push/php-src into PHP-7.0
* 'PHP-7.0' of https://git.php.net/push/php-src:
NEWS for 8907da99b8
Fixed bug #71006 (symbol referencing errors on Sparc/Solaris)
remove PHP 5 NEWS entries
This commit is contained in:
commit
337fd3ad64
@ -506,9 +506,9 @@ static void zend_mm_munmap(void *addr, size_t size)
|
||||
/* number of trailing set (1) bits */
|
||||
static zend_always_inline int zend_mm_bitset_nts(zend_mm_bitset bitset)
|
||||
{
|
||||
#if (defined(__GNUC__) || __has_builtin(__builtin_ctzl)) && SIZEOF_ZEND_LONG == SIZEOF_LONG
|
||||
#if (defined(__GNUC__) || __has_builtin(__builtin_ctzl)) && SIZEOF_ZEND_LONG == SIZEOF_LONG && defined(PHP_HAVE_BUILTIN_CTZL)
|
||||
return __builtin_ctzl(~bitset);
|
||||
#elif defined(__GNUC__) || __has_builtin(__builtin_ctzll)
|
||||
#elif (defined(__GNUC__) || __has_builtin(__builtin_ctzll)) && defined(PHP_HAVE_BUILTIN_CTZLL)
|
||||
return __builtin_ctzll(~bitset);
|
||||
#elif defined(_WIN32)
|
||||
unsigned long index;
|
||||
@ -545,9 +545,9 @@ static zend_always_inline int zend_mm_bitset_nts(zend_mm_bitset bitset)
|
||||
/* number of trailing zero bits (0x01 -> 1; 0x40 -> 6; 0x00 -> LEN) */
|
||||
static zend_always_inline int zend_mm_bitset_ntz(zend_mm_bitset bitset)
|
||||
{
|
||||
#if (defined(__GNUC__) || __has_builtin(__builtin_ctzl)) && SIZEOF_ZEND_LONG == SIZEOF_LONG
|
||||
#if (defined(__GNUC__) || __has_builtin(__builtin_ctzl)) && SIZEOF_ZEND_LONG == SIZEOF_LONG && defined(PHP_HAVE_BUILTIN_CTZL)
|
||||
return __builtin_ctzl(bitset);
|
||||
#elif defined(__GNUC__) || __has_builtin(__builtin_ctzll)
|
||||
#elif (defined(__GNUC__) || __has_builtin(__builtin_ctzll)) && defined(PHP_HAVE_BUILTIN_CTZLL)
|
||||
return __builtin_ctzll(bitset);
|
||||
#elif defined(_WIN32)
|
||||
unsigned long index;
|
||||
@ -1161,7 +1161,7 @@ static zend_always_inline void zend_mm_free_large(zend_mm_heap *heap, zend_mm_ch
|
||||
/* higher set bit number (0->N/A, 1->1, 2->2, 4->3, 8->4, 127->7, 128->8 etc) */
|
||||
static zend_always_inline int zend_mm_small_size_to_bit(int size)
|
||||
{
|
||||
#if defined(__GNUC__) || __has_builtin(__builtin_clz)
|
||||
#if (defined(__GNUC__) || __has_builtin(__builtin_clz)) && defined(PHP_HAVE_BUILTIN_CLZ)
|
||||
return (__builtin_clz(size) ^ 0x1f) + 1;
|
||||
#elif defined(_WIN32)
|
||||
unsigned long index;
|
||||
|
@ -112,7 +112,7 @@ static uint32_t zend_always_inline zend_hash_check_size(uint32_t nSize)
|
||||
rather than using an undefined bis scan result. */
|
||||
return nSize;
|
||||
}
|
||||
#elif defined(__GNUC__) || __has_builtin(__builtin_clz)
|
||||
#elif (defined(__GNUC__) || __has_builtin(__builtin_clz)) && defined(PHP_HAVE_BUILTIN_CLZ)
|
||||
return 0x2 << (__builtin_clz(nSize - 1) ^ 0x1f);
|
||||
#else
|
||||
nSize -= 1;
|
||||
|
54
acinclude.m4
54
acinclude.m4
@ -3050,3 +3050,57 @@ AC_DEFUN([PHP_CHECK_BUILTIN_EXPECT], [
|
||||
AC_DEFINE_UNQUOTED([PHP_HAVE_BUILTIN_EXPECT], [$have_builtin_expect], [Whether the compiler supports __builtin_expect])
|
||||
|
||||
])
|
||||
|
||||
dnl PHP_CHECK_BUILTIN_CLZ
|
||||
AC_DEFUN([PHP_CHECK_BUILTIN_CLZ], [
|
||||
AC_MSG_CHECKING([for __builtin_clz])
|
||||
|
||||
AC_TRY_LINK(, [
|
||||
return __builtin_clz(1) ? 1 : 0;
|
||||
], [
|
||||
have_builtin_clz=1
|
||||
AC_MSG_RESULT([yes])
|
||||
], [
|
||||
have_builtin_clz=0
|
||||
AC_MSG_RESULT([no])
|
||||
])
|
||||
|
||||
AC_DEFINE_UNQUOTED([PHP_HAVE_BUILTIN_CLZ], [$have_builtin_clz], [Whether the compiler supports __builtin_clz])
|
||||
|
||||
])
|
||||
|
||||
dnl PHP_CHECK_BUILTIN_CTZL
|
||||
AC_DEFUN([PHP_CHECK_BUILTIN_CTZL], [
|
||||
AC_MSG_CHECKING([for __builtin_ctzl])
|
||||
|
||||
AC_TRY_LINK(, [
|
||||
return __builtin_ctzl(2L) ? 1 : 0;
|
||||
], [
|
||||
have_builtin_ctzl=1
|
||||
AC_MSG_RESULT([yes])
|
||||
], [
|
||||
have_builtin_ctzl=0
|
||||
AC_MSG_RESULT([no])
|
||||
])
|
||||
|
||||
AC_DEFINE_UNQUOTED([PHP_HAVE_BUILTIN_CTZL], [$have_builtin_ctzl], [Whether the compiler supports __builtin_ctzl])
|
||||
|
||||
])
|
||||
|
||||
dnl PHP_CHECK_BUILTIN_CTZLL
|
||||
AC_DEFUN([PHP_CHECK_BUILTIN_CTZLL], [
|
||||
AC_MSG_CHECKING([for __builtin_ctzll])
|
||||
|
||||
AC_TRY_LINK(, [
|
||||
return __builtin_ctzll(2LL) ? 1 : 0;
|
||||
], [
|
||||
have_builtin_ctzll=1
|
||||
AC_MSG_RESULT([yes])
|
||||
], [
|
||||
have_builtin_ctzll=0
|
||||
AC_MSG_RESULT([no])
|
||||
])
|
||||
|
||||
AC_DEFINE_UNQUOTED([PHP_HAVE_BUILTIN_CTZLL], [$have_builtin_ctzll], [Whether the compiler supports __builtin_ctzll])
|
||||
|
||||
])
|
||||
|
@ -577,6 +577,12 @@ PHP_CHECK_STDINT_TYPES
|
||||
|
||||
dnl Check __builtin_expect
|
||||
PHP_CHECK_BUILTIN_EXPECT
|
||||
dnl Check __builtin_clz
|
||||
PHP_CHECK_BUILTIN_CLZ
|
||||
dnl Check __builtin_ctzl
|
||||
PHP_CHECK_BUILTIN_CTZL
|
||||
dnl Check __builtin_ctzll
|
||||
PHP_CHECK_BUILTIN_CTZLL
|
||||
|
||||
dnl Check for members of the stat structure
|
||||
AC_STRUCT_ST_BLKSIZE
|
||||
|
Loading…
Reference in New Issue
Block a user