diff options
author | jeanPerier <jperier@nvidia.com> | 2024-03-19 11:26:36 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-19 11:26:36 +0100 |
commit | 8eee236021f72821d628ec31d8e8d1f92e7821d3 (patch) | |
tree | c4308237cca37acba9a5dac2a573448058f59e28 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | d9c31ee9568277e4303715736b40925e41503596 (diff) | |
download | llvm-8eee236021f72821d628ec31d8e8d1f92e7821d3.zip llvm-8eee236021f72821d628ec31d8e8d1f92e7821d3.tar.gz llvm-8eee236021f72821d628ec31d8e8d1f92e7821d3.tar.bz2 |
[flang] Lower sequence associated argument passed by descriptor (#85696)
The current lowering did not handle sequence associated argument passed
by descriptor. This case is special because sequence association implies
that the actual and dummy argument need to to agree in rank and shape.
Usually, arguments that can be sequence associated are passed by raw
address, and the shape mistmatch is transparent. But there are three
cases of explicit and assumed-size arrays passed by descriptors:
- polymorphic arguments
- BIND(C) assumed-length arguments (F'2023 18.3.7 (5)).
- length parametrized derived types (TBD)
The callee side is expecting a descriptor containing the dummy rank and
shape. This was not the case. This patch fix that by evaluating the
dummy shape on the caller side using the interface (that has to be
available when arguments are passed by descriptors).
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions