[all-commits] [llvm/llvm-project] fee041: [flang] Document and warn about an extension

Peter Klausler via All-commits all-commits at lists.llvm.org
Sat Dec 3 11:10:20 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fee041f69de071cf813c332abc8be279ff7c0bb7
      https://github.com/llvm/llvm-project/commit/fee041f69de071cf813c332abc8be279ff7c0bb7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-12-03 (Sat, 03 Dec 2022)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    A flang/test/Semantics/bindings03.f90

  Log Message:
  -----------
  [flang] Document and warn about an extension

Standard Fortran allows type-bound procedure bindings to only
be called, and disallows them from being used in other contexts
where a procedure name can be: as the target of a procedure pointer
assignment statement, and as an actual argument that corresponds
to a dummy procedure.  So long as the interfaces match, there's
no good reason for these uses to be errors, and there some obvious
use cases in polymorphic programming.  So emit portability warnings
rather than errors, and document this usage as an extension.

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




More information about the All-commits mailing list