Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note that I did this stepwise (i.e. each commit updates to a newer version; we may want to also keep these, or not). I run x64 and x86 builds and didn't notice any issues with the ext/intl test suite up to ICU 74.2.
ICU 75.1, however, required more adjustments. First, the ICU 75.1 build failed because stdalign.h is not available with Windows SDKs < 10.0.20348.0; that might be just an issue with the internal tests suite, but still it might make sense to switch to using a newer SDK (see https://news-web.php.net/php.internals.win/1281 for some additional info and discussion). I did this in the cmb/sdk branch, and building ICU 75.1 succeeded. To actually be able to build PHP with this ICU version, I had to add
CFLAGS=/std:c++17
, since ICU 75.1 now requires C++17. Running the ext/intl test suite (PHP 8.2), I've got to failing tests, but from a quick glance, these look like minor version dependent issues, so the tests need to be adapted.