llvm-project/clang/unittests/Analysis
Eric Li 5bbef2e3ff [clang][dataflow] Fix double visitation of nested logical operators
Sub-expressions that are logical operators are not spelled out
separately in basic blocks, so we need to manually visit them when we
encounter them. We do this in both the `TerminatorVisitor`
(conditionally) and the `TransferVisitor` (unconditionally), which can
cause cause an expression to be visited twice when the binary
operators are nested 2+ times.

This changes the visit in `TransferVisitor` to check if it has been
evaluated before trying to visit the sub-expression.

Differential Revision: https://reviews.llvm.org/D125821
2022-05-17 20:28:48 +00:00
..
FlowSensitive [clang][dataflow] Fix double visitation of nested logical operators 2022-05-17 20:28:48 +00:00
CFGBuildResult.h
CFGDominatorTree.cpp [NFC][Clang][test] Inclusive language: Remove and rephrase uses of sanity test/check in clang/test 2021-11-24 14:03:49 -05:00
CFGTest.cpp
CMakeLists.txt [Testing] Drop clangTesting from clang's public library interface 2022-04-20 13:28:44 +02:00
CloneDetectionTest.cpp
ExprMutationAnalyzerTest.cpp Treat `std::move`, `forward`, etc. as builtins. 2022-04-20 17:58:31 -07:00
MacroExpansionContextTest.cpp [NFC][testing] Return underlying strings directly instead of OS.str() 2021-12-09 16:05:46 -08:00