[all-commits] [llvm/llvm-project] b22873: [flang] Always diagnose incompatible function resu...

Peter Klausler via All-commits all-commits at lists.llvm.org
Mon Oct 31 10:41:49 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b22873b18cd81529623566fd13ef90cdb48c6ee7
      https://github.com/llvm/llvm-project/commit/b22873b18cd81529623566fd13ef90cdb48c6ee7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-10-31 (Mon, 31 Oct 2022)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/test/Semantics/assign03.f90
    M flang/test/Semantics/associated.f90
    M flang/test/Semantics/resolve46.f90

  Log Message:
  -----------
  [flang] Always diagnose incompatible function results when associating function pointers

There are some exceptional cases where the compiler permits association of
procedure pointers or dummy arguments with slightly incompatible procedure
targets, but they should not override any incompatibilty of function
result types.

(Includes a second fix to resolve the original motivating test failure, in
which a COMPLEX intrinsic function was getting its result kind divided by
two due to an implicit C++ conversion of the kind to a "*kind" parse tree
node, and those legacy "COMPLEX*size" type designators' values are twice
the type kind value.)

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




More information about the All-commits mailing list