[PATCH] D79347: [flang] Handle EQUIVALENCE and COMMON in size and offset computations

Peter Klausler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 4 12:22:11 PDT 2020


klausler created this revision.
klausler added reviewers: tskeith, sscalpone.
klausler added a project: Flang.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: DavidTruby.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D79347

Files:
  flang/include/flang/Semantics/symbol.h
  flang/lib/Semantics/compute-offsets.cpp
  flang/lib/Semantics/symbol.cpp
  flang/test/Semantics/offsets03.f90

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79347.261887.patch
Type: text/x-patch
Size: 10093 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200504/ce54d397/attachment.bin>


More information about the llvm-commits mailing list