llvm-project/clang/lib/StaticAnalyzer/Core
Jordan Rose 8a5a094ec5 [analyzer] Look through temporary destructors when finding a region to construct.
Fixes a false positive when temporary destructors are enabled where a temporary
is destroyed after a variable is constructed but before the VarDecl itself is
processed, which occurs when the variable is in the condition of an if or while.

Patch by Alex McCarthy, with an extra test from me.

llvm-svn: 205661
2014-04-05 02:01:41 +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] Inline C++ operator new when c++-inline-allocators is turned on. 2014-02-11 02:21:06 +00:00
BasicValueFactory.cpp [analyzer] Shitfing a constant value by its bit width is undefined. 2014-01-16 18:02:23 +00:00
BlockCounter.cpp [C++11] Simplify compare operators with std::tie. 2014-03-03 20:26:46 +00:00
BugReporter.cpp [analyzer] Fix a bad bug in reversePropagateInterstingSymbols() where only one subexpression of BinaryOperator would be explored. 2014-03-20 18:47:47 +00:00
BugReporterVisitors.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +00:00
CMakeLists.txt [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
CallEvent.cpp [C++11] Replacing RecordDecl iterators field_begin() and field_end() with iterator_range fields(). Updating all of the usages of the iterators with range-based for loops. 2014-03-08 20:12:42 +00:00
Checker.cpp [analyzer] Improved checker naming in CFG dump. 2014-02-17 18:25:34 +00:00
CheckerContext.cpp Cleanup handling of UniqueExternalLinkage. 2013-05-13 00:12:11 +00:00
CheckerHelpers.cpp
CheckerManager.cpp [analyzer] This patch removes passing around of const-invalidation vs regular-invalidation info by passing around a datastructure that maps regions and symbols to the type of invalidation they experience. This simplifies the code and would allow to associate more different invalidation types in the future. 2013-09-24 23:47:29 +00:00
CheckerRegistry.cpp [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:01:17 +00:00
CommonBugCategories.cpp [analyzer] Replace bug category magic strings with shared constants, take 2. 2013-10-04 00:25:24 +00:00
ConstraintManager.cpp [analyzer] Let ConstraintManager subclasses provide a more efficient checkNull. 2012-10-31 16:44:55 +00:00
CoreEngine.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +00:00
Environment.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +00:00
ExplodedGraph.cpp [analyzer] Fix for PR18394. 2014-02-28 22:29:48 +00:00
ExprEngine.cpp Remove dead assignment dominated by a call to llvm_unreachable(). 2014-03-20 18:47:50 +00:00
ExprEngineC.cpp [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:01:17 +00:00
ExprEngineCXX.cpp [analyzer] Look through temporary destructors when finding a region to construct. 2014-04-05 02:01:41 +00:00
ExprEngineCallAndReturn.cpp [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:01:17 +00:00
ExprEngineObjC.cpp [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:01:17 +00:00
FunctionSummary.cpp [analyzer] Use inline storage in the FunctionSummary DenseMap. 2013-04-02 00:26:26 +00:00
HTMLDiagnostics.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +00:00
Makefile
MemRegion.cpp [C++11] Replacing CXXRecordDecl iterators bases_begin() and bases_end() with iterator_range bases(). Updating all of the usages of the iterators with range-based for loops. 2014-03-13 15:41:46 +00:00
PathDiagnostic.cpp Replace OwningPtr with std::unique_ptr. 2014-03-07 20:03:18 +00:00
PlistDiagnostics.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +00:00
PrettyStackTraceLocationContext.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +00:00
ProgramState.cpp Remove a whole lot of unused variables 2013-11-27 05:22:15 +00:00
RangeConstraintManager.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +00:00
RegionStore.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +00:00
SValBuilder.cpp [analyzer] Always use 'bool' as the SValBuilder condition type in C++. 2013-12-19 22:32:39 +00:00
SVals.cpp [analyzer] Ensure BugReporterTracking works on regions with pointer arithmetic 2013-04-20 01:15:42 +00:00
SimpleConstraintManager.cpp [analyzer] Add support for testing the presence of weak functions. 2013-08-28 17:07:04 +00:00
SimpleConstraintManager.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +00:00
SimpleSValBuilder.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-15 04:29:04 +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 Use llvm::DeleteContainerSeconds when possible 2014-02-19 23:44:52 +00:00