[all-commits] [llvm/llvm-project] 227f30: [flang] Clarify cases where name resolution of gen...

Peter Klausler via All-commits all-commits at lists.llvm.org
Sat Oct 29 11:27:55 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 227f30a515d7aff0f462bed5fffb85b11ec0bb2a
      https://github.com/llvm/llvm-project/commit/227f30a515d7aff0f462bed5fffb85b11ec0bb2a
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-10-29 (Sat, 29 Oct 2022)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp
    A flang/test/Semantics/resolve115.f90

  Log Message:
  -----------
  [flang] Clarify cases where name resolution of generic shadowing can be overridden

Fortran famously allows a generic interface definition to share a
scope with a procedure or derived type of the same name.  When that
shadowed name is accessed via host or USE association, but is also
defined by an interface in the generic, then name resolution needs
to fix up the representation of the shadowing so that the new interface
definition is seen as the shadowed symbol -- the host or USE associated
name is not material to the situation.  See the new test case for
particular examples.

Differential Revision: https://reviews.llvm.org/D136891




More information about the All-commits mailing list