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

Kareem Ergawy via All-commits all-commits at lists.llvm.org
Mon May 5 00:26:55 PDT 2025


  Branch: refs/heads/users/ergawy/gen_shape_from_expr_for_assoc_entities
  Home:   https://github.com/llvm/llvm-project
  Commit: 621169618ac3c0572770417c0b119c2625c1cf11
      https://github.com/llvm/llvm-project/commit/621169618ac3c0572770417c0b119c2625c1cf11
  Author: ergawy <kareem.ergawy at amd.com>
  Date:   2025-05-05 (Mon, 05 May 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