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 --- 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 basic_ostream;