tree 259d7be1c0c38e67342346e43648ae2e5ef58178
parent dec8f1314fbf77a2b557f12275b1a5e7c7a70f32
author Kareem Ergawy <kareem.ergawy@amd.com> 1748872198 +0200
committer GitHub <noreply@github.com> 1748872198 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoPawGCRC1aQ7uu5UhlAAAfNIQAG1M9gy4MT0v+U27WzJnH7Oi
 c9JsaGn8nvttRAxG95d2ndZUapf6YzqfosUSiU+0qal8w0Q+zaXzqdPeTiQNIcux
 NL3vtd37gAJbj21di/uB6J/mJf0rKbdwNRJhEu2GiAMhzpx5At2BnJOWd3iJTdGJ
 Wb+vu6AqcM8wF5oV3zIF1srWcmm/8WAhqoNkPrY8NZ3E4xcpzVeKcfO2whqDwNxv
 JMrO9Ocra6HmmbtAHXwAl2GteXfR3I+zsAZFXN4ePcxfkbz/DLsKffRkOCMYprZK
 xtqmZWUMUzVMcmcbiADew0B0s7+7cnLpZQW9u2Nar8kfZKUAlBN8srP7L1vQGTnx
 eLKO2uU6hIAA6pweZTtRIXi9MFtS4rN3db7LwfoG+cf6zJm/SmtFM6CmIHGy/2X2
 ClxPXhwmqiTkqxJjL8S14kHBiuUmG3J4MsqnUYXHJf1hvC6aRSiCeaqwrFQ8ahhV
 dfBMBKOBT8MwAT4nCK7IJJ4wWaT5i/wUn/nnIZdDIkZTwlDhnBGUEKQ0HGAN36eA
 ZfHofSe8Xd0YRk0QfeXYVycSCsiGpNomCChuztNB/c2CK/2t7LGmmI+ZtGwHIe/M
 hHd5FvJrOhiI3AE5RYGRDwUU0c6jm5vYCdaVdflXX/Wy6bHxcFh+wYkf77fWT8cD
 hyz7DinkaLbxqMpTsdsJ
 =UxiH
 -----END PGP SIGNATURE-----
 

[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.