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

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


  Branch: refs/heads/users/ergawy/gen_shape_from_expr_for_assoc_entities
  Home:   https://github.com/llvm/llvm-project
  Commit: d5d5db36758d691c53c6713daf454500e763c3a1
      https://github.com/llvm/llvm-project/commit/d5d5db36758d691c53c6713daf454500e763c3a1
  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