[all-commits] [llvm/llvm-project] b7d02d: [flang] Select proper library APIs for derived typ...
Slava Zakharin via All-commits
all-commits at lists.llvm.org
Thu Sep 14 07:58:39 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b7d02d7e12f96c9c9a735a0255c2b5600fc16067
https://github.com/llvm/llvm-project/commit/b7d02d7e12f96c9c9a735a0255c2b5600fc16067
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2023-09-14 (Thu, 14 Sep 2023)
Changed paths:
M flang/lib/Lower/IO.cpp
A flang/test/Lower/io-derived-type-2.f90
M flang/test/Lower/polymorphic.f90
Log Message:
-----------
[flang] Select proper library APIs for derived type io. (#66327)
This patch syncs the logic inside `getInputFunc` that selects
the library API and the logic in `createIoRuntimeCallForItem`
that creates the input arguments for the library call.
There were cases where we selected `InputDerivedType` API
and passed only two arguments, and also we selected `InputDescriptor`
and passed three arguments.
It turns out we also were incorrectly selecting `OutputDescriptor`
in `getOutputFunc` (`test4` case in the new LIT test),
which caused runtime issues for output of a derived type
with descriptor components (due to the missing non-type-bound table).
More information about the All-commits
mailing list