]> granicus.if.org Git - clang/commit
[analyzer] Add rudimentary handling of AtomicExpr.
authorDevin Coughlin <dcoughlin@apple.com>
Fri, 8 Jul 2016 00:53:18 +0000 (00:53 +0000)
committerDevin Coughlin <dcoughlin@apple.com>
Fri, 8 Jul 2016 00:53:18 +0000 (00:53 +0000)
commit6902f2870a4968f4f9214e7cd19bb2fd10f8747b
tree6e0b0b833b32985eb643afe919994d754ddf41d9
parent282a3e49ea0754a458456c1fb1da69629b5c0c27
[analyzer] Add rudimentary handling of AtomicExpr.

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.

This is rdar://problem/25353187

Differential Revision: http://reviews.llvm.org/D21667

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@274816 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Expr.h
include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
lib/StaticAnalyzer/Core/ExprEngine.cpp
test/Analysis/atomics.c [new file with mode: 0644]