hi @nsivov. These checks were added in https://github.com/php/php-src/commit/ddce7ada4c319dafa5cead0c0fb560a659f076... and modified in https://github.com/php/php-src/commit/dd0aca0c11f2572e37fd9583866f37d895a80e...
According to the second commit they implemented it to follow a recommendation from a devblog regarding binary compatibility.
I tried to search for examples of this kind of breaking and I found something like this https://github.com/microsoft/STL/issues/4730 (related to adding a constexpr to a mutex constructor) They are however caused by specific changes in the core libraries code and headers (and only if the code used that feature) and not by the only "virtue" of being compiled with a newer toolchain. (otherwise wine libraries, being compiled with a totally different toolchain won't work at all) (However I have to say, how that modification is compatible with code compiled before that changes eludes me, considering the virtual table changes)