[all-commits] [llvm/llvm-project] 95f4ca: [flang] Allow restricted specific intrinsic functi...
Peter Klausler via All-commits
all-commits at lists.llvm.org
Mon Jul 25 12:20:26 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 95f4ca7f5db623bacc2e34548d39fe5b28d47bad
https://github.com/llvm/llvm-project/commit/95f4ca7f5db623bacc2e34548d39fe5b28d47bad
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2022-07-25 (Mon, 25 Jul 2022)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/test/Semantics/assign03.f90
A flang/test/Semantics/assign09.f90
M flang/test/Semantics/associated.f90
M flang/test/Semantics/c_f_pointer.f90
M flang/test/Semantics/call03.f90
A flang/test/Semantics/procinterface02.f90
Log Message:
-----------
[flang] Allow restricted specific intrinsic functions as implicitly-interfaced procedure pointer targets
The predicate "CanBeCalledViaImplicitInterface()" was returning false for
restricted specific intrinsic functions (e.g., SIN) because their procedure
characteristics have the elemental attribute; this leads to a bogus semantic
error when one attempts to use them as proc-targets in procedure pointer
assignment statements when the left-hand side of the assignment is a procedure
pointer with an implicit interface. However, these restricted specific intrinsic
functions have always been allowed as special cases for such usage -- it is
as if they are elemental when it is necessary for them to be so, but not
when it's a problem.
Differential Revision: https://reviews.llvm.org/D130386
More information about the All-commits
mailing list