mirror of
https://github.com/intel/llvm.git
synced 2026-01-23 07:58:23 +08:00
This is a relanding of https://github.com/llvm/llvm-project/pull/149493. The tests were failing because we were interpreting a proper file descriptor as a console file descriptor. This patch uses the Windows APIs to print to the Windows Console, through `llvm::raw_fd_ostream`. This fixes a rendering issue where the characters defined in `DiagnosticsRendering.cpp` ("╰" for instance) are not rendered properly on Windows out of the box, because the default codepage is not `utf-8`. This solution is based on [this patch downstream](https://github.com/swiftlang/swift/pull/40632/files#diff-e948e4bd7a601e3ca82d596058ccb39326459a4751470eec4d393adeaf516977R37-R38). rdar://156064500