llvm-project/clang/lib/StaticAnalyzer/Core
Richard Smith caf3390d44 Constant expression evaluation refactoring:
- Remodel Expr::EvaluateAsInt to behave like the other EvaluateAs* functions,
   and add Expr::EvaluateKnownConstInt to capture the current fold-or-assert
   behaviour.
 - Factor out evaluation of bitfield bit widths.
 - Fix a few places which would evaluate an expression twice: once to determine
   whether it is a constant expression, then again to get the value.

llvm-svn: 141561
2011-10-10 18:28:20 +00:00
..
AggExprVisitor.cpp Switch assert(0/false) llvm_unreachable. 2011-09-23 05:06:16 +00:00
AnalysisManager.cpp [analyzer] Add -analyzer-purge option which can take on multiple values, remove -analyzer-purge=none. (Small refactor as well: move the work of constructing AnalysisManager from the callers to the class itself.) 2011-09-30 02:03:00 +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 Constant expression evaluation refactoring: 2011-10-10 18:28:20 +00:00
BugReporterVisitors.cpp Address PR10616. The crash has already been fixed by Ted in r140725, so just refactor to use existing API + test case. 2011-10-01 06:35:19 +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] Previously, we were passing to CheckerContext enough info to construct ProgramPoint and it would pass it to NodeBuilder, which in turn would construct the ProgramPoint. Simplify it by just passing the ProgramPoint to CheckerContext. The ProgramPoint can only change if a checker tags it, in which case, we create a copy with the given tag. 2011-10-07 21:52:33 +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 ProgramPoint cleanup after the previous commit r141408 (remove the copy constructor, mark withTag const). 2011-10-07 21:01:38 +00:00
Environment.cpp Move immutable map canonization out of the removeDeadBindings loop (via using ImmutableMapRef). Gives ~2% speedup. 2011-09-23 19:14:09 +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 Provide basic static analyzer support for CXXTemporaryObjectExpr. Patch by Jim Goodnow II. 2011-10-07 22:48:13 +00:00
ExprEngineC.cpp Removing a bunch of dead returns/breaks after llvm_unreachables. 2011-09-23 20:26:49 +00:00
ExprEngineCXX.cpp Fix LiveVariables analysis bug with MaterializeTemporaryExpr and fix handling in ExprEngine. Fixes <rdar://problem/10201666>. 2011-10-02 00:54:48 +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 Renaming PathDiagnosticClients.h to PathDiagnosticConsumers.h (issue 5397) 2011-09-27 01:43:33 +00:00
Makefile
MemRegion.cpp Rename TagDecl::isDefinition -> isCompleteDefinition 2011-10-07 06:10:15 +00:00
ObjCMessage.cpp [static analyzer] Fix crash in LiveVariables and Environment::getSVal() when analyzing C++ pointer-to-member calls. Fixes <rdar://problem/10243398>. 2011-10-06 20:53:28 +00:00
PathDiagnostic.cpp Rename PathDiagnosticClient to PathDiagnosticConsumer as per issue 5397 2011-09-26 00:51:36 +00:00
PlistDiagnostics.cpp Renaming PathDiagnosticClients.h to PathDiagnosticConsumers.h (issue 5397) 2011-09-27 01:43:33 +00:00
ProgramState.cpp ST->scanReachableSymbols() is creating a SubRegionMap (SRM) on every call since one SRM is created in each ScanReachableSymbols instance. Creating the object just once and calling only scan inside the loop gives ~ 14% speed up of the StaticAnalyzer run (Release+Asserts). 2011-09-22 18:10:41 +00:00
RangeConstraintManager.cpp [analyzer] Remove TransferFuncs.h, then deal with the fallout. 2011-09-02 08:02:59 +00:00
RegionStore.cpp Rename TagDecl::isDefinition -> isCompleteDefinition 2011-10-07 06:10:15 +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 Removing a bunch of dead returns/breaks after llvm_unreachables. 2011-09-23 20:26:49 +00:00
SimpleConstraintManager.cpp Switch assert(0/false) llvm_unreachable. 2011-09-23 05:06:16 +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 Removing a bunch of dead returns/breaks after llvm_unreachables. 2011-09-23 20:26:49 +00:00
Store.cpp Removing a bunch of dead returns/breaks after llvm_unreachables. 2011-09-23 20:26:49 +00:00
SymbolManager.cpp Remove AnalysisContext::getLiveVariables(), and introduce a templatized mechanism to lazily create analyses that are attached to AnalysisContext objects. 2011-10-07 22:21:02 +00:00
TextPathDiagnostics.cpp Renaming PathDiagnosticClients.h to PathDiagnosticConsumers.h (issue 5397) 2011-09-27 01:43:33 +00:00