llvm-project/flang/lib
Peter Steinfeld 4f11944652 [flang] Allow implicit procedure pointers to associate with explicit procedures
Section 10.2.2.4, paragraph 3 states that, for procedure pointer assignment:
  If the pointer object has an explicit interface, its characteristics shall be
  the same as the pointer target ...

Thus, it's illegal for a procedure pointer with an explicit interface to be
associated with a procedure whose interface is implicit.  However, there's no
prohibition that disallows a procedure pointer with an implicit interface from
being associated with a procedure whose interface is explicit.

We were incorrectly emitting an error message for this latter case.

We were also not covering the case of procedures with explicit
interfaces where calling them requires the use of a descriptor.  Such
procedures cannot be associated with procedure pointers with implicit
interfaces.

Differential Revision: https://reviews.llvm.org/D113706
2021-11-15 09:51:25 -08:00
..
Common
Decimal [flang] Runtime performance improvements to real formatted input 2021-11-12 11:40:02 -08:00
Evaluate [flang] Allow implicit procedure pointers to associate with explicit procedures 2021-11-15 09:51:25 -08:00
Frontend [flang][driver] Add actions that execute despite semantic errors 2021-10-11 11:52:05 +00:00
FrontendTool [flang][driver] Add support for Frontend Plugins 2021-08-12 11:42:16 +01:00
Lower Remove builder that takes SSA value instead of Attribute on ExtractValueOp, InsetValueOp, and InsertOnRangeOp 2021-11-02 22:35:47 +00:00
Optimizer [Flang] Add the FIR LLVMPointer Type 2021-11-15 15:57:59 +00:00
Parser Added OpenMP 5.0 specification based semantic checks for CRITICAL construct name resolution 2021-10-12 22:18:24 +05:30
Semantics [flang] Allow exterior branch to outermost WHERE construct statement 2021-11-11 13:14:42 -08:00
CMakeLists.txt [flang][driver] Delete `f18` (i.e. the old Flang driver) 2021-08-05 12:57:15 +00:00