Remove FMT_API

Remove FMT_API.
Try hiding the extern template's members declaration from msvc instead.
This commit is contained in:
denchat 2021-04-17 21:56:55 +07:00 committed by GitHub
parent dd5e6dcc31
commit abb5eb42d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3887,29 +3887,31 @@ extern template int snprintf_float<long double>(long double value,
int precision,
float_specs specs,
buffer<char>& buf);
extern template FMT_API const uint64_t basic_data<void>::powers_of_10_64[];
extern template FMT_API const uint32_t basic_data<void>::zero_or_powers_of_10_32_new[];
extern template FMT_API const uint64_t basic_data<void>::zero_or_powers_of_10_64_new[];
extern template FMT_API const uint64_t basic_data<void>::grisu_pow10_significands[];
extern template FMT_API const int16_t basic_data<void>::grisu_pow10_exponents[];
extern template FMT_API const divtest_table_entry<uint32_t> basic_data<void>::divtest_table_for_pow5_32[];
extern template FMT_API const divtest_table_entry<uint64_t> basic_data<void>::divtest_table_for_pow5_64[];
extern template FMT_API const uint64_t basic_data<void>::dragonbox_pow10_significands_64[];
extern template FMT_API const uint128_wrapper basic_data<void>::dragonbox_pow10_significands_128[];
#if !FMT_USE_FULL_CACHE_DRAGONBOX
extern template FMT_API const uint64_t basic_data<void>::powers_of_5_64[];
extern template FMT_API const uint32_t basic_data<void>::dragonbox_pow10_recovery_errors[];
#endif
#ifndef _MSC_VER
extern template const uint64_t basic_data<void>::powers_of_10_64[];
extern template const uint32_t basic_data<void>::zero_or_powers_of_10_32_new[];
extern template const uint64_t basic_data<void>::zero_or_powers_of_10_64_new[];
extern template const uint64_t basic_data<void>::grisu_pow10_significands[];
extern template const int16_t basic_data<void>::grisu_pow10_exponents[];
extern template const divtest_table_entry<uint32_t> basic_data<void>::divtest_table_for_pow5_32[];
extern template const divtest_table_entry<uint64_t> basic_data<void>::divtest_table_for_pow5_64[];
extern template const uint64_t basic_data<void>::dragonbox_pow10_significands_64[];
extern template const uint128_wrapper basic_data<void>::dragonbox_pow10_significands_128[];
# if !FMT_USE_FULL_CACHE_DRAGONBOX
extern template const uint64_t basic_data<void>::powers_of_5_64[];
extern template const uint32_t basic_data<void>::dragonbox_pow10_recovery_errors[];
# endif
// GCC generates slightly better code for pairs than chars.
extern template FMT_API const basic_data<void>::digit_pair basic_data<void>::digits[];
extern template FMT_API const char basic_data<void>::foreground_color[];
extern template FMT_API const char basic_data<void>::background_color[];
extern template FMT_API const char basic_data<void>::reset_color[5];
extern template FMT_API const wchar_t basic_data<void>::wreset_color[5];
extern template FMT_API const char basic_data<void>::signs[];
extern template const basic_data<void>::digit_pair basic_data<void>::digits[];
extern template const char basic_data<void>::foreground_color[];
extern template const char basic_data<void>::background_color[];
extern template const char basic_data<void>::reset_color[5];
extern template const wchar_t basic_data<void>::wreset_color[5];
extern template const char basic_data<void>::signs[];
// DEPRECATED! These are for ABI compatibility.
extern template FMT_API const uint32_t basic_data<void>::zero_or_powers_of_10_32[];
extern template FMT_API const uint64_t basic_data<void>::zero_or_powers_of_10_64[];
extern template const uint32_t basic_data<void>::zero_or_powers_of_10_32[];
extern template const uint64_t basic_data<void>::zero_or_powers_of_10_64[];
#endif // #ifndef _MSC_VER
} // namespace detail
#endif