[flang-commits] [flang] [flang][runtime] Don't buffer unit 0 (PR #122614)
Peter Klausler via flang-commits
flang-commits at lists.llvm.org
Sat Jan 11 12:12:59 PST 2025
https://github.com/klausler created https://github.com/llvm/llvm-project/pull/122614
Always assume that predefined unit 0 is a terminal, so that output to it is never buffered.
>From 4ae53ca36a9b455747f11321ec193cdb98905570 Mon Sep 17 00:00:00 2001
From: Peter Klausler <pklausler at nvidia.com>
Date: Sat, 11 Jan 2025 12:10:51 -0800
Subject: [PATCH] [flang][runtime] Don't buffer unit 0
Always assume that predefined unit 0 is a terminal, so that output
to it is never buffered.
---
flang/runtime/file.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/flang/runtime/file.cpp b/flang/runtime/file.cpp
index ec772903242b80..9e077b8cea44bb 100644
--- a/flang/runtime/file.cpp
+++ b/flang/runtime/file.cpp
@@ -134,7 +134,7 @@ void OpenFile::Open(OpenStatus status, Fortran::common::optional<Action> action,
if (fd_ >= 0 && position == Position::Append && !RawSeekToEnd()) {
handler.SignalError(IostatOpenBadAppend);
}
- isTerminal_ = fd_ >= 0 && IsATerminal(fd_) == 1;
+ isTerminal_ = fd_ >= 0 && IsATerminal(fd_);
mayRead_ = *action != Action::Write;
mayWrite_ = *action != Action::Read;
if (status == OpenStatus::Old || status == OpenStatus::Unknown) {
@@ -163,7 +163,7 @@ void OpenFile::Predefine(int fd) {
knownSize_.reset();
nextId_ = 0;
pending_.reset();
- isTerminal_ = IsATerminal(fd_) == 1;
+ isTerminal_ = fd == 2 || IsATerminal(fd_);
mayRead_ = fd == 0;
mayWrite_ = fd != 0;
mayPosition_ = false;
More information about the flang-commits
mailing list