Skip to content

Commit

Permalink
Remove an ostream hack incompatible with libc++ 17
Browse files Browse the repository at this point in the history
  • Loading branch information
vitaut committed Sep 26, 2023
1 parent 44f3d8a commit 2dd4fa8
Showing 1 changed file with 0 additions and 9 deletions.
9 changes: 0 additions & 9 deletions include/fmt/ostream.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
#if defined(_WIN32) && defined(__GLIBCXX__)
# include <ext/stdio_filebuf.h>
# include <ext/stdio_sync_filebuf.h>
#elif defined(_WIN32) && defined(_LIBCPP_VERSION)
# include <__std_stream>
#endif

#include "format.h"
Expand All @@ -37,10 +35,6 @@ class file_access {
template class file_access<file_access_tag, std::filebuf,
&std::filebuf::_Myfile>;
auto get_file(std::filebuf&) -> FILE*;
#elif defined(_WIN32) && defined(_LIBCPP_VERSION)
template class file_access<file_access_tag, std::__stdoutbuf<char>,
&std::__stdoutbuf<char>::__file_>;
auto get_file(std::__stdoutbuf<char>&) -> FILE*;
#endif

inline bool write_ostream_unicode(std::ostream& os, fmt::string_view data) {
Expand All @@ -57,9 +51,6 @@ inline bool write_ostream_unicode(std::ostream& os, fmt::string_view data) {
else
return false;
if (c_file) return write_console(c_file, data);
#elif defined(_WIN32) && defined(_LIBCPP_VERSION)
if (auto* buf = dynamic_cast<std::__stdoutbuf<char>*>(os.rdbuf()))
if (FILE* f = get_file(*buf)) return write_console(f, data);
#else
ignore_unused(os, data);
#endif
Expand Down

2 comments on commit 2dd4fa8

@Roman-Koshelev
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is it incompatible with C++17?

@vitaut
Copy link
Contributor Author

@vitaut vitaut commented on 2dd4fa8 Oct 23, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

libc++ 17, not C++17: #3654

Please sign in to comment.