llvm-project/clang/lib/StaticAnalyzer/Core
Jordan Rose b8e286548c [analyzer] Handle zeroing CXXConstructExprs.
Re-apply r184511, reverted in r184561, with the trivial default constructor
fast path removed -- it turned out not to be necessary here.

Certain expressions can cause a constructor invocation to zero-initialize
its object even if the constructor itself does no initialization. The
analyzer now handles that before evaluating the call to the constructor,
using the same "default binding" mechanism that calloc() uses, rather
than simply ignoring the zero-initialization flag.

<rdar://problem/14212563>

llvm-svn: 184815
2013-06-25 01:56:08 +00:00
..
APSIntType.cpp [analyzer] Teach constraint managers about unsigned comparisons. 2013-03-23 01:21:33 +00:00
AnalysisManager.cpp Add configuration plumbing to enable static initializer branching in the CFG for the analyzer. 2013-03-29 00:09:22 +00:00
AnalyzerOptions.cpp [analyzer] Don't inline ~shared_ptr. 2013-05-17 02:16:49 +00:00
BasicValueFactory.cpp [analyzer] Disallow creation of int vals with explicit bit width / signedness. 2012-09-01 17:39:24 +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 [AST] Don't include RecursiveASTVisitor.h in ASTContext.h 2013-06-17 12:56:08 +00:00
BugReporterVisitors.cpp Provide operator<< for stream output of DeclarationNames 2013-05-14 21:04:00 +00:00
CMakeLists.txt Remove ProgramState::getSymVal(). It was being misused by Checkers, 2012-09-07 22:31:01 +00:00
CallEvent.cpp Fix a crash in the static analyzer (bug #16307) 2013-06-19 08:19:56 +00:00
Checker.cpp Reapply r149311 which I reverted by mistake. 2012-01-31 02:23:28 +00:00
CheckerContext.cpp Cleanup handling of UniqueExternalLinkage. 2013-05-13 00:12:11 +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] Add support for escape of const pointers and use it to allow “newed” pointers to escape 2013-03-28 23:15:29 +00:00
CheckerRegistry.cpp Remove useless 'llvm::' qualifier from names like StringRef and others that are 2013-01-12 19:30:44 +00:00
ConstraintManager.cpp [analyzer] Let ConstraintManager subclasses provide a more efficient checkNull. 2012-10-31 16:44:55 +00:00
CoreEngine.cpp Add static analyzer support for conditionally executing static initializers. 2013-03-29 00:09:28 +00:00
Environment.cpp [analyzer] Consolidate constant evaluation logic in SValBuilder. 2013-05-01 23:10:44 +00:00
ExplodedGraph.cpp [analyzer] Cleanup: only get the PostStmt when we need the underlying Stmt + comment 2013-03-27 17:36:01 +00:00
ExprEngine.cpp PR12086, PR15117 2013-06-12 22:31:48 +00:00
ExprEngineC.cpp [analyzer] Do not create a CompoundVal for lvalue InitListExprs. 2013-06-18 23:16:20 +00:00
ExprEngineCXX.cpp [analyzer] Handle zeroing CXXConstructExprs. 2013-06-25 01:56:08 +00:00
ExprEngineCallAndReturn.cpp [analyzer] Don't inline ~shared_ptr. 2013-05-17 02:16:49 +00:00
ExprEngineObjC.cpp Include llvm::Optional in clang/Basic/LLVM.h 2013-02-20 22:23:23 +00:00
FunctionSummary.cpp [analyzer] Use inline storage in the FunctionSummary DenseMap. 2013-04-02 00:26:26 +00:00
HTMLDiagnostics.cpp Port HTMLDiagnostics to PathV2. No intended functionality change. 2013-06-12 18:13:05 +00:00
Makefile
MemRegion.cpp [analyzer] Accept references to variables declared "extern void" (C only). 2013-05-29 20:50:34 +00:00
PathDiagnostic.cpp [analyzer] Treat analyzer-synthesized function bodies like implicit bodies. 2013-05-24 21:43:11 +00:00
PlistDiagnostics.cpp [analyzer] Address Jordan's review comments for r182058 2013-05-17 20:51:16 +00:00
ProgramState.cpp [analyzer] Remove now-unused bindCompoundLiteral helper function. 2013-05-06 16:48:26 +00:00
RangeConstraintManager.cpp [analyzer] Teach constraint managers about unsigned comparisons. 2013-03-23 01:21:33 +00:00
RegionStore.cpp [analyzer] Use the expression’s type instead of region’s type in ArrayToPointer decay evaluation 2013-05-28 23:24:01 +00:00
SValBuilder.cpp [analyzer] Use the expression’s type instead of region’s type in ArrayToPointer decay evaluation 2013-05-28 23:24:01 +00:00
SVals.cpp [analyzer] Ensure BugReporterTracking works on regions with pointer arithmetic 2013-04-20 01:15:42 +00:00
SimpleConstraintManager.cpp [analyzer] Ensure BugReporterTracking works on regions with pointer arithmetic 2013-04-20 01:15:42 +00:00
SimpleConstraintManager.h [analyzer] Translate "a != b" to "(b - a) != 0" in the constraint manager. 2013-03-23 01:21:16 +00:00
SimpleSValBuilder.cpp [analyzer] Use a more generic MemRegion.getAsOffset to evaluate bin operators on MemRegions 2013-05-28 17:31:43 +00:00
Store.cpp Fix static analyzer crash when casting from an incomplete type 2013-06-20 07: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 [analyzer] Replace isIntegerType() with isIntegerOrEnumerationType(). 2013-04-09 02:30:33 +00:00
TextPathDiagnostics.cpp Revert "[analyzer] Change PathPieces to be a wrapper around an ilist of (through indirection) PathDiagnosticPieces." 2013-04-29 23:12:59 +00:00