[all-commits] [llvm/llvm-project] 878b52: [flang] Tighten rules to resolve procedure as intr...

jeanPerier via All-commits all-commits at lists.llvm.org
Mon Oct 26 03:27:17 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 878b526409acb04b11f0a6b83c561bfee3521e57
      https://github.com/llvm/llvm-project/commit/878b526409acb04b11f0a6b83c561bfee3521e57
  Author: Jean Perier <jperier at nvidia.com>
  Date:   2020-10-26 (Mon, 26 Oct 2020)

  Changed paths:
    M flang/docs/Intrinsics.md
    M flang/include/flang/Evaluate/intrinsics.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/call16.f90
    A flang/test/Semantics/symbol19.f90

  Log Message:
  -----------
  [flang] Tighten rules to resolve procedure as intrinsic procedure

2 Bug fixes:

- Do not resolve procedure as intrinsic if they appeared in an
  EXTERNAL attribute statement (one path was not considering this flag)

- Emit an error if a procedure resolved to be an intrinsic function
  (resp. subroutine) is used as a subroutine (resp. function).
  Lowering was attempted while the evaluate::Expression for the
  call was missing without any errors.

1 behavior change:

- Do not implicitly resolve subroutines (resp. functions) as intrinsics
  because their name is the name of an intrinsic function (resp.
  subroutine). Add justification in documentation.

Reviewed By: klausler, tskeith

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




More information about the All-commits mailing list