[all-commits] [llvm/llvm-project] c6b9df: [flang] Refine procedure compatibility checking

Peter Klausler via All-commits all-commits at lists.llvm.org
Thu Mar 2 09:32:09 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c6b9df0fbd7fc6f93e3bd7368cf966d55d802f4c
      https://github.com/llvm/llvm-project/commit/c6b9df0fbd7fc6f93e3bd7368cf966d55d802f4c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2023-03-02 (Thu, 02 Mar 2023)

  Changed paths:
    M flang/include/flang/Evaluate/type.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/assign03.f90
    M flang/test/Semantics/associated.f90
    M flang/test/Semantics/call09.f90
    M flang/test/Semantics/call20.f90
    M flang/test/Semantics/call25.f90
    M flang/test/Semantics/resolve46.f90

  Log Message:
  -----------
  [flang] Refine procedure compatibility checking

The test for compatible function results needs to be nearly strict
equality of their types, not the usual actual/dummy type compatibility
test used in other situations.  The exceptional case is that assumed
length CHARACTER function results are compatible with explicit length
results of the same kind.  In particular, a function returning a
polymorphic pointer is not compatible with a function returning a
monomorphic pointer even of the same declared type.

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




More information about the All-commits mailing list