Hi Nico,

How expensive is this check?  This code makes me nervous:

+  llvm::FoldingSetNodeID lhsID, rhsID;
+  ML->getBase()->Profile(lhsID, Sema.Context, true);
+  MR->getBase()->Profile(rhsID, Sema.Context, true);
+  if (lhsID == rhsID)
+    Sema.Diag(Loc, diag::warn_identity_memvar_assign);

If this is done on every assignment, might this be a bit expensive for marginal 
gain?

On Jun 25, 2012, at 12:26 PM, Nico Weber <[email protected]> wrote:

> Hi,
> 
> the attached patch adds a warning for self-assignments of member
> variables. This is PR13104. I do this every now and then locally when
> writing setter functions: I type "void set_var(int var) { var_ =" and
> then try to hit ctrl-p twice to complete the lhs to "var" in vim, but
> miss and hit it only once, so that I end up with "var_ = var_;"
> 
> This finds 0 bugs and 0 false positives in chromium, so I'm not sure
> how useful this is. Opinions?
> 
> Nico
> <clang-memvar-assign.patch>_______________________________________________
> cfe-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to