From bcb7257b31fe8506031a357c00a15fda3e7b9f55 Mon Sep 17 00:00:00 2001 From: denchat <19730041+denchat@users.noreply.github.com> Date: Tue, 7 May 2019 20:16:12 +0700 Subject: [PATCH] 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 --- include/fmt/format-inl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/fmt/format-inl.h b/include/fmt/format-inl.h index 30df00df..f4ddb322 100644 --- a/include/fmt/format-inl.h +++ b/include/fmt/format-inl.h @@ -245,7 +245,7 @@ FMT_FUNC void system_error::init(int err_code, string_view format_str, 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. int i = static_cast(sizeof(void*)) - 1; while (i > 0 && n.value[i] == 0) --i;