From 914676e671ecff9bab6dfb65af7eadc87efe6542 Mon Sep 17 00:00:00 2001 From: Ties Stuij Date: Tue, 23 Jul 2024 14:09:34 +0100 Subject: [PATCH] [libcxx] don't `#include ` 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 # include # include -# include # include # include +# include # include # include +# include +# include # include # include # include # include -#endif -#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 -# include -# include -# include +# if !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) +# include +# endif #endif #endif // _LIBCPP_FORMAT