🛠 Fix assumptions of Unicode for Clang-on-Windows
— 💡 MSVC fixed this linker errors (at some point); should check for newer versions and just use the char32_t-based version properly.
This commit is contained in:
parent
43135ae2d0
commit
b2d2d3920b
@ -362,7 +362,7 @@ auto write_encoded_tm_str(OutputIt out, string_view in, const std::locale& loc)
|
||||
if (detail::is_utf8() && loc != get_classic_locale()) {
|
||||
// char16_t and char32_t codecvts are broken in MSVC (linkage errors) and
|
||||
// gcc-4.
|
||||
#if FMT_MSC_VERSION != 0 || \
|
||||
#if FMT_MSC_VERSION < 1932 || \
|
||||
(defined(__GLIBCXX__) && !defined(_GLIBCXX_USE_DUAL_ABI))
|
||||
// The _GLIBCXX_USE_DUAL_ABI macro is always defined in libstdc++ from gcc-5
|
||||
// and newer.
|
||||
|
||||
@ -233,7 +233,13 @@
|
||||
#endif
|
||||
|
||||
#ifndef FMT_UNICODE
|
||||
# define FMT_UNICODE !FMT_MSC_VERSION
|
||||
# if FMT_CLANG_VERSION
|
||||
# define FMT_UNICODE 1
|
||||
# elif defined(_MSVC_EXECUTION_CHARACTER_SET) && (_MSVC_EXECUTION_CHARACTER_SET == 65001)
|
||||
# define FMT_UNICODE 1
|
||||
# else
|
||||
# define FMT_UNICODE !FMT_MSC_VERSION
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef FMT_CONSTEVAL
|
||||
|
||||
Loading…
Reference in New Issue
Block a user