summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/ThreadSafety.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2014-05-09 18:44:48 +0000
committerAaron Ballman <aaron@aaronballman.com>2014-05-09 18:44:48 +0000
commit0c6a14ca82ce3f646b7128c68242acbdc0e2784d (patch)
treeb1ecd1e3b73dda5281a8b97d0537a43aa5704f55 /clang/lib/Analysis/ThreadSafety.cpp
parent7c192b452fa2b3c63ed547e0ff88a5e62765b59f (diff)
downloadbcm5719-llvm-0c6a14ca82ce3f646b7128c68242acbdc0e2784d.tar.gz
bcm5719-llvm-0c6a14ca82ce3f646b7128c68242acbdc0e2784d.zip
Amending r208439 to remove buildLExpr; this code isn't strictly required yet, and fixes a dead code warning.
llvm-svn: 208440
Diffstat (limited to 'clang/lib/Analysis/ThreadSafety.cpp')
-rw-r--r--clang/lib/Analysis/ThreadSafety.cpp46
1 files changed, 0 insertions, 46 deletions
diff --git a/clang/lib/Analysis/ThreadSafety.cpp b/clang/lib/Analysis/ThreadSafety.cpp
index d19e04d630d..078d3ff13f6 100644
--- a/clang/lib/Analysis/ThreadSafety.cpp
+++ b/clang/lib/Analysis/ThreadSafety.cpp
@@ -709,52 +709,6 @@ public:
}
};
-/// \brief Attempts to create an LExpr from a Clang Expr. If an LExpr cannot be
-/// constructed, returns a null pointer. Recursive function that terminates when
-/// the complete expression is handled, or when a failure to create an LExpr
-/// occurs.
-static clang::threadSafety::lexpr::LExpr *
-buildLExpr(threadSafety::til::MemRegionRef &Arena, const Expr *CurExpr) {
- using namespace clang::threadSafety::lexpr;
- using namespace clang::threadSafety::til;
-
- if (const auto *DRE = dyn_cast<DeclRefExpr>(CurExpr)) {
- // TODO: Construct the til::SExpr leaf properly.
- return new Terminal(new (Arena) Variable());
- } else if (const auto *ME = dyn_cast<MemberExpr>(CurExpr)) {
- // TODO: Construct the til::SExpr leaf properly.
- return new Terminal(new (Arena) Variable());
- } else if (const auto *BOE = dyn_cast<BinaryOperator>(CurExpr)) {
- switch (BOE->getOpcode()) {
- case BO_LOr:
- case BO_LAnd: {
- auto *LHS = buildLExpr(Arena, BOE->getLHS());
- auto *RHS = buildLExpr(Arena, BOE->getRHS());
- if (!LHS || !RHS)
- return nullptr;
-
- if (BOE->getOpcode() == BO_LOr)
- return new Or(LHS, RHS);
- else
- return new And(LHS, RHS);
- }
- default:
- break;
- }
- } else if (const auto *UOE = dyn_cast<UnaryOperator>(CurExpr)) {
- if (UOE->getOpcode() == UO_LNot) {
- auto *E = buildLExpr(Arena, UOE->getSubExpr());
- return new Not(E);
- }
- } else if (const auto *CE = dyn_cast<CastExpr>(CurExpr)) {
- return buildLExpr(Arena, CE->getSubExpr());
- } else if (const auto *PE = dyn_cast<ParenExpr>(CurExpr)) {
- return buildLExpr(Arena, PE->getSubExpr());
- }
-
- return nullptr;
-}
-
/// \brief A short list of SExprs
class MutexIDList : public SmallVector<SExpr, 3> {
public:
OpenPOWER on IntegriCloud