[libcxx-commits] [libcxx] [llvm] [libc++] Fix checks for terminal and flushes in std::print() (PR #70321)
Dimitrij Mijoski via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Mar 11 04:05:31 PDT 2026
================
@@ -202,14 +200,10 @@ _LIBCPP_HIDE_FROM_ABI inline bool __is_terminal([[maybe_unused]] FILE* __stream)
// the behavior in the test. This is not part of the public API.
# ifdef _LIBCPP_TESTING_PRINT_IS_TERMINAL
return _LIBCPP_TESTING_PRINT_IS_TERMINAL(__stream);
-# elif _LIBCPP_AVAILABILITY_HAS_PRINT == 0 || !_LIBCPP_HAS_TERMINAL
- return false;
-# elif defined(_LIBCPP_WIN32API)
+# elif _LIBCPP_AVAILABILITY_HAS_PRINT && _LIBCPP_HAS_TERMINAL && defined(_LIBCPP_WIN32API)
return std::__is_windows_terminal(__stream);
-# elif __has_include(<unistd.h>)
- return std::__is_posix_terminal(__stream);
# else
-# error "Provide a way to determine whether a FILE* is a terminal"
----------------
dimztimz wrote:
OK, as-is then.
https://github.com/llvm/llvm-project/pull/70321
More information about the libcxx-commits
mailing list