php-crypto icon indicating copy to clipboard operation
php-crypto copied to clipboard

Compile failure with clang 17

Open dktapps opened this issue 1 year ago • 1 comments

/Users/dylan-work/Documents/projects/pocketmine-mp/php-build-scripts/install_data/subdir/php/ext/crypto/crypto_stream.c:347:2: error: incompatible function pointer types initializing 'ssize_t (*)(php_stream *, const char *, size_t)' (aka 'long (*)(struct _php_stream *, const char *, unsigned long)') with an expression of type 'size_t (php_stream *, const char *, size_t)' (aka 'unsigned long (struct _php_stream *, const char *, unsigned long)') [-Wincompatible-function-pointer-types]
  347 |         php_crypto_stream_write, php_crypto_stream_read,
      |         ^~~~~~~~~~~~~~~~~~~~~~~
/Users/dylan-work/Documents/projects/pocketmine-mp/php-build-scripts/install_data/subdir/php/ext/crypto/crypto_stream.c:347:27: error: incompatible function pointer types initializing 'ssize_t (*)(php_stream *, char *, size_t)' (aka 'long (*)(struct _php_stream *, char *, unsigned long)') with an expression of type 'size_t (php_stream *, char *, size_t)' (aka 'unsigned long (struct _php_stream *, char *, unsigned long)') [-Wincompatible-function-pointer-types]
  347 |         php_crypto_stream_write, php_crypto_stream_read,
      |                                  ^~~~~~~~~~~~~~~~~~~~~~
/Users/dylan-work/Documents/projects/pocketmine-mp/php-build-scripts/install_data/subdir/php/ext/crypto/crypto_stream.c:617:1: warning: missing field 'stream_metadata' initializer [-Wmissing-field-initializers]
  617 | };
      | ^
1 warning and 2 errors generated.

Not sure which version of PHP changed this, but it appears we've never accounted for it.

dktapps avatar Jan 05 '24 15:01 dktapps

Actions logs suggest that 7.4 is the first version this warning/error appears in.

dktapps avatar Jan 05 '24 15:01 dktapps