[PATCH] D80762: [flang][NFC] Remove link-time dependency of Evaluate on Semantics

Tim Keith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 28 14:53:02 PDT 2020


tskeith created this revision.
tskeith added reviewers: klausler, PeteSteinfeld, sscalpone.
tskeith 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.

Some Symbol-related functions used in Evaluate were moved to
Evaluate/tools.h. This includes changing some member functions that were
replaced by non-member functions `IsDummy`, `GetUsedModule`, and
`CountLenParameters`.

Some member functions were made inline in `Scope`, `Symbol`,
`ArraySpec`, and `DeclTypeSpec`. The definitions were preceded by a
comment explaining why they are inline.

`IsConstantShape` was expanded inline in `IsDescriptor` because it isn't
used anywhere else

After this change, at least when compiling with clang on macos,
`libFortranEvaluate.a` has no undefined symbols that are satisfied by
`libFortranSemantics.a`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D80762

Files:
  flang/include/flang/Evaluate/tools.h
  flang/include/flang/Semantics/scope.h
  flang/include/flang/Semantics/symbol.h
  flang/include/flang/Semantics/tools.h
  flang/include/flang/Semantics/type.h
  flang/lib/Evaluate/check-expression.cpp
  flang/lib/Evaluate/tools.cpp
  flang/lib/Evaluate/type.cpp
  flang/lib/Semantics/check-declarations.cpp
  flang/lib/Semantics/compute-offsets.cpp
  flang/lib/Semantics/mod-file.cpp
  flang/lib/Semantics/resolve-names-utils.cpp
  flang/lib/Semantics/resolve-names.cpp
  flang/lib/Semantics/scope.cpp
  flang/lib/Semantics/symbol.cpp
  flang/lib/Semantics/tools.cpp
  flang/lib/Semantics/type.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80762.267047.patch
Type: text/x-patch
Size: 40539 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200528/b36b45bd/attachment.bin>


More information about the llvm-commits mailing list