[all-commits] [llvm/llvm-project] 4864d9: [flang] Fix some module file issues exposed by Whi...

Peter Klausler via All-commits all-commits at lists.llvm.org
Thu Jan 14 09:49:19 PST 2021


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 4864d9f7e91fdd58a84e4ae576f1ad16f71f9d91
      https://github.com/llvm/llvm-project/commit/4864d9f7e91fdd58a84e4ae576f1ad16f71f9d91
  Author: peter klausler <pklausler at nvidia.com>
  Date:   2021-01-14 (Thu, 14 Jan 2021)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    M flang/test/Semantics/modfile35.f90
    A flang/test/Semantics/modfile37.f90
    A flang/test/Semantics/modfile38.f90

  Log Message:
  -----------
  [flang] Fix some module file issues exposed by Whizard

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().

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




More information about the All-commits mailing list