Fix clang warning about ignoring __declspec(dllexport) on basic_data<void> template instantitation definition (#2220)
This commit is contained in:
parent
aec504344a
commit
42eccac454
@ -223,8 +223,8 @@
|
||||
#ifndef FMT_EXTERN_TEMPLATE_API
|
||||
# define FMT_EXTERN_TEMPLATE_API
|
||||
#endif
|
||||
#ifndef FMT_INSTANTIATION_DEF_API
|
||||
# define FMT_INSTANTIATION_DEF_API FMT_API
|
||||
#ifndef FMT_INSTANTIATION_DECL_API
|
||||
# define FMT_INSTANTIATION_DECL_API FMT_API
|
||||
#endif
|
||||
|
||||
#ifndef FMT_HEADER_ONLY
|
||||
|
@ -995,9 +995,7 @@ FMT_INLINE uint16_t bsr2log10(int bsr) {
|
||||
return data[bsr];
|
||||
}
|
||||
|
||||
#ifndef FMT_EXPORTED
|
||||
FMT_EXTERN template struct basic_data<void>;
|
||||
#endif
|
||||
FMT_EXTERN template struct FMT_INSTANTIATION_DECL_API basic_data<void>;
|
||||
|
||||
// This is a struct rather than an alias to avoid shadowing warnings in gcc.
|
||||
struct data : basic_data<> {};
|
||||
|
@ -55,7 +55,9 @@ vformat_to(buffer<char>&, string_view,
|
||||
type_identity_t<char>>>);
|
||||
} // namespace detail
|
||||
|
||||
template struct FMT_INSTANTIATION_DEF_API detail::basic_data<void>;
|
||||
// Clang doesn't allow dllexport on template instantiation definitions (LLVM
|
||||
// D61118).
|
||||
template struct detail::basic_data<void>;
|
||||
|
||||
// Workaround a bug in MSVC2013 that prevents instantiation of format_float.
|
||||
int (*instantiate_format_float)(double, int, detail::float_specs,
|
||||
|
Loading…
Reference in New Issue
Block a user