On 26.06.2018 at 08:42, Jan Ehrhardt wrote:

> Apparently, there were changes in the zend internal functions handler
> (aka zif_handler), but I cannot find any info on it. Neither in the
> linked documents, nor in
> https://github.com/php/php-src/blob/php-7.3.0alpha2/UPGRADING.INTERNALS
> 
> I ran into this in at least three extensions, while compiling on Windows
> (vc15, x64, nts).
> 
> pcs:
> |PCS_Loader.c(575): error C2440: '=': cannot convert from 'zif_handler' to 
> 'void (__cdecl *)(zend_execute_data *,zval *)'
> |PCS_Loader.c(581): error C2440: '=': cannot convert from 'zif_handler' to 
> 'void (__cdecl *)(zend_execute_data *,zval *)'
> |PCS_Loader.c(587): error C2440: '=': cannot convert from 'zif_handler' to 
> 'void (__cdecl *)(zend_execute_data *,zval *)'
> 
> pecl_http:
> |php_http_client_curl_user.c(190): error C2440: '=': cannot convert from 
> 'void (__cdecl *)(zend_execute_data *,zval *)' to 'zif_handler'
> 
> taint seems to have comparable errors. See
> https://github.com/laruence/taint/commit/9debfe9682d22e172906cd2e7754a8380bf13453#commitcomment-29461798
> 
> Can this be fixed and/or added to UPGRADING.INTERNALS?

Apparently, zif_handler() has been changed to use the ZEND_FASTCALL
calling convention[1] which results in this incompatibility.  Not sure
if that should be reverted, or just documented in UPGRADING.INTERNALS.

[1]
<https://github.com/php/php-src/commit/f3aca3c852df1dc169e73c01ef1d47927a51a57a>

<https://github.com/php/php-src/commit/0673aa7f6182dae11798c7a9055dbfd672d87c01>

-- 
Christoph M. Becker

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to