https://github.com/llvmbot created https://github.com/llvm/llvm-project/pull/80484
resolves llvm/llvm-project#79155 >From 5f40ce9e310808c6326371475c0e2f840c946de1 Mon Sep 17 00:00:00 2001 From: Po-yao Chang <poyao...@gmail.com> Date: Tue, 30 Jan 2024 13:40:21 +0800 Subject: [PATCH] [libc++][modules] Support using the module std with -fno-char8_t. (#79155) Exclude some using-declarations in the module purview when compiling with `-fno-char8_t`. (cherry picked from commit dc4483659fc51890fdc732acc66a4dcda6e68047) --- libcxx/modules/std/atomic.inc | 2 ++ libcxx/modules/std/iosfwd.inc | 2 ++ libcxx/modules/std/string.inc | 4 ++++ libcxx/modules/std/string_view.inc | 2 ++ 4 files changed, 10 insertions(+) diff --git a/libcxx/modules/std/atomic.inc b/libcxx/modules/std/atomic.inc index 5139b7531093d..88b31ccdb2084 100644 --- a/libcxx/modules/std/atomic.inc +++ b/libcxx/modules/std/atomic.inc @@ -60,7 +60,9 @@ export namespace std { using std::atomic_char; using std::atomic_char16_t; using std::atomic_char32_t; +#ifndef _LIBCPP_HAS_NO_CHAR8_T using std::atomic_char8_t; +#endif using std::atomic_int; using std::atomic_llong; using std::atomic_long; diff --git a/libcxx/modules/std/iosfwd.inc b/libcxx/modules/std/iosfwd.inc index ec8b434ca0c51..410fb6aefed80 100644 --- a/libcxx/modules/std/iosfwd.inc +++ b/libcxx/modules/std/iosfwd.inc @@ -14,7 +14,9 @@ export namespace std { #endif using std::u16streampos; using std::u32streampos; +#ifndef _LIBCPP_HAS_NO_CHAR8_T using std::u8streampos; +#endif using std::basic_osyncstream; using std::basic_syncbuf; diff --git a/libcxx/modules/std/string.inc b/libcxx/modules/std/string.inc index c83ee7643f87e..9808a96215a18 100644 --- a/libcxx/modules/std/string.inc +++ b/libcxx/modules/std/string.inc @@ -34,7 +34,9 @@ export namespace std { using std::string; using std::u16string; using std::u32string; +#ifndef _LIBCPP_HAS_NO_CHAR8_T using std::u8string; +#endif #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS using std::wstring; #endif @@ -58,7 +60,9 @@ export namespace std { using std::pmr::string; using std::pmr::u16string; using std::pmr::u32string; +#ifndef _LIBCPP_HAS_NO_CHAR8_T using std::pmr::u8string; +#endif #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS using std::pmr::wstring; #endif diff --git a/libcxx/modules/std/string_view.inc b/libcxx/modules/std/string_view.inc index 1fa63a7739535..f4f9d80ddb83d 100644 --- a/libcxx/modules/std/string_view.inc +++ b/libcxx/modules/std/string_view.inc @@ -27,7 +27,9 @@ export namespace std { using std::string_view; using std::u16string_view; using std::u32string_view; +#ifndef _LIBCPP_HAS_NO_CHAR8_T using std::u8string_view; +#endif #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS using std::wstring_view; #endif _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits