[all-commits] [llvm/llvm-project] 084d8b: [flang] Extend common block size to cover equivale...

jeanPerier via All-commits all-commits at lists.llvm.org
Thu Sep 2 23:14:42 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 084d8bebd0fcad80b0b2890e427e804ca42431d8
      https://github.com/llvm/llvm-project/commit/084d8bebd0fcad80b0b2890e427e804ca42431d8
  Author: Jean Perier <jperier at nvidia.com>
  Date:   2021-09-03 (Fri, 03 Sep 2021)

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

  Log Message:
  -----------
  [flang] Extend common block size to cover equivalence storage

The size of common block should be extended to cover any storage
sequence that are storage associated with the common block via
equivalences (8.10.2.2 point 1 (2)).

In symbol size and offset computation, the size of the common block
was not always extended to cover storage association. It was only done
if the "base symbol of an equivalence group"(*) appeared in a common block
statement. Correct this to cover all cases where a symbol appearing in a
common block statement is storage associated.

(*) the base symbol of an equivalence group is the symbol whose storage
starts first in a storage association (if several symbols starts first,
the base symbol is the last one visited by the algorithm going through
the equivalence sets).

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




More information about the All-commits mailing list