[all-commits] [llvm/llvm-project] 6f6af7: [flang] Catch bad usage of POINTER attribute

Peter Klausler via All-commits all-commits at lists.llvm.org
Fri Dec 16 09:05:20 PST 2022


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

  Changed paths:
    M flang/docs/Extensions.md
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/pointer01.f90

  Log Message:
  -----------
  [flang] Catch bad usage of POINTER attribute

Most attributes apply to only object or only procedure entities,
and attempts to apply them to other kinds of symbol table entries
are caught in name resolution when ConvertToObjectEntity() or
ConvertToProcEntity() fails.  However, the POINTER attribute can
be applied to both, and name resolution can't perform that conversion
yet, and as a result we don't catch many kinds of silly errors.
Fix by ensuring that the symbol is of a type that could eventually
become an object or procedure entity if it is not one already.

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




More information about the All-commits mailing list