[all-commits] [llvm/llvm-project] c559af: [flang] Retrieve shape from selector when generati...

Kareem Ergawy via All-commits all-commits at lists.llvm.org
Wed Apr 23 22:57:56 PDT 2025


  Branch: refs/heads/users/ergawy/gen_shape_from_expr_for_assoc_entities
  Home:   https://github.com/llvm/llvm-project
  Commit: c559af9e86c7ecc832a3b6bab7ef24c0e636d2d7
      https://github.com/llvm/llvm-project/commit/c559af9e86c7ecc832a3b6bab7ef24c0e636d2d7
  Author: ergawy <kareem.ergawy at amd.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M flang/lib/Lower/ConvertType.cpp
    A flang/test/Lower/do_concurrent_local_assoc_entity.f90

  Log Message:
  -----------
  [flang] Retrieve shape from selector when generating assoc sym type

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.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list