sgatev marked an inline comment as done.
sgatev added inline comments.

================
Comment at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:114
+    } else if (S->getCastKind() == CK_NoOp) {
+      auto *SubExprLoc = Env.getStorageLocation(*SubExpr, SkipPast::None);
+      if (SubExprLoc == nullptr)
----------------
xazax.hun wrote:
> An alternative way to handle Noop operations would be to make location lookup 
> function always skip certain nodes, so we do not need to store locations for 
> those subexpressions. I don't have a strong feeling for either solution, this 
> is fine as it is, just wanted to be sure that both were considered. 
It makes sense to consider it. Right now I don't have signals that one is 
better than the other. I think the current implementation fits the general 
model a bit better. Nevertheless, I added a FIXME to keep this option in mind.


================
Comment at: clang/lib/Analysis/FlowSensitive/Transfer.cpp:277
+  void VisitCallExpr(const CallExpr *S) {
+    if (S->isCallToStdMove()) {
+      assert(S->getNumArgs() == 1);
----------------
xazax.hun wrote:
> Interesting, I only see `isCallToStdMove` in the CallExpr API, although I 
> imagine, `std::forward` has a similar level of importance. 
I haven't looked into `std::forward` yet, but happy to do that in the next 
patch.


================
Comment at: clang/unittests/Analysis/FlowSensitive/TransferTest.cpp:39
 protected:
+  enum class CppVersion {
+    k14 = 14,
----------------
xazax.hun wrote:
> Shouldn't we piggyback on `clang::LangStandard::Kind`? If it is not easy to 
> convert that to the appropriate command line flag feel free to ignore this.
Makes sense. Thanks for pointing this out!


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D117218

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to