The patch fixes a few issues that arise when using libc++ on Windows.
- The CMake configuration added -Wall to the compilation, which actually means -Weverything in MSVC. This led to several thousand warnings per file.
- The experimental library was enabled by default. It doesn't really work (yet) on Windows, and in fact the build docs suggest to disable it, so I don't think that was a sensible default.
- There were some other errors that caused compilation errors in some of the tests.
I've identified a few other issues, but I'm not sure how best to fix them:
- support/win32/locale_win32.h includes xlocinfo.h, which ends up including yvals_core.h. That MSVC header defines feature test macros, among other things, that clash with macros defined in libc++. This is causing lots of test errors.
- <new> includes the ucrt header new.h in the hope that it'll declare get_new_handler etc. but new.h really just goes back and includes <new>. The end result is that nothing actually gets declared and so we're missing a few declarations, which causes lots of compilation errors.