builds.
Fix a libc++abi test that was incorrectly checking for threading
primitives even when threading was disabled.
Additionally, temporarily XFAIL some module tests that fail because
the <atomic> header is unsupported but still built as a part of the
std module.
To properly address this libc++ would either need to produce a different
module.modulemap for single-threaded configurations, or it would need
to make the <atomic> header not hard-error and instead be empty
for single-threaded configurations
// are not modular
// XFAIL: LIBCXX-WINDOWS-FIXME
+// FIXME: The <atomic> header is not supported for single-threaded systems,
+// but still gets built as part of the 'std' module, which breaks the build.
+// XFAIL: libcpp-has-no-threads
+
// REQUIRES: modules-support
// Test that <cinttypes> re-exports <cstdint>
// are not modular
// XFAIL: LIBCXX-WINDOWS-FIXME
+// FIXME: The <atomic> header is not supported for single-threaded systems,
+// but still gets built as part of the 'std' module, which breaks the build.
+// XFAIL: libcpp-has-no-threads
+
// REQUIRES: modules-support
// UNSUPPORTED: c++98, c++03
// are not modular
// XFAIL: LIBCXX-WINDOWS-FIXME
+// FIXME: The <atomic> header is not supported for single-threaded systems,
+// but still gets built as part of the 'std' module, which breaks the build.
+// XFAIL: libcpp-has-no-threads
+
// REQUIRES: modules-support
// Test that <cstdint> re-exports <stdint.h>
// are not modular
// XFAIL: LIBCXX-WINDOWS-FIXME
+// FIXME: The <atomic> header is not supported for single-threaded systems,
+// but still gets built as part of the 'std' module, which breaks the build.
+// XFAIL: libcpp-has-no-threads
+
// REQUIRES: modules-support
// Test that intypes.h re-exports stdint.h
//
//===----------------------------------------------------------------------===//
+// FIXME: The <atomic> header is not supported for single-threaded systems,
+// but still gets built as part of the 'std' module, which breaks the build.
+// XFAIL: libcpp-has-no-threads
+
// REQUIRES: modules-support
// Test that int8_t and the like are exported from stdint.h not inttypes.h
#endif
}
{
-#if defined(__APPLE__) || defined(__linux__)
+#if (defined(__APPLE__) || defined(__linux__)) && !defined(_LIBCXXABI_HAS_NO_THREADS)
assert(PlatformThreadID);
#endif
if (PlatformSupportsThreadID()) {