[all-commits] [llvm/llvm-project] 73f21d: [flang] Fix: use right symbol for parent component

Peter Klausler via All-commits all-commits at lists.llvm.org
Wed Feb 2 10:49:35 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 73f21db537f7828ab55bd2a365e5ccdf2c439ab7
      https://github.com/llvm/llvm-project/commit/73f21db537f7828ab55bd2a365e5ccdf2c439ab7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-02-02 (Wed, 02 Feb 2022)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Semantics/expression.cpp

  Log Message:
  -----------
  [flang] Fix: use right symbol for parent component

When constructing the representation for a component reference
to an inherited component, expression semantics make the parent
component references explicit in the DataRef; e.g., base%component
becomes base%parent%grandparent%component if component was
inheritance-associated through two levels.  But expression semantics
was inserting references to the symbol table entries for the
intermediate types, not the symbols for the parent components in
the extended types.  (We didn't notice the distinction until
recently because both symbols have the same name; this only
affects lowering.)  Find and use the right symbols.

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




More information about the All-commits mailing list