[all-commits] [llvm/llvm-project] 0d5883: [flang] Check discrepancies between local & availa...

Peter Klausler via All-commits all-commits at lists.llvm.org
Fri Dec 2 11:11:48 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0d588347000bd8245b8a1824758c6ed005ae5bce
      https://github.com/llvm/llvm-project/commit/0d588347000bd8245b8a1824758c6ed005ae5bce
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-12-02 (Fri, 02 Dec 2022)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-call.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Semantics/global01.f90
    A flang/test/Semantics/local-vs-global.f90
    M flang/test/Semantics/procinterface01.f90
    M flang/test/Semantics/resolve102.f90
    M flang/test/Semantics/resolve53.f90
    M flang/test/Semantics/resolve62.f90

  Log Message:
  -----------
  [flang] Check discrepancies between local & available global subprograms

When a scope declares the name and perhaps some characteristics of
an external subprogram using any of the many means that Fortran supplies
for doing such a thing, and that external subprogram's definition is
available, check the local declaration against the external definition.
In particular, if the global definition's interface cannot be called
by means of an implicit interface, ensure that references are via an
explicit and compatible interface.

Further, extend call site checking so that when a local declaration
exists for a known global symbol and the arguments are valid for that
local declaration, the arguments are checked against the global's
interface, just are is already done when no local declaration exists.

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




More information about the All-commits mailing list