https://github.com/llvmbot created https://github.com/llvm/llvm-project/pull/106788
Backport ec56790c3b27df4fa1513594ca9a74fd8ad5bf7f Requested by: @ldionne >From 914676e671ecff9bab6dfb65af7eadc87efe6542 Mon Sep 17 00:00:00 2001 From: Ties Stuij <ties.st...@arm.com> Date: Tue, 23 Jul 2024 14:09:34 +0100 Subject: [PATCH] [libcxx] don't `#include <cwchar>` if wide chars aren't enabled (#99911) Pull request #96032 unconditionall adds the `cwchar` include in the `format` umbrella header. However support for wchar_t can be disabled in the build system (LIBCXX_ENABLE_WIDE_CHARACTERS). This patch guards against inclusion of `cwchar` in `format` by checking the `_LIBCPP_HAS_NO_WIDE_CHARACTERS` define. For clarity I've also merged the include header section that `cwchar` was in with the one above as they were both guarded by the same `#if` logic. (cherry picked from commit ec56790c3b27df4fa1513594ca9a74fd8ad5bf7f) --- libcxx/include/format | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libcxx/include/format b/libcxx/include/format index c3f2b45f0f7305..a88b3ef8528e2d 100644 --- a/libcxx/include/format +++ b/libcxx/include/format @@ -237,21 +237,21 @@ namespace std { # include <cstdint> # include <cstdlib> # include <cstring> -# include <cwchar> # include <initializer_list> # include <limits> +# include <locale> # include <new> # include <optional> +# include <queue> +# include <stack> # include <stdexcept> # include <string> # include <string_view> # include <tuple> -#endif -#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 -# include <locale> -# include <queue> -# include <stack> +# if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) +# include <cwchar> +# endif #endif #endif // _LIBCPP_FORMAT _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits