aboutsummaryrefslogtreecommitdiff
path: root/clang/lib
diff options
context:
space:
mode:
authorStanislav Gatev <sgatev@google.com>2022-01-26 12:10:38 +0000
committerStanislav Gatev <sgatev@google.com>2022-01-26 15:33:00 +0000
commit75c22b382f2a7b0bb9499215a3d64e146e3f02cc (patch)
tree1cd5e415b1a9473212a125a397ffadf05dad3dad /clang/lib
parentdf597bf000b5c566e0f9218a53927daf9bc60f6d (diff)
downloadllvm-75c22b382f2a7b0bb9499215a3d64e146e3f02cc.zip
llvm-75c22b382f2a7b0bb9499215a3d64e146e3f02cc.tar.gz
llvm-75c22b382f2a7b0bb9499215a3d64e146e3f02cc.tar.bz2
[clang][dataflow] Add a transfer function for CXXBoolLiteralExpr
This is part of the implementation of the dataflow analysis framework. See "[RFC] A dataflow analysis framework for Clang AST" on cfe-dev. Reviewed-by: xazax.hun Differential Revision: https://reviews.llvm.org/D118236
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Analysis/FlowSensitive/Transfer.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Analysis/FlowSensitive/Transfer.cpp b/clang/lib/Analysis/FlowSensitive/Transfer.cpp
index 7c5e063..51a86b7 100644
--- a/clang/lib/Analysis/FlowSensitive/Transfer.cpp
+++ b/clang/lib/Analysis/FlowSensitive/Transfer.cpp
@@ -443,8 +443,11 @@ public:
// FIXME: Implement array initialization.
}
- // FIXME: Add support for:
- // - CXXBoolLiteralExpr
+ void VisitCXXBoolLiteralExpr(const CXXBoolLiteralExpr *S) {
+ auto &Loc = Env.createStorageLocation(*S);
+ Env.setStorageLocation(*S, Loc);
+ Env.setValue(Loc, Env.getBoolLiteralValue(S->getValue()));
+ }
private:
Environment &Env;