diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2024-02-21 18:10:00 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2024-02-28 11:27:46 +0000 |
commit | 4da67f63b9e306c43764857a0436d13668e1d3cc (patch) | |
tree | c1b248095d1b1183600ce8c4924af38bbbce9467 /libstdc++-v3/include | |
parent | 3c1e624a926dadee24f45beb1da84b12d135511a (diff) | |
download | gcc-4da67f63b9e306c43764857a0436d13668e1d3cc.zip gcc-4da67f63b9e306c43764857a0436d13668e1d3cc.tar.gz gcc-4da67f63b9e306c43764857a0436d13668e1d3cc.tar.bz2 |
libstdc++: Fix std::print for Cygwin
Cygwin should use std::fwrite, not WriteConsoleW. And the -lstdc++exp
library is only needed when running the tests on *-*-mingw*.
libstdc++-v3/ChangeLog:
* include/std/ostream (vprint_unicode) [__CYGWIN__]: Use POSIX
code path for Cygwin instead of Windows.
* include/std/print (vprint_unicode) [__CYGWIN__]: Likewise.
* testsuite/27_io/basic_ostream/print/1.cc: Only add -lstdc++exp
for *-*-mingw* targets.
* testsuite/27_io/print/1.cc: Likewise.
Diffstat (limited to 'libstdc++-v3/include')
-rw-r--r-- | libstdc++-v3/include/std/ostream | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/std/print | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream index 7d501d6..a136399 100644 --- a/libstdc++-v3/include/std/ostream +++ b/libstdc++-v3/include/std/ostream @@ -906,7 +906,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline void vprint_unicode(ostream& __os, string_view __fmt, format_args __args) { -#ifndef _WIN32 +#if !defined(_WIN32) || defined(__CYGWIN__) // For most targets we don't need to do anything special to write // Unicode to a terminal. std::vprint_nonunicode(__os, __fmt, __args); @@ -923,7 +923,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // If stream refers to a terminal, write a Unicode string to it. if (auto __term = __open_terminal(__os.rdbuf())) { -#ifndef _WIN32 +#if !defined(_WIN32) || defined(__CYGWIN__) // For POSIX, __open_terminal(streambuf*) uses fdopen to open a // new file, so we would need to close it here. This code is not // actually compiled because it's inside an #ifdef _WIN32 group, diff --git a/libstdc++-v3/include/std/print b/libstdc++-v3/include/std/print index 492f333..d440334 100644 --- a/libstdc++-v3/include/std/print +++ b/libstdc++-v3/include/std/print @@ -64,7 +64,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION inline void vprint_unicode(FILE* __stream, string_view __fmt, format_args __args) { -#ifndef _WIN32 +#if !defined(_WIN32) || defined(__CYGWIN__) // For most targets we don't need to do anything special to write // Unicode to a terminal. std::vprint_nonunicode(__stream, __fmt, __args); |