[llvm] [flang][runtime] Fix CUDA build (PR #154357)

Peter Klausler via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 19 08:11:15 PDT 2025


https://github.com/klausler created https://github.com/llvm/llvm-project/pull/154357

Address problems with CUDA build of flang-new runtime after a recent patch to an external open file API.

>From 795333c7f3dc95053ec4902774b60e56cb9e2168 Mon Sep 17 00:00:00 2001
From: Peter Klausler <pklausler at nvidia.com>
Date: Tue, 19 Aug 2025 08:07:38 -0700
Subject: [PATCH] [flang][runtime] Fix CUDA build

Address problems with CUDA build of flang-new runtime after a
recent patch to an external open file API.
---
 flang-rt/lib/runtime/pseudo-unit.cpp | 2 +-
 flang-rt/lib/runtime/unit.h          | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/flang-rt/lib/runtime/pseudo-unit.cpp b/flang-rt/lib/runtime/pseudo-unit.cpp
index 7e1f3bc86b294..74ce101e25fe4 100644
--- a/flang-rt/lib/runtime/pseudo-unit.cpp
+++ b/flang-rt/lib/runtime/pseudo-unit.cpp
@@ -160,7 +160,7 @@ void PseudoOpenFile::WaitAll(IoErrorHandler &handler) {
   handler.Crash("%s: unsupported", RT_PRETTY_FUNCTION);
 }
 
-Position PseudoOpenFile::InquirePosition() const {
+Position PseudoOpenFile::InquirePosition(FileOffset) const {
   Terminator{__FILE__, __LINE__}.Crash("%s: unsupported", RT_PRETTY_FUNCTION);
 }
 
diff --git a/flang-rt/lib/runtime/unit.h b/flang-rt/lib/runtime/unit.h
index 34b7c3972bd96..db7cdc315184a 100644
--- a/flang-rt/lib/runtime/unit.h
+++ b/flang-rt/lib/runtime/unit.h
@@ -88,7 +88,7 @@ class PseudoOpenFile {
       FileOffset, const char *, std::size_t, IoErrorHandler &);
   RT_API_ATTRS void Wait(int id, IoErrorHandler &);
   RT_API_ATTRS void WaitAll(IoErrorHandler &);
-  RT_API_ATTRS Position InquirePosition() const;
+  RT_API_ATTRS Position InquirePosition(FileOffset) const;
 };
 #endif // defined(RT_USE_PSEUDO_FILE_UNIT)
 
@@ -198,8 +198,8 @@ class ExternalFileUnit : public ConnectionState,
   RT_API_ATTRS int GetAsynchronousId(IoErrorHandler &);
   RT_API_ATTRS bool Wait(int);
   RT_API_ATTRS Position InquirePosition() const {
-    return OpenFile::InquirePosition(
-        static_cast<FileOffset>(frameOffsetInFile_ + recordOffsetInFrame_));
+    return OpenFileClass::InquirePosition(
+        static_cast<std::int64_t>(frameOffsetInFile_ + recordOffsetInFrame_));
   }
 
 private:



More information about the llvm-commits mailing list