rsmith added a comment.

If `IncludePossibleEffects` is false, the goal of `HasSideEffect` is to 
determine whether we think the user intended for the expression to have a 
side-effect. It seems reasonable to assume that any use of an assignment 
operator had that intent, so (since it seems like this is not adding false 
positives) this seems reasonable to me.


================
Comment at: lib/AST/Expr.cpp:2867-2868
@@ +2866,4 @@
+    // underlaying operator is of assignment type
+    OverloadedOperatorKind binOp = 
cast<CXXOperatorCallExpr>(this)->getOperator();
+    if (binOp == OO_Equal || (binOp >= OO_PlusEqual && binOp <= OO_PipeEqual)) 
{
+      return true;
----------------
Variable names should start with a capital letter.

================
Comment at: lib/AST/Expr.cpp:2868
@@ +2867,3 @@
+    OverloadedOperatorKind binOp = 
cast<CXXOperatorCallExpr>(this)->getOperator();
+    if (binOp == OO_Equal || (binOp >= OO_PlusEqual && binOp <= OO_PipeEqual)) 
{
+      return true;
----------------
Please don't hard-code the order of OO enumerators like this (and this isn't 
even correct: you missed `<<=` and `>>=`). 

Instead, consider extending `BinaryOperator::isAssignmentOp` / 
`BinaryOperator::getOverloadedOpcode` so you can use them for this.

================
Comment at: lib/AST/Expr.cpp:2872
@@ -2864,3 +2871,3 @@
+  }
   case CallExprClass:
   case CXXMemberCallExprClass:
----------------
Please add a comment indicating the fallthrough here is intentional.


Repository:
  rL LLVM

https://reviews.llvm.org/D22910



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

Reply via email to