[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 12:57:47 PDT 2020


PeteSteinfeld marked 10 inline comments as done.
PeteSteinfeld added a comment.

Thanks for the comments.  New update coming.



================
Comment at: flang/lib/Evaluate/characteristics.cpp:437
+  return false;
+}
+
----------------
klausler wrote:
> Could be
> ```
> const auto *argObj{...}.
> return argObj && argObj->type.type().IsTypelessIntrinsicArgument();
> ```
Thanks.  I'll fix this.


================
Comment at: flang/lib/Evaluate/intrinsics.cpp:1871
   } else if (name == "associated") {
-    if (const auto &arg{call.arguments[0]}) {
-      if (const auto *expr{arg->UnwrapExpr()}) {
-        if (const Symbol * symbol{GetLastSymbol(*expr)}) {
-          ok = symbol->attrs().test(semantics::Attr::POINTER);
-          // TODO: validate the TARGET= argument vs. the pointer
+    if (const auto &pointerArg{call.arguments[0]}) {
+      if (const auto *pointerExpr{pointerArg->UnwrapExpr()}) {
----------------
klausler wrote:
> This block of code has grown to the point that it should be extracted into its own function, I think.
Thanks.  I'll do it.


================
Comment at: flang/lib/Evaluate/tools.cpp:894
+  std::optional<parser::MessageFixedText> msg;
+  llvm::outs() << "In Check for procedure pointer assignment\n";
+  if (!lhsProcedure) {
----------------
klausler wrote:
> Debugging code needs scrubbing.
Ay yi yi.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D88313



More information about the llvm-commits mailing list