[all-commits] [llvm/llvm-project] 3f6e0c: [flang] Move SAVE attribute checks to declaration ...

Peter Klausler via All-commits all-commits at lists.llvm.org
Mon Mar 27 16:01:51 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3f6e0c24e6a7190f309bb44a9e61f8d8fd559d11
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2023-03-27 (Mon, 27 Mar 2023)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/resolve-names-utils.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Lower/host-associated-globals.f90
    M flang/test/Semantics/resolve45.f90

  Log Message:
  [flang] Move SAVE attribute checks to declaration checking

Constraint checking for explicit SAVE attributes is more
accurate when done along with other declaration checking, rather
than on the fly during name resolution.  This allows us to
catch attempts to attach explicit SAVE attributes to anything
that can't have one (constraints C859, C860).

Also delete `IsSave()`, whose few remaining uses were changed to the
more general `IsSaved()` predicate that seems more correct for
those uses, returning true for both explicit and implied SAVE

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

More information about the All-commits mailing list