[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