Fix DLL visibility of count_digits<4>(internal::uintptr_t) definition in format-inl.h

In FMT_SHARED mode, format-test.exe wants to DLL import `count_digits<4>(internal::uintptr_t)` explicit full specialization definition in format-inl.h
This commit is contained in:
denchat 2019-05-07 20:16:12 +07:00 committed by GitHub
parent 4bf134428d
commit bcb7257b31
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -245,7 +245,7 @@ FMT_FUNC void system_error::init(int err_code, string_view format_str,
namespace internal { namespace internal {
template <> FMT_FUNC int count_digits<4>(internal::uintptr_t n) { template <> FMT_FUNC FMT_API int count_digits<4>(internal::uintptr_t n) {
// Assume little endian; pointer formatting is implementation-defined anyway. // Assume little endian; pointer formatting is implementation-defined anyway.
int i = static_cast<int>(sizeof(void*)) - 1; int i = static_cast<int>(sizeof(void*)) - 1;
while (i > 0 && n.value[i] == 0) --i; while (i > 0 && n.value[i] == 0) --i;