[libcxx-commits] [libcxxabi] [libc++abi][libc][test] Use LLVM-libc headers in LLVM-libc config (PR #194665)

Jackson Stogel via libcxx-commits libcxx-commits at lists.llvm.org
Tue Apr 28 13:57:43 PDT 2026


jtstogel wrote:

Failures are unrelated. Failing on windows with:

```
  Command Output (stdout):
  --
  # COMPILED WITH
  C:/llvm-mingw/bin/c++.exe D:\a\llvm-project\llvm-project\libcxx\test\std\localization\locale.categories\category.monetary\locale.money.get\locale.money.get.members\get_long_double_fr_FR.pass.cpp  --target=x86_64-w64-windows-gnu -nostdinc++ -I D:/a/llvm-project/llvm-project/build/mingw-dll/libcxx/test-suite-install/include/c++/v1 -I D:/a/llvm-project/llvm-project/build/mingw-dll/libcxx/test-suite-install/include/c++/v1 -I D:/a/llvm-project/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -DTEST_WINDOWS_DLL -Wuser-defined-warnings -DFR_MON_THOU_SEP='L"\u00a0
  "' -lc++experimental -nostdlib++ -L D:/a/llvm-project/llvm-project/build/mingw-dll/libcxx/test-suite-install/lib -lc++ -o D:\a\llvm-project\llvm-project\build\mingw-dll\libcxx\test\std\localization\locale.categories\category.monetary\locale.money.get\locale.money.get.members\Output\get_long_double_fr_FR.pass.cpp.dir\t.tmp.exe
  # executed command: C:/llvm-mingw/bin/c++.exe 'D:\a\llvm-project\llvm-project\libcxx\test\std\localization\locale.categories\category.monetary\locale.money.get\locale.money.get.members\get_long_double_fr_FR.pass.cpp' --target=x86_64-w64-windows-gnu -nostdinc++ -I D:/a/llvm-project/llvm-project/build/mingw-dll/libcxx/test-suite-install/include/c++/v1 -I D:/a/llvm-project/llvm-project/build/mingw-dll/libcxx/test-suite-install/include/c++/v1 -I D:/a/llvm-project/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wshift-negative-value -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -Wno-nullability-completeness -flax-vector-conversions=none -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -DTEST_WINDOWS_DLL -Wuser-defined-warnings '-DFR_MON_THOU_SEP=L"\u00a0
  "' -lc++experimental -nostdlib++ -L D:/a/llvm-project/llvm-project/build/mingw-dll/libcxx/test-suite-install/lib -lc++ -o 'D:\a\llvm-project\llvm-project\build\mingw-dll\libcxx\test\std\localization\locale.categories\category.monetary\locale.money.get\locale.money.get.members\Output\get_long_double_fr_FR.pass.cpp.dir\t.tmp.exe'
  # .---command stderr------------
  # | error: macro 'FR_MON_THOU_SEP' contains embedded newline; text after the newline is ignored [-Werror]
  # | In file included from <built-in>:507:
  # | <command line>:4:25: error: missing terminating '"' character [-Werror,-Winvalid-pp-token]
  # |     4 | #define FR_MON_THOU_SEP L"\u00a0
  # |       |                         ^
  # | D:\a\llvm-project\llvm-project\libcxx\test\std\localization\locale.categories\category.monetary\locale.money.get\locale.money.get.members\get_long_double_fr_FR.pass.cpp:63:70: error: expected expression
  # |    63 |   const wchar_t fr_sep = LocaleHelpers::mon_thousands_sep_or_default(FR_MON_THOU_SEP);
  # |       |                                                                      ^
  # | <command line>:4:25: note: expanded from macro 'FR_MON_THOU_SEP'
  # | 3 errors generated.
  # `-----------------------------
  # error: command failed with exit status: 1
```

Looks like this define is coming from:

https://github.com/llvm/llvm-project/blob/d8c1f8734f43fd6edaf0cbdd8e1a1b0451a4dbb0/libcxx/utils/libcxx/test/features/localization.py#L144

Looking at recent PRs, https://github.com/llvm/llvm-project/pull/194577 is probably the causes for the new behavior, and the python code here should be updated to not rely on `\r\n` -> `\n` conversion happening automatically.

https://github.com/llvm/llvm-project/pull/194665


More information about the libcxx-commits mailing list