[PATCH] D94636: [flang] Fix some module file issues exposed by Whizard

Peter Klausler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 13 14:16:06 PST 2021


klausler created this revision.
klausler added a reviewer: tskeith.
klausler added a project: Flang.
Herald added a subscriber: jdoerfert.
klausler requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.



  Generic type-bound interfaces for user-defined operators need to be formatted
  as "OPERATOR(.op.)", not just ".op."
  
  PRIVATE generics need to be marked as such.
  
  Declaration ordering: when a generic interface shadows a
  derived type of the same name, it needs to be emitted to the
  module file at the point of definition of the derived type;
  otherwise, the derived type's definition may appear after its
  first use.
  
  The module symbol for a module read from a module file needs
  to be marked as coming from a module file before semantic
  processing is performed on the contents of the module so that
  any special handling for declarations in module files can be
  properly activated.
  
  IMPORT statements were sometimes missing for use-associated
  symbols in surrounding scopes; fine-tune NeedImport().


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D94636

Files:
  flang/lib/Semantics/mod-file.cpp
  flang/test/Semantics/modfile35.f90
  flang/test/Semantics/modfile37.f90
  flang/test/Semantics/modfile38.f90

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94636.316516.patch
Type: text/x-patch
Size: 7399 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210113/4ef2dd50/attachment.bin>


More information about the llvm-commits mailing list