@@ -7491,10 +7491,10 @@ void zend_ffi_expr_cast(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
74917491 case ZEND_FFI_TYPE_FLOAT :
74927492 if (val -> kind == ZEND_FFI_VAL_UINT32 || val -> kind == ZEND_FFI_VAL_UINT64 ) {
74937493 val -> kind = ZEND_FFI_VAL_FLOAT ;
7494- val -> d = val -> u64 ;
7494+ val -> d = ( zend_ffi_double ) val -> u64 ;
74957495 } else if (val -> kind == ZEND_FFI_VAL_INT32 || val -> kind == ZEND_FFI_VAL_INT64 ) {
74967496 val -> kind = ZEND_FFI_VAL_FLOAT ;
7497- val -> d = val -> i64 ;
7497+ val -> d = ( zend_ffi_double ) val -> i64 ;
74987498 } else if (val -> kind == ZEND_FFI_VAL_FLOAT || val -> kind == ZEND_FFI_VAL_DOUBLE || val -> kind == ZEND_FFI_VAL_LONG_DOUBLE ) {
74997499 val -> kind = ZEND_FFI_VAL_FLOAT ;
75007500 } else if (val -> kind == ZEND_FFI_VAL_CHAR ) {
@@ -7507,10 +7507,10 @@ void zend_ffi_expr_cast(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
75077507 case ZEND_FFI_TYPE_DOUBLE :
75087508 if (val -> kind == ZEND_FFI_VAL_UINT32 || val -> kind == ZEND_FFI_VAL_UINT64 ) {
75097509 val -> kind = ZEND_FFI_VAL_DOUBLE ;
7510- val -> d = val -> u64 ;
7510+ val -> d = ( zend_ffi_double ) val -> u64 ;
75117511 } else if (val -> kind == ZEND_FFI_VAL_INT32 || val -> kind == ZEND_FFI_VAL_INT64 ) {
75127512 val -> kind = ZEND_FFI_VAL_DOUBLE ;
7513- val -> d = val -> i64 ;
7513+ val -> d = ( zend_ffi_double ) val -> i64 ;
75147514 } else if (val -> kind == ZEND_FFI_VAL_FLOAT || val -> kind == ZEND_FFI_VAL_DOUBLE || val -> kind == ZEND_FFI_VAL_LONG_DOUBLE ) {
75157515 val -> kind = ZEND_FFI_VAL_DOUBLE ;
75167516 } else if (val -> kind == ZEND_FFI_VAL_CHAR ) {
@@ -7546,7 +7546,7 @@ void zend_ffi_expr_cast(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
75467546 val -> kind = ZEND_FFI_VAL_UINT32 ;
75477547 } else if (val -> kind == ZEND_FFI_VAL_FLOAT || val -> kind == ZEND_FFI_VAL_DOUBLE || val -> kind == ZEND_FFI_VAL_LONG_DOUBLE ) {
75487548 val -> kind = ZEND_FFI_VAL_UINT32 ;
7549- val -> u64 = val -> d ;
7549+ val -> u64 = ( uint64_t ) val -> d ;
75507550 } else if (val -> kind == ZEND_FFI_VAL_CHAR ) {
75517551 val -> kind = ZEND_FFI_VAL_UINT32 ;
75527552 val -> u64 = val -> ch ;
@@ -7561,7 +7561,7 @@ void zend_ffi_expr_cast(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
75617561 val -> kind = ZEND_FFI_VAL_INT32 ;
75627562 } else if (val -> kind == ZEND_FFI_VAL_FLOAT || val -> kind == ZEND_FFI_VAL_DOUBLE || val -> kind == ZEND_FFI_VAL_LONG_DOUBLE ) {
75637563 val -> kind = ZEND_FFI_VAL_INT32 ;
7564- val -> i64 = val -> d ;
7564+ val -> i64 = ( uint64_t ) val -> d ;
75657565 } else if (val -> kind == ZEND_FFI_VAL_CHAR ) {
75667566 val -> kind = ZEND_FFI_VAL_INT32 ;
75677567 val -> i64 = val -> ch ;
@@ -7574,7 +7574,7 @@ void zend_ffi_expr_cast(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
75747574 val -> kind = ZEND_FFI_VAL_UINT64 ;
75757575 } else if (val -> kind == ZEND_FFI_VAL_FLOAT || val -> kind == ZEND_FFI_VAL_DOUBLE || val -> kind == ZEND_FFI_VAL_LONG_DOUBLE ) {
75767576 val -> kind = ZEND_FFI_VAL_UINT64 ;
7577- val -> u64 = val -> d ;
7577+ val -> u64 = ( uint64_t ) val -> d ;
75787578 } else if (val -> kind == ZEND_FFI_VAL_CHAR ) {
75797579 val -> kind = ZEND_FFI_VAL_UINT64 ;
75807580 val -> u64 = val -> ch ;
@@ -7591,7 +7591,7 @@ void zend_ffi_expr_cast(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
75917591 val -> ch = val -> i64 ;
75927592 } else if (val -> kind == ZEND_FFI_VAL_FLOAT || val -> kind == ZEND_FFI_VAL_DOUBLE || val -> kind == ZEND_FFI_VAL_LONG_DOUBLE ) {
75937593 val -> kind = ZEND_FFI_VAL_CHAR ;
7594- val -> ch = val -> d ;
7594+ val -> ch = ( char ) val -> d ;
75957595 } else if (val -> kind == ZEND_FFI_VAL_CHAR ) {
75967596 } else {
75977597 val -> kind = ZEND_FFI_VAL_ERROR ;
@@ -7602,7 +7602,7 @@ void zend_ffi_expr_cast(zend_ffi_val *val, zend_ffi_dcl *dcl) /* {{{ */
76027602 val -> kind = ZEND_FFI_VAL_UINT32 ;
76037603 } else if (val -> kind == ZEND_FFI_VAL_FLOAT || val -> kind == ZEND_FFI_VAL_DOUBLE || val -> kind == ZEND_FFI_VAL_LONG_DOUBLE ) {
76047604 val -> kind = ZEND_FFI_VAL_UINT32 ;
7605- val -> u64 = val -> d ;
7605+ val -> u64 = ( uint64_t ) val -> d ;
76067606 } else if (val -> kind == ZEND_FFI_VAL_CHAR ) {
76077607 val -> kind = ZEND_FFI_VAL_UINT32 ;
76087608 val -> u64 = val -> ch ;
0 commit comments