[PATCH] D21667: [analyzer] Add rudimentary handling of AtomicExpr.

Devin Coughlin via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 23 16:44:37 PDT 2016


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. This is imprecise -- and we should model the
expressions fully in the future -- but it is less wrong than ignoring their
effects altogether.

Richard: Would you mind reviewing the changes I made to AtomicExpr in the AST? I had
to add a const accessor for the subexpressions.

Anna: Would you review the static analyzer portion?

This is rdar://problem/25353187


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/atomics.c

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21667.61744.patch
Type: text/x-patch
Size: 8028 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160623/6f4fcdfa/attachment.bin>


More information about the cfe-commits mailing list