Disable Modules when building the libc++ sources.
Libc++ will not build with modules enabled. In order to support an in-tree libc++ when LLVM_ENABLE_MODULES is ON we need to explicitly disable the feature. Unfortunately the libc++ sources are fundamentally non-modular. For example iostream.cpp defines cout, cerr, wout, ... as char buffers instead of streams in order to better control initialization/destruction. Not shockingly Clang diagnoses this. Many other sources files define _LIBCPP_BUILDING_FOO macros to provide definitions for normally inline symbols (See bind.cpp). Finally The current module.map prohibits using <strstream> in C++11 so we can't build strstream.cpp. I think I can fix most of these issues but until then just disable modules. llvm-svn: 284230
Loading
Please sign in to comment