lebedev.ri added a comment.

Thanks for working on this! I tried, and it appears to not fix the issue at 
hand.

-

  struct C1 {
    C1(const C1* c, int num);
  };
  
  int x = 0;
  auto y = std::make_unique<C1>(nullptr, x); // <- still considered a mutation?

-

  struct C3 {}; // some class
  
  struct C2 {
    C2(const int* whatever, int n, C3 zz);
  };
  
  int x = 0;
  std::vector<C2> v;
  v.emplace_back(nullptr, x, {}); // <- still considered a mutation?

And so on. These are hand-reduced, so hopefully you can reproduce?



================
Comment at: include/clang/Analysis/Analyses/ExprMutationAnalyzer.h:32
   const Stmt *findMutation(const Expr *Exp);
+  const Stmt *findDeclMutation(const Decl *Dec);
 
----------------
Thanks!
I know this has performance implications, but those will exist even if one has 
this in his own code.


Repository:
  rC Clang

https://reviews.llvm.org/D52008



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

Reply via email to