[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