llvm-project/clang/lib/StaticAnalyzer/Core
Jordy Rose 43a9af7352 [analyzer] Restart path diagnostic generation if any of the visitors change the report configuration while walking the path.
This required adding a change count token to BugReport, but also allowed us to ditch ImmutableList as the BugReporterVisitor data type.

Also, remove the hack from MallocChecker, now that visitors appear in the opposite order. This is not exactly a fix, but the common case -- custom diagnostics after generic ones -- is now the default behavior.

llvm-svn: 153369
2012-03-24 03:03:29 +00:00
..
AnalysisManager.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
BasicConstraintManager.cpp Change references to 'const ProgramState *' to typedef 'ProgramStateRef'. 2012-01-26 21:29:00 +00:00
BasicValueFactory.cpp Cleanup various declarations of 'Stmt*' to be 'Stmt *', etc. in libAnalyzer and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at. 2011-08-12 23:37:29 +00:00
BlockCounter.cpp Cleanup various declarations of 'Stmt*' to be 'Stmt *', etc. in libAnalyzer and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at. 2011-08-12 23:37:29 +00:00
BugReporter.cpp [analyzer] Restart path diagnostic generation if any of the visitors change the report configuration while walking the path. 2012-03-24 03:03:29 +00:00
BugReporterVisitors.cpp [analyzer] Implement basic path diagnostic pruning based on "interesting" symbols and regions. 2012-03-09 01:13:14 +00:00
CMakeLists.txt [analyzer] Remove AggExprVisitor, a dead class that assisted in visiting C++ expressions with a "base object", because the CFG is now linearized. 2012-03-15 21:46:47 +00:00
Checker.cpp Reapply r149311 which I reverted by mistake. 2012-01-31 02:23:28 +00:00
CheckerContext.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
CheckerHelpers.cpp Split 'include/clang/StaticAnalyzer' into 'include/clang/StaticAnalyzer/Core' and 'include/clang/StaticAnalyzer/Checkers'. 2011-02-10 01:03:03 +00:00
CheckerManager.cpp Avoid applying retain/release effects twice in RetainCountChecker when a function call was inlined (i.e., we do not need to apply summaries in such cases). 2012-03-23 06:26:56 +00:00
CheckerRegistry.cpp Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. 2012-02-07 22:29:24 +00:00
CoreEngine.cpp [analyzer] Add the stat for the number of successfully explored paths. 2012-03-22 21:06:06 +00:00
Environment.cpp Add static analyzer support for new NSArray/NSDictionary/NSNumber literals. 2012-03-06 20:06:12 +00:00
ExplodedGraph.cpp Revert "Move ExplodedNode reclaimation out of ExprEngine and into CoreEngine. Also have it based on adding predecessors/successors, not node allocation. No measurable performance change." 2012-02-16 20:48:04 +00:00
ExprEngine.cpp Fix static analyzer crash on code taking the address of a field. Fixes PR 11146. 2012-03-22 21:42:31 +00:00
ExprEngineC.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
ExprEngineCXX.cpp Fix analyzer crash on analyzing 'catch' with no condition variable. 2012-03-16 05:58:15 +00:00
ExprEngineCallAndReturn.cpp Avoid applying retain/release effects twice in RetainCountChecker when a function call was inlined (i.e., we do not need to apply summaries in such cases). 2012-03-23 06:26:56 +00:00
ExprEngineObjC.cpp Adopt ExprEngine and checkers to ObjC property refactoring. Everything was working, but now diagnostics are aware of message expressions implied by uses of properties. Fixes <rdar://problem/9241180>. 2012-02-18 20:53:30 +00:00
HTMLDiagnostics.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
Makefile
MemRegion.cpp [analyzer] Malloc: Utter the name of the leaked variable. 2012-03-21 19:45:08 +00:00
ObjCMessage.cpp Adopt ExprEngine and checkers to ObjC property refactoring. Everything was working, but now diagnostics are aware of message expressions implied by uses of properties. Fixes <rdar://problem/9241180>. 2012-02-18 20:53:30 +00:00
PathDiagnostic.cpp [analyzer] Shorten the stack hint diagnostic. 2012-03-16 23:44:28 +00:00
PlistDiagnostics.cpp Add new analyzer diagnostic mode where plists can have bugs that span multiple files. 2012-03-12 23:14:53 +00:00
ProgramState.cpp Have ScanReachableSymbols reported reachable regions. Fixes a false positive with nested array literals. <rdar://problem/10686586> 2012-02-21 00:46:29 +00:00
RangeConstraintManager.cpp Change references to 'const ProgramState *' to typedef 'ProgramStateRef'. 2012-01-26 21:29:00 +00:00
RegionStore.cpp Have conjured symbols depend on LocationContext, to add context sensitivity for functions called more than once. 2012-02-17 23:13:45 +00:00
SValBuilder.cpp [analyzer] fix regression in analyzer of NOT actually aborting on Stmts it doesn't understand. We registered 2012-03-10 01:34:17 +00:00
SVals.cpp [analyzer] +Comments 2012-03-16 23:24:16 +00:00
SimpleConstraintManager.cpp Change references to 'const ProgramState *' to typedef 'ProgramStateRef'. 2012-01-26 21:29:00 +00:00
SimpleConstraintManager.h Change references to 'const ProgramState *' to typedef 'ProgramStateRef'. 2012-01-26 21:29:00 +00:00
SimpleSValBuilder.cpp Teach SimpleSValBuilder that (in the absence of more information) stack memory doesn't alias symbolic memory. This is a heuristic/hack, but works well in practice. Fixes <rdar://problem/10978247>. 2012-03-05 23:06:19 +00:00
Store.cpp [analyser] Factor out FindUniqueBinding from RetainCount checker. 2012-03-21 19:45:01 +00:00
SubEngine.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:48:34 +00:00
SymbolManager.cpp Have conjured symbols depend on LocationContext, to add context sensitivity for functions called more than once. 2012-02-17 23:13:45 +00:00
TextPathDiagnostics.cpp Change PathDiagnosticPieces to be reference counted (simplifying their management), and introduce 'PathPieces' as a common container for PathDiagnosticPieces. 2012-02-08 04:32:34 +00:00