[all-commits] [llvm/llvm-project] 4fed59: [flang] Correct semantic representation & handling...

Peter Klausler via All-commits all-commits at lists.llvm.org
Wed Sep 13 16:13:45 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4fed5959974e4a85504667ce47ef03234dd9aec6
      https://github.com/llvm/llvm-project/commit/4fed5959974e4a85504667ce47ef03234dd9aec6
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2023-09-13 (Wed, 13 Sep 2023)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Semantics/check-allocate.cpp
    M flang/lib/Semantics/check-select-rank.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/test/Semantics/misc-intrinsics.f90
    M flang/test/Semantics/select-rank.f90
    M flang/test/Semantics/select-rank03.f90

  Log Message:
  -----------
  [flang] Correct semantic representation & handling of RANK(*) (#66234)

A RANK(*) case in a SELECT RANK construct selects the case of an
assumed-rank dummy argument whose effective actual argument is an
assumed-size array. In this case, the attributes of the selector are
those of a rank-1 assumed-size array, and the selector cannot be
allocatable or a pointer.

Ensure that the representation of a SELECT RANK construct's per-case
AssocEntityDetails can distinguish RANK(n), RANK(*), and RANK DEFAULT,
and clean up various code sites and tests where the distinctions matter.




More information about the All-commits mailing list