[all-commits] [llvm/llvm-project] 4ac617: [flang] Handle DATA initialization of EQUIVALENCE'...

Peter Klausler via All-commits all-commits at lists.llvm.org
Fri Aug 7 16:39:51 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 4ac617f490cde190a893ebe24a60a4e1b1b468d1
      https://github.com/llvm/llvm-project/commit/4ac617f490cde190a893ebe24a60a4e1b1b468d1
  Author: peter klausler <pklausler at nvidia.com>
  Date:   2020-08-07 (Fri, 07 Aug 2020)

  Changed paths:
    M flang/include/flang/Evaluate/initial-image.h
    M flang/include/flang/Parser/parsing.h
    M flang/include/flang/Semantics/semantics.h
    M flang/include/flang/Semantics/type.h
    M flang/lib/Evaluate/initial-image.cpp
    M flang/lib/Parser/parsing.cpp
    M flang/lib/Semantics/CMakeLists.txt
    M flang/lib/Semantics/check-data.cpp
    M flang/lib/Semantics/check-data.h
    M flang/lib/Semantics/compute-offsets.cpp
    A flang/lib/Semantics/data-to-inits.cpp
    A flang/lib/Semantics/data-to-inits.h
    M flang/lib/Semantics/semantics.cpp
    M flang/lib/Semantics/type.cpp
    M flang/test/Semantics/block-data01.f90
    A flang/test/Semantics/data09.f90

  Log Message:
  -----------
  [flang] Handle DATA initialization of EQUIVALENCE'd objects

Objects that are storage associated by EQUIVALENCE and
initialized with DATA are initialized by creating a
compiler temporary data object in the same scope,
assigning it an offset, type, and size that covers the
transitive closure of the associated initialized original
symbols, and combining their initializers into one common
initializer for the temporary.

Some problems with offset assignment of EQUIVALENCE'd objects
in COMMON were exposed and corrected, and some more error
cases are checked.

Remove obsolete function.
Small bugfix (nested implied dos).
Add a test.
Fix struct/class warning.

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




More information about the All-commits mailing list