Author: Martin Storsjö Date: 2022-04-05T21:44:05-07:00 New Revision: a4681df0202cd4967ee499c6ee640b0d09263971
URL: https://github.com/llvm/llvm-project/commit/a4681df0202cd4967ee499c6ee640b0d09263971 DIFF: https://github.com/llvm/llvm-project/commit/a4681df0202cd4967ee499c6ee640b0d09263971.diff LOG: [libcxx] [test] Avoid spurious test breakage in clang-cl-dll configs with newer CMake The pointer.volatile.pass.cpp test was already marked as XFAIL for mingw-dll (for reasons explained in the comment above it). The same issue also appears in clang-cl-dll when built with newer CMake versions. (It didn't appear with older versions of CMake, as CMake built the library with the clang-cl flag `-std:c++latest` when we've requested C++ 20 - which practically built it in c++2b mode with current clang versions. With current versions of CMake, it passes `-std:c++20` instead.) As it succeeds/fails dependent on factors we don't directly control, mark it as UNSUPPORTED instead of XFAIL. Differential Revision: https://reviews.llvm.org/D122718 (cherry picked from commit b048397db8027fedf9380e7cf9213239d558fa29) Added: Modified: libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp Removed: ################################################################################ diff --git a/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp b/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp index 392e50d7f3f97..0538dcd4ac142 100644 --- a/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp +++ b/libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp @@ -10,12 +10,22 @@ // UNSUPPORTED: c++03, c++11, c++14, c++17, c++20 -// This test fails on MinGW DLL configurations, due to +// This test fails in Windows DLL configurations, due to // __exclude_from_explicit_instantiation__ not behaving as it should in // combination with dllimport (https://llvm.org/PR41018), in combination // with running tests in c++2b mode while building the library in c++20 mode. -// (If the library was built in c++2b mode, this test would succeed.) -// XFAIL: target={{.+}}-windows-gnu && windows-dll +// +// If the library was built in c++2b mode, this test would succeed. +// +// Older CMake passed -std:c++latest to set C++ 20 mode on clang-cl, which +// hid this issue. With newer CMake versions, it passes -std:c++20 which +// makes this fail. +// +// Marking as UNSUPPORTED instead of XFAIL to avoid spurious failures/successes +// depending on the version of CMake used. +// TODO: Remove this when the library is built in c++2b mode. +// +// UNSUPPORTED: windows-dll // template <class charT, class traits = char_traits<charT> > // class basic_ostream; _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
