Skip to content

Commit

Permalink
FMT_EXPORT reorganization to fix compile error
Browse files Browse the repository at this point in the history
- When compiling with FMT_MODULE, an error was being generated due to
  use of FMT_EXPORT on a declaration within FMT_BEGIN_EXPORT and
  FMT_END_EXPORT on `include/core.h`

- On `include/format.h` had to exclude the function vformat_to by ending
  the export block just before it and beginning a new one after it.
  • Loading branch information
MathewBensonCode committed Aug 18, 2023
1 parent 6c845f5 commit a1659de
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
2 changes: 1 addition & 1 deletion include/fmt/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -1662,7 +1662,7 @@ template <typename Context> class basic_format_arg {
\endrst
*/
// DEPRECATED!
FMT_EXPORT
//FMT_EXPORT
template <typename Visitor, typename Context>
FMT_CONSTEXPR FMT_INLINE auto visit_format_arg(
Visitor&& vis, const basic_format_arg<Context>& arg) -> decltype(vis(0)) {
Expand Down
5 changes: 5 additions & 0 deletions include/fmt/format.h
Original file line number Diff line number Diff line change
Expand Up @@ -1038,6 +1038,7 @@ namespace detail {
FMT_API bool write_console(std::FILE* f, string_view text);
FMT_API void print(std::FILE*, string_view);
} // namespace detail

FMT_BEGIN_EXPORT

// Suppress a misleading warning in older versions of clang.
Expand Down Expand Up @@ -4319,6 +4320,8 @@ inline auto to_string(const T& value) -> std::string {
return to_string(format_as(value));
}

FMT_END_EXPORT

namespace detail {

template <typename Char>
Expand Down Expand Up @@ -4390,6 +4393,8 @@ void vformat_to(buffer<Char>& buf, basic_string_view<Char> fmt,
detail::parse_format_string<false>(fmt, format_handler(out, fmt, args, loc));
}

FMT_BEGIN_EXPORT

#ifndef FMT_HEADER_ONLY
extern template FMT_API void vformat_to(buffer<char>&, string_view,
typename vformat_args<>::type,
Expand Down

0 comments on commit a1659de

Please sign in to comment.