On Fri, Sep 19, 2014 at 6:35 PM, Nico Weber <[email protected]> wrote:
> Hi, > > when using modules in c++98, libc++ currently fails to build: > > While building module 'std' imported from src/disk_interface.h:18: > In file included from <module-includes>:3: > /Users/thakis/src/chrome/src/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/atomic:539:2: > error: <atomic> is not implemented > #error <atomic> is not implemented > ^ > In file included from src/disk_interface.cc:15: > src/disk_interface.h:18:10: fatal error: could not build module 'std' > #include <map> > ~~~~~~~~^ > > The attached patch fixes this by making atomic depend on cxx_atomics. > Fixes PR21002. > Doesn't this just make the atomic submodule always unavailable? We don't have a cxx_atomics feature, as far as I can see. And cxx_atomic (the corresponding __has_feature flag) wouldn't work either: module features are not the same as __has_feature features (see the relevant documentation here: http://clang.llvm.org/docs/Modules.html#requires-declaration). cplusplus11 is the best check we have for this.
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
