llvm-project/clang/lib/StaticAnalyzer/Core
Artem Dergachev 8cd7961a0a [analyzer] Disable constructor inlining when lifetime extending through a field.
Automatic destructors are missing in the CFG in situations like

  const int &x = C().x;

For now it's better to disable construction inlining, because inlining
constructors while doing nothing on destructors is very bad.

Differential Revision: https://reviews.llvm.org/D43689

llvm-svn: 326240
2018-02-27 20:14:06 +00:00
..
APSIntType.cpp
AnalysisManager.cpp [CFG] Add extra context to C++ constructor statement elements. 2018-02-08 22:58:15 +00:00
AnalyzerOptions.cpp [analyzer] Switch the default exploration strategy to priority queue based on coverage 2018-02-27 01:31:56 +00:00
BasicValueFactory.cpp [analyzer] Model and check unrepresentable left shifts 2018-01-22 13:32:10 +00:00
BlockCounter.cpp
BugReporter.cpp [analyzer] Consider switch- and goto- labels when constructing the set of executed lines 2018-02-23 23:26:54 +00:00
BugReporterVisitors.cpp [analyzer] Quickfix: don't crash when runtime definition is not available. 2018-02-27 19:19:49 +00:00
CMakeLists.txt [StaticAnalyzer] Completely unrolling specific loops with known bound option 2017-07-25 19:23:23 +00:00
CallEvent.cpp Silence a -Wparentheses warning; NFC. 2018-02-15 21:03:39 +00:00
Checker.cpp
CheckerContext.cpp [analyzer] introduce getSVal(Stmt *) helper on ExplodedNode, make sure the helper is used consistently 2018-01-17 20:27:29 +00:00
CheckerHelpers.cpp Fix Clang-tidy modernize-use-nullptr warnings; other minor fixes. 2016-01-26 19:01:06 +00:00
CheckerManager.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-26 23:15:52 +00:00
CheckerRegistry.cpp [analyzer] Command line option to show enabled checker list. 2016-08-08 13:41:04 +00:00
CommonBugCategories.cpp [analyzer] Fix memory error bug category capitalization. 2017-05-03 11:47:13 +00:00
ConstraintManager.cpp [analyzer] Refactor and simplify SimpleConstraintManager 2017-02-25 04:51:31 +00:00
CoreEngine.cpp [analyzer] Exploration strategy prioritizing unexplored nodes first 2018-02-26 22:14:18 +00:00
DynamicTypeMap.cpp [analyzer] Self-debug: Dump dynamic type info and taint with the program state. 2018-02-27 20:06:20 +00:00
Environment.cpp [analyzer] Self-debug: Dump environment frame-by-frame. 2018-02-08 22:24:38 +00:00
ExplodedGraph.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-26 23:15:52 +00:00
ExprEngine.cpp [analyzer] Introduce correct lifetime extension behavior in simple cases. 2018-02-27 19:47:49 +00:00
ExprEngineC.cpp [analyzer] Relax the assert used when traversing the node graph. 2018-02-23 23:26:57 +00:00
ExprEngineCXX.cpp [analyzer] Disable constructor inlining when lifetime extending through a field. 2018-02-27 20:14:06 +00:00
ExprEngineCallAndReturn.cpp [analyzer] Disable constructor inlining when lifetime extending through a field. 2018-02-27 20:14:06 +00:00
ExprEngineObjC.cpp [analyzer] Add LocationContext as a parameter to checkRegionChanges 2017-01-13 00:50:57 +00:00
FunctionSummary.cpp
HTMLDiagnostics.cpp [StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-26 23:15:52 +00:00
IssueHash.cpp [analyzer] Use the signature of the primary template for issue hash calculation 2017-10-30 12:16:07 +00:00
LoopUnrolling.cpp [analyzer] LoopUnrolling: check the bitwidth of the used numbers (pr34943) 2017-10-28 12:19:08 +00:00
LoopWidening.cpp [Analyzer] Fix comments and formatting. NFC. 2015-11-10 11:48:55 +00:00
MemRegion.cpp Revert "Revert "[analyzer] Quickfix: do not overflow in calculating offset in RegionManager"" 2018-02-27 00:05:04 +00:00
PathDiagnostic.cpp [analyzer] Implement path notes for temporary destructors. 2018-02-15 19:28:21 +00:00
PlistDiagnostics.cpp [analyzer] Serialize statistics to plist when serialize-stats=true is set 2018-02-10 01:49:20 +00:00
PrettyStackTraceLocationContext.h [CSA] [NFC] Move AnalysisContext.h to AnalysisDeclContext.h 2017-09-06 21:45:03 +00:00
ProgramState.cpp [analyzer] Self-debug: Dump dynamic type info and taint with the program state. 2018-02-27 20:06:20 +00:00
RangeConstraintManager.cpp [c++20] P0515R3: Parsing support and basic AST construction for operator <=>. 2017-12-14 15:16:18 +00:00
RangedConstraintManager.cpp [c++20] P0515R3: Parsing support and basic AST construction for operator <=>. 2017-12-14 15:16:18 +00:00
RangedConstraintManager.h [analyzer] Refactor and simplify SimpleConstraintManager 2017-02-25 04:51:31 +00:00
RegionStore.cpp [analyzer] Remove redundant check 2018-02-27 19:28:52 +00:00
SValBuilder.cpp [analyzer] a few helper methods for getting and comparing symbolic values 2018-01-18 03:18:36 +00:00
SVals.cpp SVal::getAsSymbol(bool IncludeBaseRegions): Follow clang/StaticAnalyzer/Core/PathSensitive/SVals.h, s/IncludeBaseRegion/IncludeBaseRegions/g [-Wdocumentation] 2017-10-12 09:42:12 +00:00
SimpleConstraintManager.cpp [analyzer] Refactor and simplify SimpleConstraintManager 2017-02-25 04:51:31 +00:00
SimpleSValBuilder.cpp [analyzer] NFC: Forbid array elements of void type. 2018-01-17 22:40:36 +00:00
Store.cpp [analyzer] Fix handling of labels in getLValueElement 2017-10-23 23:46:06 +00:00
SubEngine.cpp
SymbolManager.cpp [analyzer] Dump signed integers in SymIntExpr and IntSymExpr correctly 2017-10-19 11:58:21 +00:00
Z3ConstraintManager.cpp Revert "[analyzer] Support generating and reasoning over more symbolic constraint types" 2017-07-12 21:43:42 +00:00