Skip to content

Support for PHP 8.5 #40242

@remicollet

Description

@remicollet

Build is broken with 8.5.0alpha2

/builddir/build/BUILD/php85-php-pecl-grpc-1.73.0-build/php85-php-pecl-grpc-1.73.0/grpc-1.73.0/src/php/ext/grpc/call.c: In function 'grpc_parse_metadata_array':
/builddir/build/BUILD/php85-php-pecl-grpc-1.73.0-build/php85-php-pecl-grpc-1.73.0/grpc-1.73.0/src/php/ext/grpc/call.c:87:30: error: implicit declaration of function 'zend_exception_get_default'; did you mean 'zend_exception_set_previous'? [-Wimplicit-function-declaration]
   87 |         zend_throw_exception(zend_exception_get_default(TSRMLS_C),
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                              zend_exception_set_previous
/builddir/build/BUILD/php85-php-pecl-grpc-1.73.0-build/php85-php-pecl-grpc-1.73.0/grpc-1.73.0/src/php/ext/grpc/call.c:87:30: error: passing argument 1 of 'zend_throw_exception' makes pointer from integer without a cast [-Wint-conversion]
   87 |         zend_throw_exception(zend_exception_get_default(TSRMLS_C),
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                              |
      |                              int
In file included from /builddir/build/BUILD/php85-php-pecl-grpc-1.73.0-build/php85-php-pecl-grpc-1.73.0/grpc-1.73.0/src/php/ext/grpc/call.c:27:
/opt/remi/php85/root/usr/include/php/Zend/zend_exceptions.h:57:72: note: expected 'zend_class_entry *' {aka 'struct _zend_class_entry *'} but argument is of type 'int'
   57 | ZEND_API ZEND_COLD zend_object *zend_throw_exception(zend_class_entry *exception_ce, const char *message, zend_long code);
      |                                                      ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~

Patch is trivial, from UPGRADING.INTERNALS

  . zend_exception_get_default() was removed, use zend_ce_exception directly.

Notice: zend_ce_exception is available since PHP 7.0

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions