diff options
author | Weaver <Tom.Weaver@sony.com> | 2024-05-02 11:51:45 +0100 |
---|---|---|
committer | Weaver <Tom.Weaver@sony.com> | 2024-05-02 11:51:45 +0100 |
commit | 2252c5c42b95dd12dda0c7fb1b2811f943b21949 (patch) | |
tree | 752cb24e2f3d6e603bb5d454f4bcdc03ad2fa0cd /clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp | |
parent | c2f29caee4b8388cb185cab165a72fdb9ecef1e6 (diff) | |
download | llvm-2252c5c42b95dd12dda0c7fb1b2811f943b21949.zip llvm-2252c5c42b95dd12dda0c7fb1b2811f943b21949.tar.gz llvm-2252c5c42b95dd12dda0c7fb1b2811f943b21949.tar.bz2 |
Revert "[clang][dataflow] Don't propagate result objects in unevaluated contexts (#90438)"
This reverts commit 597a3150e932a9423c65b5ea4b53dd431aff5865.
Caused test failure on the following buildbot:
https://lab.llvm.org/buildbot/#/builders/216/builds/38446
Diffstat (limited to 'clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp')
-rw-r--r-- | clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp b/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp index cb6c8b2..d79e734 100644 --- a/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp +++ b/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp @@ -350,17 +350,6 @@ public: return RecursiveASTVisitor<ResultObjectVisitor>::TraverseDecl(D); } - // Don't traverse expressions in unevaluated contexts, as we don't model - // fields that are only used in these. - // Note: The operand of the `noexcept` operator is an unevaluated operand, but - // nevertheless it appears in the Clang CFG, so we don't exclude it here. - bool TraverseDecltypeTypeLoc(DecltypeTypeLoc) { return true; } - bool TraverseTypeOfExprTypeLoc(TypeOfExprTypeLoc) { return true; } - bool TraverseCXXTypeidExpr(CXXTypeidExpr *) { return true; } - bool TraverseUnaryExprOrTypeTraitExpr(UnaryExprOrTypeTraitExpr *) { - return true; - } - bool TraverseBindingDecl(BindingDecl *BD) { // `RecursiveASTVisitor` doesn't traverse holding variables for // `BindingDecl`s by itself, so we need to tell it to. |