[PATCH] D79121: Add nomerge function attribute to clang

Richard Smith - zygoloid via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 8 13:58:12 PDT 2020


rsmith added inline comments.


================
Comment at: clang/lib/Sema/SemaStmtAttr.cpp:178
+    return true;
+  return llvm::any_of(S->children(), hasCallExpr);
+}
----------------
zequanwu wrote:
> rsmith wrote:
> > This will recurse into too much (eg, the bodies of lambdas and blocks, and unevaluated operands). It would be better to make this a `ConstEvaluatedExprVisitor` instead (see include/clang/AST/EvaluatedExprVisitor.h).
> Do you mean to create a subclass of `ConstEvaluatedExprVisitor` to find if the statement has call expression?
This is still recursing into unevaluated operands (eg. the operand of `sizeof`). Please use `ConstEvaluatedExprVisitor` instead of `ConstStmtVisitor`.


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

https://reviews.llvm.org/D79121





More information about the cfe-commits mailing list