diff options
author | Kareem Ergawy <kareem.ergawy@amd.com> | 2025-06-02 15:49:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-06-02 15:49:58 +0200 |
commit | fd66fa56c428d5d403b3b887b89210f80b12f421 (patch) | |
tree | 259d7be1c0c38e67342346e43648ae2e5ef58178 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | dec8f1314fbf77a2b557f12275b1a5e7c7a70f32 (diff) | |
download | llvm-fd66fa56c428d5d403b3b887b89210f80b12f421.zip llvm-fd66fa56c428d5d403b3b887b89210f80b12f421.tar.gz llvm-fd66fa56c428d5d403b3b887b89210f80b12f421.tar.bz2 |
[flang] Retrieve shape from selector when generating assoc sym type (#137117)
This PR extends `genSymbolType` so that the type of an associating
symbol carries the shape of the selector expression, if any. This is a
fix for a bug that triggered when an associating symbol is used in a
locality specifier. For example, given the following input:
```fortran
associate(a => aa(4:))
do concurrent (i = 4:11) local(a)
a(i) = 0
end do
end associate
```
before the changes in the PR, flang would assert that we are casting
between incompatible types. The issue happened since for the associating
symbol (`a`), flang generated its type as `f32` rather than
`!fir.array<8xf32>` as it should be in this case.
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions