com php-src: fix some implicit 32 vs 64 bit type conversions: Zend/zend_alloc.h Zend/zend_execute.h Zend/zend_o perators.h Zend/zend_ptr_stack.h
| From: | Anatol Belski | Date: | Thu, 06 Feb 2014 23:14:01 +0000 |
| Subject: | com php-src: fix some implicit 32 vs 64 bit type conversions: Zend/zend_alloc.h Zend/zend_execute.h Zend/zend_o perators.h Zend/zend_ptr_stack.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-75931@lists.php.net to get a copy of this message | ||
Commit: da452e33e7055eac60e93bee37dfa566f59e1471
Author: Anatol Belski <ab@php.net> Fri, 7 Feb 2014 00:14:01 +0100
Parents: 06eff86e4d4a2d1a4a2f42a4091c26e2bd1a14cb
Branches: str_size_and_int64
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=da452e33e7055eac60e93bee37dfa566f59e1471
Log:
fix some implicit 32 vs 64 bit type conversions
Changed paths:
M Zend/zend_alloc.h
M Zend/zend_execute.h
M Zend/zend_operators.h
M Zend/zend_ptr_stack.h
Diff:
diff --git a/Zend/zend_alloc.h b/Zend/zend_alloc.h
index 7a18579..e395d93 100644
--- a/Zend/zend_alloc.h
+++ b/Zend/zend_alloc.h
@@ -29,18 +29,18 @@
#include "zend_types.h"
#ifndef ZEND_MM_ALIGNMENT
-# define ZEND_MM_ALIGNMENT 8
-# define ZEND_MM_ALIGNMENT_LOG2 3
-#elif ZEND_MM_ALIGNMENT < 4
+# define ZEND_MM_ALIGNMENT Z_I(8)
+# define ZEND_MM_ALIGNMENT_LOG2 Z_I(3)
+#elif ZEND_MM_ALIGNMENT < Z_I(4)
# undef ZEND_MM_ALIGNMENT
# undef ZEND_MM_ALIGNMENT_LOG2
-# define ZEND_MM_ALIGNMENT 4
-# define ZEND_MM_ALIGNMENT_LOG2 2
+# define ZEND_MM_ALIGNMENT Z_I(4)
+# define ZEND_MM_ALIGNMENT_LOG2 Z_I(2)
#endif
-#define ZEND_MM_ALIGNMENT_MASK ~(ZEND_MM_ALIGNMENT-1)
+#define ZEND_MM_ALIGNMENT_MASK ~(ZEND_MM_ALIGNMENT-Z_I(1))
-#define ZEND_MM_ALIGNED_SIZE(size) (((size) + ZEND_MM_ALIGNMENT - 1) & ZEND_MM_ALIGNMENT_MASK)
+#define ZEND_MM_ALIGNED_SIZE(size) (((size) + ZEND_MM_ALIGNMENT - Z_I(1)) &
ZEND_MM_ALIGNMENT_MASK)
typedef struct _zend_leak_info {
void *addr;
diff --git a/Zend/zend_execute.h b/Zend/zend_execute.h
index 07bf396..5544246 100644
--- a/Zend/zend_execute.h
+++ b/Zend/zend_execute.h
@@ -252,7 +252,7 @@ static zend_always_inline void *zend_vm_stack_alloc(size_t size TSRMLS_DC)
EG(argument_stack)->top += ZEND_MM_ALIGNED_SIZE(sizeof(void*)) / sizeof(void*);
}
} else {
- ZEND_VM_STACK_GROW_IF_NEEDED((int)size);
+ ZEND_VM_STACK_GROW_IF_NEEDED(size);
}
ret = (void*)EG(argument_stack)->top;
EG(argument_stack)->top += size;
@@ -298,7 +298,7 @@ static zend_always_inline void zend_vm_stack_free(void *ptr TSRMLS_DC)
static zend_always_inline void zend_vm_stack_clear_multiple(int nested TSRMLS_DC)
{
void **p = EG(argument_stack)->top - 1;
- void **end = p - (int)(zend_uintptr_t)*p;
+ void **end = p - (ptrdiff_t)(zend_uintptr_t)*p;
while (p != end) {
zval *q = (zval *) *(--p);
@@ -325,7 +325,7 @@ static zend_always_inline zend_size_t zend_vm_stack_get_args_count_ex(zend_execu
static zend_always_inline zval** zend_vm_stack_get_arg_ex(zend_execute_data *ex, zend_size_t
requested_arg)
{
void **p = ex->function_state.arguments;
- int arg_count = (int)(zend_uintptr_t) *p;
+ zend_int_t arg_count = (zend_int_t)(zend_uintptr_t) *p;
if (UNEXPECTED(requested_arg > arg_count)) {
return NULL;
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h
index 493ea6d..a405abc 100644
--- a/Zend/zend_operators.h
+++ b/Zend/zend_operators.h
@@ -132,7 +132,8 @@ static zend_always_inline zend_int_t zend_dval_to_ival(double d)
static inline zend_uchar is_numeric_string_ex(const char *str, zend_size_t length, zend_int_t
*lval, double *dval, int allow_errors, int *oflow_info)
{
const char *ptr;
- int base = 10, digits = 0, dp_or_e = 0;
+ int base = 10, dp_or_e = 0;
+ ptrdiff_t digits = 0;
double local_dval = 0.0;
zend_uchar type;
diff --git a/Zend/zend_ptr_stack.h b/Zend/zend_ptr_stack.h
index ecd7b70..9b75d94 100644
--- a/Zend/zend_ptr_stack.h
+++ b/Zend/zend_ptr_stack.h
@@ -23,7 +23,7 @@
#define ZEND_PTR_STACK_H
typedef struct _zend_ptr_stack {
- int top, max;
+ ptrdiff_t top, max;
void **elements;
void **top_element;
zend_bool persistent;