llvm-project/clang/lib/StaticAnalyzer/Core
Anna Zaks 615e3a69c3 [analyzer] After CFG has been linearized, we can have a situation where an ExpoledNode has an invalid SourceLocation (which has no correspondence in the source code). This commit is the first step to solve this problem.
- It adds LocationContext to the PathDiagnosticLocation object and uses it to lookup the enclosing statement with a valid location.
 - So far, the LocationContext is only available when the object is constructed from the ExplodedNode.
 - Already found some subtle bugs(in plist-output-alternate.m) where the intermediate diagnostic steps were not previously shown. 

llvm-svn: 139703
2011-09-14 17:48:01 +00:00
..
AggExprVisitor.cpp Begin reworking static analyzer support for C++ method calls. The current logic was divorced 2011-03-30 17:41:19 +00:00
AnalysisManager.cpp [analyzer] Overhaul how the static analyzer expects CFGs by forcing CFGs to be linearized only when used by the static analyzer. This required a rewrite of LiveVariables, and exposed a ton of subtle bugs. 2011-07-28 23:07:59 +00:00
BasicConstraintManager.cpp [analyzer] Remove TransferFuncs.h, then deal with the fallout. 2011-09-02 08:02:59 +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] Allow checker writes to specify that no region should be accosiated with the report. (Useful when we report an error on endOfPath or deadSymbols, when the range of the last expression might have nothing to do with the error.) 2011-08-24 20:31:06 +00:00
BugReporterVisitors.cpp [analyzer] Fix a failure encountered while analyzing bind (radar://10105448). 2011-09-12 18:07:30 +00:00
CMakeLists.txt [analyzer] Move RetainReleaseChecker to the Checkers library and rename it to RetainCountChecker...and clean up the file while I'm at it. 2011-09-02 06:44:22 +00:00
Checker.cpp [analyzer] change "tag" in ProgramPoint from "void*" to a ProgramPointTag*. 2011-08-12 23:04:46 +00:00
CheckerContext.cpp [analyzer] change "tag" in ProgramPoint from "void*" to a ProgramPointTag*. 2011-08-12 23:04:46 +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 [analyzer] Remove TransferFuncs.h, then deal with the fallout. 2011-09-02 08:02:59 +00:00
CheckerRegistry.cpp [analyzer] Overhaul of checker registration in preparation for basic plugin support. Removes support for checker groups (we can add them back in later if we decide they are still useful), and -analyzer-checker-help output is a little worse for the time being (no packages). 2011-08-16 21:24:21 +00:00
CoreEngine.cpp [analyzer] Remove lingering CFRefCount creation, which would have resulted in a leak. There's room for improvement here... 2011-09-02 06:29:27 +00:00
Environment.cpp [analyzer] Handle reads of ObjCPropertyRefExprs implicitly in Environment. No need to bind an explicit value and create a new node. 2011-08-20 06:23:25 +00:00
ExplodedGraph.cpp [analyzer] Remove PostStmtCustom ProgramPoint. It can be represented using tagged PostStmts. 2011-08-16 00:49:19 +00:00
ExprEngine.cpp [analyzer] Remove TransferFuncs.h, then deal with the fallout. 2011-09-02 08:02:59 +00:00
ExprEngineC.cpp Rename the ARC cast kinds to start with "ARC". 2011-09-10 06:18:15 +00:00
ExprEngineCXX.cpp [analyzer] Remove TransferFuncs.h, then deal with the fallout. 2011-09-02 08:02:59 +00:00
ExprEngineCallAndReturn.cpp [analyzer] Eliminate almost all uses of TransferFuncs from ExprEngine. 2011-08-28 05:54:23 +00:00
ExprEngineObjC.cpp [analyzer] Remove TransferFuncs.h, then deal with the fallout. 2011-09-02 08:02:59 +00:00
HTMLDiagnostics.cpp [analyzer] Rename current PathDiagnosticClient::HandlePathDiagnostic() to HandlePathDiagnosticImpl(), and slot in new HandlePathDiagnostic() for potentially handling concurrent access to PathDiagnosticClients (in the future). 2011-08-27 21:39:14 +00:00
Makefile
MemRegion.cpp Handle CXXTempObjectRegion in StackAddrEscapeChecker. 2011-08-26 00:41:31 +00:00
ObjCMessage.cpp [analyzer] Migrate argument invalidation from CFRefCount to ExprEngine. 2011-08-28 05:16:28 +00:00
PathDiagnostic.cpp [analyzer] After CFG has been linearized, we can have a situation where an ExpoledNode has an invalid SourceLocation (which has no correspondence in the source code). This commit is the first step to solve this problem. 2011-09-14 17:48:01 +00:00
PlistDiagnostics.cpp [analyzer] Rename current PathDiagnosticClient::HandlePathDiagnostic() to HandlePathDiagnosticImpl(), and slot in new HandlePathDiagnostic() for potentially handling concurrent access to PathDiagnosticClients (in the future). 2011-08-27 21:39:14 +00:00
ProgramState.cpp [analyzer] Remove TransferFuncs.h, then deal with the fallout. 2011-09-02 08:02:59 +00:00
RangeConstraintManager.cpp [analyzer] Remove TransferFuncs.h, then deal with the fallout. 2011-09-02 08:02:59 +00:00
RegionStore.cpp [analyzer] Change the check::RegionChanges callback to include the regions explicitly requested for invalidation. 2011-08-27 22:51:26 +00:00
SValBuilder.cpp [analyzer] Fix a new failure encountered while building Adium exposed as a result of r138196(radar://10087620). ObjectiveC property of type int has a value of type ObjCPropRef, which is a Loc. 2011-09-12 17:56:08 +00:00
SVals.cpp Rename GRState to ProgramState, and cleanup some code formatting along the way. 2011-08-15 22:09:50 +00:00
SimpleConstraintManager.cpp Rename GRState to ProgramState, and cleanup some code formatting along the way. 2011-08-15 22:09:50 +00:00
SimpleConstraintManager.h Rename GRState to ProgramState, and cleanup some code formatting along the way. 2011-08-15 22:09:50 +00:00
SimpleSValBuilder.cpp Rename GRState to ProgramState, and cleanup some code formatting along the way. 2011-08-15 22:09:50 +00:00
Store.cpp Rename GRState to ProgramState, and cleanup some code formatting along the way. 2011-08-15 22:09:50 +00:00
SymbolManager.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
TextPathDiagnostics.cpp [analyzer] Rename current PathDiagnosticClient::HandlePathDiagnostic() to HandlePathDiagnosticImpl(), and slot in new HandlePathDiagnostic() for potentially handling concurrent access to PathDiagnosticClients (in the future). 2011-08-27 21:39:14 +00:00