[PATCH] D88313: [flang] Failed call to CHECK() for call to ASSOCIATED(NULL())

Pete Steinfeld via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 15 07:04:19 PDT 2020


PeteSteinfeld updated this revision to Diff 298367.
PeteSteinfeld added a comment.

I made several changes:

- I implemented constant folding for ASSOCIATED().
- I fixed handling of NULL() in relational operations.
- I implemented semantic analysis for ASSOCIATED().
- I noticed that the semantics for ASSOCIATED() are similar to those for pointer assignment.  So I extracted the code that pointer assignment uses for procedure pointer compatibility to a place where it could be used by the semantic analysis for ASSOCIATED().
- I couldn't figure out how to make the general semantic analysis for procedure arguments work with ASSOCIATED()'s second argument, which can be either a pointer or a target.  So I stopped using normal semantic analysis for arguments for ASSOCIATED().
- I added tests for all of this.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88313/new/

https://reviews.llvm.org/D88313

Files:
  flang/include/flang/Evaluate/characteristics.h
  flang/include/flang/Evaluate/tools.h
  flang/include/flang/Evaluate/type.h
  flang/lib/Evaluate/characteristics.cpp
  flang/lib/Evaluate/fold-logical.cpp
  flang/lib/Evaluate/intrinsics.cpp
  flang/lib/Evaluate/tools.cpp
  flang/lib/Semantics/check-call.cpp
  flang/lib/Semantics/expression.cpp
  flang/lib/Semantics/pointer-assignment.cpp
  flang/test/Evaluate/folding06.f90
  flang/test/Semantics/associated.f90
  flang/test/Semantics/call02.f90
  flang/test/Semantics/call09.f90
  flang/test/Semantics/resolve63.f90

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D88313.298367.patch
Type: text/x-patch
Size: 42055 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201015/3d9d5d65/attachment.bin>


More information about the llvm-commits mailing list