[libc++] Adjust XFAIL markup for modules tests on single-threaded systems
authorLouis Dionne <ldionne@apple.com>
Wed, 15 Apr 2020 18:17:40 +0000 (14:17 -0400)
committerLouis Dionne <ldionne@apple.com>
Wed, 15 Apr 2020 18:28:07 +0000 (14:28 -0400)
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.

libcxx/test/libcxx/modules/cinttypes_exports.compile.pass.cpp
libcxx/test/libcxx/modules/clocale_exports.compile.pass.cpp
libcxx/test/libcxx/modules/cstdint_exports.compile.pass.cpp
libcxx/test/libcxx/modules/inttypes_h_exports.compile.pass.cpp
libcxx/test/libcxx/modules/stdint_h_exports.compile.pass.cpp
libcxx/test/libcxx/modules/stds_include.sh.cpp

index 57a5ba5..8037ba3 100644 (file)
 
 // 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
index 3b87b7b..f349985 100644 (file)
 
 // 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
 
index 0887b59..783670e 100644 (file)
 
 // 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>
 
index 0add4e1..f4000a2 100644 (file)
 
 // 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
 
index b83e99b..2f0f4c4 100644 (file)
@@ -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
 
index 7ef29fc..d7c4eab 100644 (file)
 // 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}.