From: Louis Dionne Date: Wed, 15 Apr 2020 18:17:40 +0000 (-0400) Subject: [libc++] Adjust XFAIL markup for modules tests on single-threaded systems X-Git-Tag: llvmorg-12-init~8939 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=91f110f50ee66e0e8de7d4d82e9a4068b10afc91;p=platform%2Fupstream%2Fllvm.git [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. --- diff --git a/libcxx/test/libcxx/modules/cinttypes_exports.compile.pass.cpp b/libcxx/test/libcxx/modules/cinttypes_exports.compile.pass.cpp index 57a5ba5..8037ba3 100644 --- a/libcxx/test/libcxx/modules/cinttypes_exports.compile.pass.cpp +++ b/libcxx/test/libcxx/modules/cinttypes_exports.compile.pass.cpp @@ -12,7 +12,10 @@ // FIXME: The 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/libcxx/test/libcxx/modules/clocale_exports.compile.pass.cpp b/libcxx/test/libcxx/modules/clocale_exports.compile.pass.cpp index 3b87b7b..f349985 100644 --- a/libcxx/test/libcxx/modules/clocale_exports.compile.pass.cpp +++ b/libcxx/test/libcxx/modules/clocale_exports.compile.pass.cpp @@ -12,7 +12,10 @@ // FIXME: The 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/libcxx/test/libcxx/modules/cstdint_exports.compile.pass.cpp b/libcxx/test/libcxx/modules/cstdint_exports.compile.pass.cpp index 0887b59..783670e 100644 --- a/libcxx/test/libcxx/modules/cstdint_exports.compile.pass.cpp +++ b/libcxx/test/libcxx/modules/cstdint_exports.compile.pass.cpp @@ -12,7 +12,10 @@ // FIXME: The 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 re-exports diff --git a/libcxx/test/libcxx/modules/inttypes_h_exports.compile.pass.cpp b/libcxx/test/libcxx/modules/inttypes_h_exports.compile.pass.cpp index 0add4e1..f4000a2 100644 --- a/libcxx/test/libcxx/modules/inttypes_h_exports.compile.pass.cpp +++ b/libcxx/test/libcxx/modules/inttypes_h_exports.compile.pass.cpp @@ -12,7 +12,10 @@ // FIXME: The 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/libcxx/test/libcxx/modules/stdint_h_exports.compile.pass.cpp b/libcxx/test/libcxx/modules/stdint_h_exports.compile.pass.cpp index b83e99b..2f0f4c4 100644 --- a/libcxx/test/libcxx/modules/stdint_h_exports.compile.pass.cpp +++ b/libcxx/test/libcxx/modules/stdint_h_exports.compile.pass.cpp @@ -8,7 +8,10 @@ // FIXME: The 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/libcxx/test/libcxx/modules/stds_include.sh.cpp b/libcxx/test/libcxx/modules/stds_include.sh.cpp index 7ef29fc..d7c4eab 100644 --- a/libcxx/test/libcxx/modules/stds_include.sh.cpp +++ b/libcxx/test/libcxx/modules/stds_include.sh.cpp @@ -15,6 +15,13 @@ // are not modular // XFAIL: LIBCXX-WINDOWS-FIXME +// FIXME: The 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}.