[libcxx-commits] [PATCH] D120022: [libcxx] [test] Fix the put_double, put_long_double tests for clang-cl

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Feb 23 14:28:54 PST 2022


Quuxplusone added inline comments.


================
Comment at: libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp:17-18
 // - With the Microsoft UCRT, printf("%a", 0.0) produces "0x0.0000000000000p+0"
 //   while other C runtimes produce just "0x0p+0". This requires omitting all
-//   tests of hex float formatting.
+//   tests of hex float formatting. (test7() and test8() are ifdeffed out.)
 //   https://developercommunity.visualstudio.com/t/Printf-formatting-of-float-as-hex-prints/1660844
----------------



================
Comment at: libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp:17880
+#endif
 }
 
----------------
Any appetite to transplant these two tests into a separate file that could be `XFAIL: msvc`'ed? You could call it, like, `put_double.hex.pass.cpp`.


================
Comment at: libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp:17-18
 // - With the Microsoft UCRT, printf("%a", 0.0) produces "0x0.0000000000000p+0"
 //   while other C runtimes produce just "0x0p+0". This requires omitting all
-//   tests of hex float formatting.
+//   tests of hex float formatting. (test11() is ifdeffed out.)
 //   https://developercommunity.visualstudio.com/t/Printf-formatting-of-float-as-hex-prints/1660844
----------------



================
Comment at: libcxx/utils/libcxx/test/features.py:99
+          }
+          """)),
+
----------------
I missed out on D119930; this approach seems reasonable to me too. But what would you think of giving all these Windows UCRT bugs a common prefix, something like `win32-broken-utf8-wchar-ctype`, `win32-broken-printf-g-precision`, and so on?
I assume `msvc-broken-...` would have the wrong connotation because this affects both msvc and clang-cl, right? Would `win32-broken-` have better connotations? `msc-ucrt-broken-`??


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120022/new/

https://reviews.llvm.org/D120022



More information about the libcxx-commits mailing list