llvm-project/clang/lib/StaticAnalyzer/Core
Gabor Marton 015c39882e [Analyzer] Infer 0 value when the divisible is 0 (bug fix)
Currently, we infer 0 if the divisible of the modulo op is 0:
  int a = x < 0; // a can be 0
  int b = a % y; // b is either 1 % sym or 0
However, we don't when the op is / :
  int a = x < 0; // a can be 0
  int b = a / y; // b is either 1 / sym or 0 / sym

This commit fixes the discrepancy.

Differential Revision: https://reviews.llvm.org/D99343
2021-03-25 18:25:06 +01:00
..
APSIntType.cpp
AnalysisManager.cpp [analyzer] CheckerContext: Make the Preprocessor available 2020-01-30 17:05:52 +01:00
AnalyzerOptions.cpp [analyzer] NFC: Fix wrong parameter name in printFormattedEntry. 2020-08-27 12:15:26 -07:00
BasicValueFactory.cpp [analyzer] Fix static_cast on pointer-to-member handling 2021-02-15 11:44:37 +03:00
BlockCounter.cpp
BugReporter.cpp Correct Doxygen syntax for inline code 2021-03-16 15:17:45 +01:00
BugReporterVisitors.cpp [Analyzer][NFC] Fix typos in comments 2021-03-24 11:46:10 +01:00
CMakeLists.txt Revert "Revert "Revert "Revert "Revert "[analyzer] NFC: Move path diagnostic consumer implementations to libAnalysis.""""" 2021-01-08 14:17:18 +01:00
CallEvent.cpp [Ignore Expressions][NFC] Refactor to better use `IgnoreExpr.h` and nits 2020-09-07 09:32:30 +00:00
Checker.cpp [analyzer][NFC] Fix inconsistent references to checkers as "checks" 2019-09-12 19:09:24 +00:00
CheckerContext.cpp [clang][NFC] Use SmallString instead of SmallVector<char 2020-11-17 13:02:58 +00:00
CheckerHelpers.cpp [analyzer] Fix StdLibraryFunctionsChecker crash on macOS 2020-06-16 16:10:07 +03:00
CheckerManager.cpp [analyzer] Enable constructor support in evalCall event. 2020-06-25 09:47:13 -07:00
CheckerRegistryData.cpp [clang] Fix modules build after D82585 2020-07-06 17:51:53 +02:00
CommonBugCategories.cpp [analyzer] Introduce common bug category "Unused code". 2021-03-17 20:58:27 -07:00
ConstraintManager.cpp
CoreEngine.cpp [Analyzer][NFC] Remove the SubEngine interface 2020-05-26 19:56:55 +02:00
DynamicSize.cpp [analyzer] ApiModeling: Add buffer size arg constraint 2020-05-29 16:13:57 +02:00
DynamicType.cpp [analyzer] NFC: Store the pointee/referenced type for dynamic type tracking. 2020-08-27 12:15:23 -07:00
Environment.cpp [analyzer][Liveness][NFC] Get rid of statement liveness, because such a thing doesn't exist 2020-09-15 17:43:02 +02:00
ExplodedGraph.cpp [analyzer] Consider array subscripts to be interesting lvalues. 2020-04-23 19:52:45 +03:00
ExprEngine.cpp [OPENMP51]Initial support for the interop directive. 2021-03-17 09:42:07 -07:00
ExprEngineC.cpp [analyzer] Fix static_cast on pointer-to-member handling 2021-02-15 11:44:37 +03:00
ExprEngineCXX.cpp [Analyzer] Fix unused variable warning in Release builds 2020-09-25 14:09:43 +02:00
ExprEngineCallAndReturn.cpp Refactor and simplify class scope name lookup. 2020-11-25 16:25:33 -08:00
ExprEngineObjC.cpp [analyzer][NFC] Don't bind values to ObjCForCollectionStmt, replace it with a GDM trait 2020-09-11 15:58:48 +02:00
FunctionSummary.cpp
HTMLDiagnostics.cpp [SystemZ][z/OS] Distinguish between text and binary files on z/OS 2021-03-19 08:09:57 -04:00
LoopUnrolling.cpp [analyzer] LoopUnrolling: fix crash when a parameter is a loop counter. 2020-05-22 16:14:48 +03:00
LoopWidening.cpp [analyzer] LoopWidening: fix crash by avoiding aliased references invalidation 2020-06-09 12:55:54 +03:00
MemRegion.cpp [Analyzer] [NFC] Parameter Regions 2020-06-09 12:08:56 +02:00
PlistDiagnostics.cpp Correct Doxygen syntax for inline code 2021-03-16 15:17:45 +01:00
PrettyStackTraceLocationContext.h
ProgramState.cpp [analyzer] Simplify function SVal::getAsSymbolicExpression and similar ones 2020-08-03 15:03:35 +03:00
RangeConstraintManager.cpp [analyzer][solver] Redesign constraint ranges data structure 2021-03-22 13:52:35 +03:00
RangedConstraintManager.cpp [analyzer][solver] Redesign constraint ranges data structure 2021-03-22 13:52:35 +03:00
RegionStore.cpp [analyzer] Allow bindings of the CompoundLiteralRegion 2020-05-28 14:11:57 +03:00
SMTConstraintManager.cpp [Analyzer][NFC] Remove the SubEngine interface 2020-05-26 19:56:55 +02:00
SValBuilder.cpp [analyzer] Fix a warning 2021-02-16 09:12:07 -08:00
SVals.cpp [analyzer] [NFC] Simplify SVal::getAsLocSymbol function using existing functions 2020-10-26 17:00:29 +02:00
SarifDiagnostics.cpp [analyzer] Create MacroExpansionContext member in AnalysisConsumer 2021-02-22 11:12:14 +01:00
SimpleConstraintManager.cpp [analyzer] Simplify function SVal::getAsSymbolicExpression and similar ones 2020-08-03 15:03:35 +03:00
SimpleSValBuilder.cpp [Analyzer] Infer 0 value when the divisible is 0 (bug fix) 2021-03-25 18:25:06 +01:00
Store.cpp [Analyzer] [NFC] Parameter Regions 2020-06-09 12:08:56 +02:00
SymbolManager.cpp [analyzer][Liveness][NFC] Get rid of statement liveness, because such a thing doesn't exist 2020-09-15 17:43:02 +02:00
TextDiagnostics.cpp [analyzer] Create MacroExpansionContext member in AnalysisConsumer 2021-02-22 11:12:14 +01:00
WorkList.cpp [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00