[libc++] Adjust XFAIL markup for modules tests on single-threaded systems
When building these tests without modules in the whole test suite,
the __config_site macro definitions are not included anymore in the
%{compile_flags}. This causes the _LIBCPP_HAS_NO_THREADS define not
to be picked up, and the test to XPASS on single-threaded systems.
This is a stop-gap measure to fix the build bots, however the proper
solution would be to always pass the __config_site defines as compiler
macros, whether we build with modules or not.
Cr-Mirrored-From: https://chromium.googlesource.com/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 91f110f50ee66e0e8de7d4d82e9a4068b10afc91
diff --git a/test/libcxx/modules/cinttypes_exports.compile.pass.cpp b/test/libcxx/modules/cinttypes_exports.compile.pass.cpp
index 57a5ba5..8037ba3 100644
--- a/test/libcxx/modules/cinttypes_exports.compile.pass.cpp
+++ b/test/libcxx/modules/cinttypes_exports.compile.pass.cpp
@@ -12,7 +12,10 @@
// 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
+// The failure only shows up when modules are enabled AND we're building
+// without threads, which is when the __config_site macro for _LIBCPP_HAS_NO_THREADS
+// is honored.
+// XFAIL: libcpp-has-no-threads && -fmodules
// REQUIRES: modules-support
// ADDITIONAL_COMPILE_FLAGS: -fmodules
diff --git a/test/libcxx/modules/clocale_exports.compile.pass.cpp b/test/libcxx/modules/clocale_exports.compile.pass.cpp
index 3b87b7b..f349985 100644
--- a/test/libcxx/modules/clocale_exports.compile.pass.cpp
+++ b/test/libcxx/modules/clocale_exports.compile.pass.cpp
@@ -12,7 +12,10 @@
// 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
+// The failure only shows up when modules are enabled AND we're building
+// without threads, which is when the __config_site macro for _LIBCPP_HAS_NO_THREADS
+// is honored.
+// XFAIL: libcpp-has-no-threads && -fmodules
// UNSUPPORTED: c++98, c++03
diff --git a/test/libcxx/modules/cstdint_exports.compile.pass.cpp b/test/libcxx/modules/cstdint_exports.compile.pass.cpp
index 0887b59..783670e 100644
--- a/test/libcxx/modules/cstdint_exports.compile.pass.cpp
+++ b/test/libcxx/modules/cstdint_exports.compile.pass.cpp
@@ -12,7 +12,10 @@
// 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
+// The failure only shows up when modules are enabled AND we're building
+// without threads, which is when the __config_site macro for _LIBCPP_HAS_NO_THREADS
+// is honored.
+// XFAIL: libcpp-has-no-threads && -fmodules
// Test that <cstdint> re-exports <stdint.h>
diff --git a/test/libcxx/modules/inttypes_h_exports.compile.pass.cpp b/test/libcxx/modules/inttypes_h_exports.compile.pass.cpp
index 0add4e1..f4000a2 100644
--- a/test/libcxx/modules/inttypes_h_exports.compile.pass.cpp
+++ b/test/libcxx/modules/inttypes_h_exports.compile.pass.cpp
@@ -12,7 +12,10 @@
// 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
+// The failure only shows up when modules are enabled AND we're building
+// without threads, which is when the __config_site macro for _LIBCPP_HAS_NO_THREADS
+// is honored.
+// XFAIL: libcpp-has-no-threads && -fmodules
// Test that intypes.h re-exports stdint.h
diff --git a/test/libcxx/modules/stdint_h_exports.compile.pass.cpp b/test/libcxx/modules/stdint_h_exports.compile.pass.cpp
index b83e99b..2f0f4c4 100644
--- a/test/libcxx/modules/stdint_h_exports.compile.pass.cpp
+++ b/test/libcxx/modules/stdint_h_exports.compile.pass.cpp
@@ -8,7 +8,10 @@
// 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
+// The failure only shows up when modules are enabled AND we're building
+// without threads, which is when the __config_site macro for _LIBCPP_HAS_NO_THREADS
+// is honored.
+// XFAIL: libcpp-has-no-threads && -fmodules
// Test that int8_t and the like are exported from stdint.h, not inttypes.h
diff --git a/test/libcxx/modules/stds_include.sh.cpp b/test/libcxx/modules/stds_include.sh.cpp
index 7ef29fc..d7c4eab 100644
--- a/test/libcxx/modules/stds_include.sh.cpp
+++ b/test/libcxx/modules/stds_include.sh.cpp
@@ -15,6 +15,13 @@
// 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.
+// The failure only shows up when modules are enabled AND we're building
+// without threads, which is when the __config_site macro for _LIBCPP_HAS_NO_THREADS
+// is honored.
+// XFAIL: libcpp-has-no-threads && -fmodules
+
// REQUIRES: modules-support
// NOTE: The -std=XXX flag is present in %{flags}, so we overwrite it by passing it after %{flags}.