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: 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;

« previous php.cvs (#75931) next »