[PATCH] D51868: [libcxx] Build and test fixes for Windows

Hamza Sood via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 10 10:03:40 PDT 2018


hamzasood created this revision.
hamzasood added reviewers: rnk, EricWF, compnerd, smeenai.
Herald added subscribers: cfe-commits, ldionne, mgorny.

The patch fixes a few issues that arise when using libc++ on Windows.
Specifically:

1. The CMake configuration added `-Wall` to the compilation, which actually means `-Weverything` in MSVC. This led to several thousand warnings per file.
2. 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.
3. 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:

1. `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.
2. `<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.


Repository:
  rCXX libc++

https://reviews.llvm.org/D51868

Files:
  CMakeLists.txt
  include/filesystem
  test/std/strings/c.strings/cuchar.pass.cpp
  test/support/test_macros.h
  test/support/verbose_assert.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51868.164689.patch
Type: text/x-patch
Size: 3655 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180910/d997e8e6/attachment.bin>


More information about the cfe-commits mailing list