[all-commits] [llvm/llvm-project] 98eb7d: [flang] Enforce C1529 as a warning, C919 as an error

Peter Klausler via All-commits all-commits at lists.llvm.org
Sat Dec 17 09:11:18 PST 2022


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

  Changed paths:
    M flang/docs/Extensions.md
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/bindings01.f90

  Log Message:
  -----------
  [flang] Enforce C1529 as a warning, C919 as an error

Constraint C1529 requires that the base object of a type-bound procedure
reference be a scalar if the TBP has the NOPASS attribute.  Most
compilers do not enforce this constraint and it does not appear to
have any implementation justification, so emit portability warning.

On the other hand, we fail to enforce C919 for references to
procedure pointer components, whose base objects must of course
be scalars in order to avoid ambiguity and empty arrays, whether
NOPASS is present or not.

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




More information about the All-commits mailing list