[all-commits] [llvm/llvm-project] 749242: [flang] Fix function result rewrite

PeixinQiao via All-commits all-commits at lists.llvm.org
Fri Nov 4 07:17:26 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 749242668885d86a4f8bd6a5e697250b6cdb36d3
      https://github.com/llvm/llvm-project/commit/749242668885d86a4f8bd6a5e697250b6cdb36d3
  Author: Peixin Qiao <qiaopeixin at huawei.com>
  Date:   2022-11-04 (Fri, 04 Nov 2022)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/test/Fir/abstract-results.fir

  Log Message:
  -----------
  [flang] Fix function result rewrite

When the function result is `type(c_ptr/c_funptr)`, and the function has
or does not have BIND(C) attribute, the function result is not taken as
the first argument of the function call in other compilers such as
gfortran and ifort. Fix it to be consistent with gfortran/ifort by
changing the abstract result type check.

Fix #58739.

Reviewed By: PeteSteinfeld, jeanPerier

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




More information about the All-commits mailing list