[libcxx-commits] [libcxx] [libc++] Add missing xlocale.h include on Apple and FreeBSD (PR #99689)

via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jul 19 12:31:49 PDT 2024


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libcxx

Author: Louis Dionne (ldionne)

<details>
<summary>Changes</summary>

The <locale> header uses strtoll_l and friends which are defined in <xlocale.h> on these platforms. While this works via transitive includes when modules are disabled, this doesn't work anymore if the platforms are modularized properly.

---
Full diff: https://github.com/llvm/llvm-project/pull/99689.diff


1 Files Affected:

- (modified) libcxx/include/locale (+4) 


``````````diff
diff --git a/libcxx/include/locale b/libcxx/include/locale
index dbec23a2c936d..573910a85bef5 100644
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -232,6 +232,10 @@ template <class charT> class messages_byname;
 #    include <__locale_dir/locale_base_api/bsd_locale_fallbacks.h>
 #  endif
 
+#  if defined(__APPLE__) || defined(__FreeBSD__)
+#    include <xlocale.h>
+#  endif
+
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #    pragma GCC system_header
 #  endif

``````````

</details>


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


More information about the libcxx-commits mailing list