This revision was automatically updated to reflect the committed changes.
Closed by commit rL274816: [analyzer] Add rudimentary handling of AtomicExpr.
(authored by dcoughlin).
Changed prior to commit:
http://reviews.llvm.org/D21667?vs=63096&id=63172#toc
Repository:
rL LLVM
http://reviews.l
dcoughlin added a comment.
Anna and Jordan said I should just go ahead and commit this.
http://reviews.llvm.org/D21667
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dcoughlin marked an inline comment as done.
dcoughlin added a comment.
Ping.
Richard: Would you be willing to take a quick look at the change to the AST?
http://reviews.llvm.org/D21667
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://
dcoughlin marked an inline comment as done.
Comment at: test/Analysis/atomics.c:5
@@ +4,3 @@
+// because we don't fully model the atomics and instead imprecisely
+// treat their arguments as escaping.
+
Thanks! Fixed.
http://reviews.llvm.org/D21667
__
dcoughlin updated this revision to Diff 63096.
dcoughlin added a comment.
Fix typo and bad indentation.
http://reviews.llvm.org/D21667
Files:
include/clang/AST/Expr.h
include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
lib/StaticAnalyzer/Core/ExprEngine.cpp
test/Analysis/atomic
zaks.anna accepted this revision.
This revision is now accepted and ready to land.
Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:2075
@@ +2074,3 @@
+void ExprEngine::VisitAtomicExpr(const AtomicExpr *AE, ExplodedNode *Pred,
+ ExplodedNodeSet &Dst) {
+ Exp
grandinj added a subscriber: grandinj.
Comment at: test/Analysis/atomics.c:4
@@ +3,3 @@
+// Tests for c11 atomics. Many of these tests currently yield unknown
+// because we don't folly model the atomics and instead imprecisely
+// treat their arguments as escaping.
--
dcoughlin created this revision.
dcoughlin added reviewers: zaks.anna, rsmith.
dcoughlin added a subscriber: cfe-commits.
This proposed patch adds crude handling of atomics to the static analyzer.
Rather than ignore AtomicExprs, as we now do, this patch causes the analyzer
to escape the arguments.