llvm-project/clang/lib/StaticAnalyzer/Core
George Karpenkov ff6df778c6 [analyzer] Fix a bug in "collapsed" graph viewer
Nodes which have only one predecessor and only one successor can not
always be hidden, even if all states are the same.
An additional condition is needed: the predecessor may have only one successor.
This can be seen on this example:

```
  A
 / \
B   C
 \ /
  D
```

Nodes B and C can not be hidden even if all nodes in the graph have the
same state.

Differential Revision: https://reviews.llvm.org/D53735

llvm-svn: 345341
2018-10-25 23:38:58 +00:00
..
APSIntType.cpp
AnalysisManager.cpp [analyzer] Add ASTContext to CheckerManager 2018-08-06 23:09:07 +00:00
AnalyzerOptions.cpp [analyzer][NFC] Fix inconsistencies in AnalyzerOptions 2018-10-21 18:19:32 +00:00
BasicValueFactory.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-02 23:11:49 +00:00
BlockCounter.cpp
BugReporter.cpp [analyzer] [NFC] Remove unused parameters, as found by -Wunused-parameter 2018-09-28 18:49:41 +00:00
BugReporterVisitors.cpp [analyzer] Rename trackNullOrUndefValue to trackExpressionValue 2018-10-23 18:24:53 +00:00
CMakeLists.txt [analyzer] Be more plugin-friendly by moving static locals into .cpp files. 2018-10-20 00:29:24 +00:00
CallEvent.cpp [analyzer] Teach CallEvent about C++17 aligned operator new(). 2018-10-15 17:53:18 +00:00
Checker.cpp [analyzer] Be more plugin-friendly by moving static locals into .cpp files. 2018-10-20 00:29:24 +00:00
CheckerContext.cpp [analyzer] introduce getSVal(Stmt *) helper on ExplodedNode, make sure the helper is used consistently 2018-01-17 20:27:29 +00:00
CheckerHelpers.cpp Model type attributes as regular Attrs. 2018-08-20 21:47:29 +00:00
CheckerManager.cpp [NFC][Test commit] Fix typos in a comment 2018-10-20 14:47:37 +00:00
CheckerRegistry.cpp llvm::sort(C.begin(), C.end(), ...) -> llvm::sort(C, ...) 2018-09-26 22:16:28 +00:00
CommonBugCategories.cpp [analyzer] Fix memory error bug category capitalization. 2017-05-03 11:47:13 +00:00
ConstraintManager.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-28 01:10:04 +00:00
CoreEngine.cpp Fix MSVC "not all control paths return a value" warning. NFCI. 2018-10-22 10:46:37 +00:00
DynamicTypeMap.cpp [analyzer] Be more plugin-friendly by moving static locals into .cpp files. 2018-10-20 00:29:24 +00:00
Environment.cpp [analyzer] ExplodedGraph printing fixes 2018-09-17 20:46:53 +00:00
ExplodedGraph.cpp [analyzer] Fix a bug in "collapsed" graph viewer 2018-10-25 23:38:58 +00:00
ExprEngine.cpp [analyzer] Be more plugin-friendly by moving static locals into .cpp files. 2018-10-20 00:29:24 +00:00
ExprEngineC.cpp [Fixed Point Arithmetic] Fixed Point to Boolean Cast 2018-10-23 17:55:35 +00:00
ExprEngineCXX.cpp [analyzer] Add support for constructors of arguments. 2018-08-15 00:33:55 +00:00
ExprEngineCallAndReturn.cpp [analyzer] NFC: Legalize state manager factory injection. 2018-09-25 22:10:12 +00:00
ExprEngineObjC.cpp [analyzer] [NFC] Remove unused parameters, as found by -Wunused-parameter 2018-09-28 18:49:41 +00:00
FunctionSummary.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-28 01:10:04 +00:00
HTMLDiagnostics.cpp [analyzer] [NFC] Remove unused parameters, as found by -Wunused-parameter 2018-09-28 18:49:41 +00:00
IssueHash.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
LoopUnrolling.cpp [analyzer] Unroll the loop when it has a unsigned counter. 2018-03-31 12:46:46 +00:00
LoopWidening.cpp [analyzer] Avoid querying this-pointers for static-methods. 2018-08-07 23:13:28 +00:00
MemRegion.cpp [analyzer] [NFC] Remove unused parameters, as found by -Wunused-parameter 2018-09-28 18:49:41 +00:00
PathDiagnostic.cpp [analyzer] [NFC] Remove unused parameters, as found by -Wunused-parameter 2018-09-28 18:49:41 +00:00
PlistDiagnostics.cpp [analyzer][NFC] Refactor functions in PlistDiagnostics to take AnalyzerOptions as parameter 2018-10-02 19:27:34 +00:00
PrettyStackTraceLocationContext.h [CSA] [NFC] Move AnalysisContext.h to AnalysisDeclContext.h 2017-09-06 21:45:03 +00:00
ProgramState.cpp [analyzer] [NFC] Change scanReachableSymbols to use ranges 2018-10-23 23:12:12 +00:00
RangeConstraintManager.cpp [analyzer] pr38273: Legalize Loc<>NonLoc comparison symbols. 2018-07-23 23:09:44 +00:00
RangedConstraintManager.cpp [analyzer] Be more plugin-friendly by moving static locals into .cpp files. 2018-10-20 00:29:24 +00:00
RegionStore.cpp [analyzer] [NFC] Remove unused parameters, as found by -Wunused-parameter 2018-09-28 18:49:41 +00:00
RetainSummaryManager.cpp [analyzer] [RetainCountChecker] Do not invalidate references passed to constructors and operators 2018-10-25 23:38:41 +00:00
SValBuilder.cpp [analyzer] [NFC] Remove unused "state" argument from makeSymExprValNN 2018-08-29 20:28:54 +00:00
SVals.cpp [analyzer] Fix symbol discovery in nonloc::LocAsInteger values. 2018-10-02 20:48:12 +00:00
SimpleConstraintManager.cpp [analyzer] Refactor and simplify SimpleConstraintManager 2017-02-25 04:51:31 +00:00
SimpleSValBuilder.cpp [analyzer] Resolve the crash in ReturnUndefChecker 2018-08-29 20:29:59 +00:00
Store.cpp [analyzer] Fix a crash on casting symbolic pointers to derived classes. 2018-09-26 00:17:14 +00:00
SubEngine.cpp
SymbolManager.cpp [analyzer] Fix dumping for SymbolConjured conjured at no particular statement. 2018-10-22 20:11:10 +00:00
TaintManager.cpp [analyzer] Be more plugin-friendly by moving static locals into .cpp files. 2018-10-20 00:29:24 +00:00
WorkList.cpp [analyzer] Fix a bug in unexplored_first_location_queue iteration order. 2018-10-12 00:52:13 +00:00
Z3ConstraintManager.cpp [analyzer] Move canReasonAbout from Z3ConstraintManager to SMTConstraintManager 2018-10-25 17:27:42 +00:00