[all-commits] [llvm/llvm-project] d55627: [flang] Fix bugs in .mod file for abstract interface

Tim Keith via All-commits all-commits at lists.llvm.org
Mon Dec 28 08:54:59 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d55627d221be8154cbdf454fa727afcc3f716b08
      https://github.com/llvm/llvm-project/commit/d55627d221be8154cbdf454fa727afcc3f716b08
  Author: Tim Keith <tkeith at nvidia.com>
  Date:   2020-12-28 (Mon, 28 Dec 2020)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/modfile10.f90
    M flang/test/Semantics/procinterface01.f90
    M flang/test/Semantics/symbol15.f90

  Log Message:
  -----------
  [flang] Fix bugs in .mod file for abstract interface

When an abstract interface is defined, add the ABSTRACT attribute to
subprogram symbols that define the interface body. Make use of that
when writing .mod files to include "abstract" on the interface statement.

Also, fix a problem with the order of symbols in a .mod file. Sometimes
a name is mentioned before the "real" declaration, e.g. in an access
statement. We want the order to be based on the real definitions. In
these cases we replace the symbol name with an identical name with a
different source location. Then by sorting based on the source location
we get symbols in the right order.

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




More information about the All-commits mailing list