pthreads can not build pass with php 7.4.0-dev
when make has error:
pthreads/src/prepare.c:808:54 Error: ‘zend_trait_precedence {or struct _zend_trait_precedence}’ has no member named ‘exclude_from_classes’; did you mean ‘exclude_class_names’?
copy->exclude_from_classes = emalloc(sizeof(*copy->exclude_from_classes));
....................
pthreads/src/prepare.c:809:9: Error:‘zend_trait_precedence {or struct _zend_trait_precedence}’ has no member named ‘exclude_from_classes’; did you mean ‘exclude_class_names’?
copy->exclude_from_classes->ce = pthreads_prepared_entry(
^~~~~~~~~~~~~~~~~~~~
exclude_class_names
pthreads/src/prepare.c:810:24: Error:‘zend_trait_precedence {or struct _zend_trait_precedence}’ has no member named ‘exclude_from_classes’; did you mean ‘exclude_class_names’?
thread, precedence->exclude_from_classes->ce
^~~~~~~~~~~~~~~~~~~~
exclude_class_names
............
pthreads/src/prepare.c:812:9: Error:‘zend_trait_precedence {or struct _zend_trait_precedence}’ has no member named ‘exclude_from_classes’; did you mean ‘exclude_class_names’?
copy->exclude_from_classes->class_name = zend_string_new(precedence->exclude_from_classes->class_name);
^~~~~~~~~~~~~~~~~~~~
exclude_class_names
A lot has changed in php-src/master and it will change even more. I would guess pthreads will support php 7.4 in Q2 2019, but it's just a guess.
The changes causing this were done in 7.3, so my 7.3 branch should solve the problem in the OP, but it won't build on the master branch as of today.
The trait structure has been changed again for 7.4 https://github.com/php/php-src/commit/67397970b25d03254f000c36a73204720475b324#diff-3a8139128d4026ce0cb0c86beba4e6b9
Already in php-src/master are Immutable clases and op_arrays and Preloading. Now i'm just still waiting for typed properties to start working on 7.4 support.