[flang-commits] [flang] 79c4307 - [flang][runtime] INQUIRE(UNIT=-666, EXIST=x) should be .FALSE. (#66239)
via flang-commits
flang-commits at lists.llvm.org
Mon Sep 18 08:39:00 PDT 2023
Author: Peter Klausler
Date: 2023-09-18T08:38:55-07:00
New Revision: 79c430787f0c2c78f3f4b8bf877fafab6cc8c5cf
URL: https://github.com/llvm/llvm-project/commit/79c430787f0c2c78f3f4b8bf877fafab6cc8c5cf
DIFF: https://github.com/llvm/llvm-project/commit/79c430787f0c2c78f3f4b8bf877fafab6cc8c5cf.diff
LOG: [flang][runtime] INQUIRE(UNIT=-666, EXIST=x) should be .FALSE. (#66239)
The runtime implementation for INQUIRE(EXIST=x) is returning .TRUE. for
all non-existent unit, which is incorrect for valid unit numbers.
Added:
Modified:
flang/runtime/io-stmt.cpp
Removed:
################################################################################
diff --git a/flang/runtime/io-stmt.cpp b/flang/runtime/io-stmt.cpp
index 6ce66911292a708..1d951a4157d3199 100644
--- a/flang/runtime/io-stmt.cpp
+++ b/flang/runtime/io-stmt.cpp
@@ -1271,7 +1271,7 @@ bool InquireNoUnitState::Inquire(
bool InquireNoUnitState::Inquire(InquiryKeywordHash inquiry, bool &result) {
switch (inquiry) {
case HashInquiryKeyword("EXIST"):
- result = true;
+ result = badUnitNumber() >= 0;
return true;
case HashInquiryKeyword("NAMED"):
case HashInquiryKeyword("OPENED"):
More information about the flang-commits
mailing list