[PATCH] D130600: [clang][dataflow] Handle return statements

Eric Li via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 27 11:50:11 PDT 2022


li.zhe.hua added inline comments.


================
Comment at: clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h:114
+  ///
+  ///  `return` must not be assigned a storage location.
+  void setReturnStorageLocation(StorageLocation &Loc) {
----------------
Fix this as well? A reader shouldn't need to root around in private implementation details to understand the requirements for calling a function.


================
Comment at: clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp:221
+
   // FIXME: Currently this only works if the callee is never a method and the
   // same callee is never analyzed from multiple separate callsites. To
----------------
I'm a little unclear on what "this" is. Is it this entire function, or just the call to `getDirectCallee()`? Can this comment be moved somewhere more appropriate, and specifically, so it is touching the code that is most relevant to it? It is currently floating in the middle of the function, and it's unclear to me why new code is being added above it vs. below it.


================
Comment at: clang/unittests/Analysis/FlowSensitive/TransferTest.cpp:3908
+      Var = true;
+      return;
+    }
----------------
Why is this change to the test necessary?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D130600



More information about the cfe-commits mailing list