[all-commits] [llvm/llvm-project] 237d0e: [flang] Handle EQUIVALENCE and COMMON in size and ...

Tim Keith via All-commits all-commits at lists.llvm.org
Wed May 6 11:46:19 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 237d0e3c0416abf9919406bcc92874cfd15f5e0c
      https://github.com/llvm/llvm-project/commit/237d0e3c0416abf9919406bcc92874cfd15f5e0c
  Author: Tim Keith <tkeith at nvidia.com>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Semantics/compute-offsets.cpp
    M flang/lib/Semantics/symbol.cpp
    A flang/test/Semantics/offsets03.f90

  Log Message:
  -----------
  [flang] Handle EQUIVALENCE and COMMON in size and offset computations

Objects in common blocks have offsets relative to the start of the
common block, independent of the enclosing scope, so they are processed
first. Add alignment to CommonBlockDetails to record the required
alignment of the common block.

For equivalence sets, each object depends on the one that is forced to
occur first in memory. The rest are recorded in the dependents_ map and
have offsets assigned after the other symbols are done.

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




More information about the All-commits mailing list