Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
bb47c19
C++: Replace simple range analysis uses by semantic range analysis uses
jketema Mar 13, 2023
d6e34f9
C++: Update test expectations
jketema Mar 13, 2023
d3ff1e4
Merge remote-tracking branch 'upstream/main' into jketema/replace-sim…
jketema Mar 15, 2023
fdd60ef
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Mar 20, 2023
c99bf41
C++: Reduce the difference between `main` and the range analysis branch
jketema Mar 20, 2023
ffea2a4
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
MathiasVP Mar 22, 2023
477a190
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
MathiasVP Mar 22, 2023
6257ec1
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Mar 24, 2023
d7e2f42
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Mar 27, 2023
e3faf76
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Mar 27, 2023
0ec71d4
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Mar 28, 2023
34491cc
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
MathiasVP Mar 28, 2023
083ef01
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
MathiasVP Mar 30, 2023
8244ae5
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Mar 30, 2023
f7fef46
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Mar 31, 2023
1f96ec8
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Apr 3, 2023
f6a3971
C++: Update expected test results
jketema Apr 3, 2023
e70caba
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Apr 5, 2023
1304846
C++: Update range analysis import after library move
jketema Apr 5, 2023
3184e99
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Apr 6, 2023
c11572a
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
MathiasVP Apr 13, 2023
8e38db9
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
jketema Apr 24, 2023
5ff361d
C++: Update expected test results
jketema Apr 24, 2023
7a13a4d
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
MathiasVP Jul 20, 2023
f4ca634
Merge branch 'main' into jketema/replace-simple-range-analysis-with-s…
MathiasVP Aug 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cpp/ql/lib/semmle/code/cpp/commons/Printf.qll
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import semmle.code.cpp.Type
import semmle.code.cpp.commons.CommonType
import semmle.code.cpp.commons.StringAnalysis
import semmle.code.cpp.models.interfaces.FormattingFunction
private import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
private import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
private import semmle.code.cpp.rangeanalysis.RangeAnalysisUtils

private newtype TBufferWriteEstimationReason =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*/

import cpp
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis

/** Gets the lower bound of the fully converted expression. */
private float lowerBoundFC(Expr expr) { result = lowerBound(expr.getFullyConverted()) }
Expand Down
2 changes: 1 addition & 1 deletion cpp/ql/lib/semmle/code/cpp/security/Overflow.qll
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import cpp
import semmle.code.cpp.controlflow.Dominance
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.RangeAnalysisUtils
import semmle.code.cpp.controlflow.Guards

Expand Down
2 changes: 1 addition & 1 deletion cpp/ql/src/Critical/OverflowStatic.ql
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import cpp
import semmle.code.cpp.commons.Buffer
import semmle.code.cpp.ir.dataflow.DataFlow
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
import LoopBounds

private predicate staticBufferBase(VariableAccess access, Variable v) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
*/

import cpp
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
import BadAdditionOverflowCheck
import PointlessSelfComparison

Expand Down
2 changes: 1 addition & 1 deletion cpp/ql/src/Likely Bugs/Arithmetic/IntMultToLong.ql
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

import cpp
import semmle.code.cpp.controlflow.SSA
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.RangeAnalysisUtils

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*/

import cpp
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis

/**
* Holds if `cmp` is a comparison of the following form:
Expand Down
2 changes: 1 addition & 1 deletion cpp/ql/src/Likely Bugs/Arithmetic/SignedOverflowCheck.ql
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

import cpp
private import semmle.code.cpp.valuenumbering.GlobalValueNumbering
private import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
private import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
private import semmle.code.cpp.commons.Exclusions

from RelationalOperation ro, AddExpr add, Expr expr1, Expr expr2
Expand Down
2 changes: 1 addition & 1 deletion cpp/ql/src/Likely Bugs/Format/SnprintfOverflow.ql
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
*/

import cpp
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis

/**
* Holds if there is a dataflow path from `source` to `sink`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*/

import cpp
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
import semmle.code.cpp.ir.dataflow.DataFlow

/**
Expand Down
2 changes: 1 addition & 1 deletion cpp/ql/src/Security/CWE/CWE-190/Bounded.qll
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*/

private import cpp
private import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
private import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
private import semmle.code.cpp.rangeanalysis.RangeAnalysisUtils

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
import cpp
import semmle.code.cpp.controlflow.Dominance
import semmle.code.cpp.controlflow.SSA
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis

/**
* C++ references are all pointer width, but the comparison takes place with
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
*/

import cpp
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
import semmle.code.cpp.ir.dataflow.internal.DefaultTaintTrackingImpl

/** Holds if `expr` might overflow. */
Expand Down
2 changes: 1 addition & 1 deletion cpp/ql/src/Security/CWE/CWE-190/TaintedAllocationSize.ql
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
*/

import cpp
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
import semmle.code.cpp.ir.dataflow.TaintTracking
import semmle.code.cpp.ir.IR
import semmle.code.cpp.controlflow.IRGuards
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

import cpp
import semmle.code.cpp.commons.Exclusions
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.RangeAnalysisUtils
import semmle.code.cpp.controlflow.Guards
import semmle.code.cpp.ir.dataflow.DataFlow
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/

import cpp
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis

/** Holds if the range contains no boundary values. */
predicate isRealRange(Expr exp) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
*/

import cpp
import semmle.code.cpp.rangeanalysis.SimpleRangeAnalysis
import semmle.code.cpp.rangeanalysis.new.SimpleRangeAnalysis

/** Holds if `exptmp` equals expression logical or followed by logical and. */
predicate isLogicalOrAndExpr(LogicalOrExpr exptmp) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
| test.c:20:3:28:3 | switch (...) ... | Possibly erroneous label name. |
| test.c:30:3:38:3 | switch (...) ... | Code before case will not be executed. |
| test.c:41:3:50:3 | switch (...) ... | The range of condition values is less than the selection. |
| test.c:53:3:58:3 | switch (...) ... | The range of condition values is wider than the choices. |
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,3 @@
| test.cpp:24:6:24:13 | ... \| ... | Expression ranges do not match operation precedence. |
| test.cpp:28:6:28:13 | ... ^ ... | Expression ranges do not match operation precedence. |
| test.cpp:33:6:33:13 | ... \| ... | Expression ranges do not match operation precedence. |
| test.cpp:38:6:38:13 | ... \| ... | Specify the priority with parentheses. |
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,26 @@
| test.c:25:9:25:12 | %s | 14 |
| test.c:26:9:26:14 | %.4s | 5 |
| test.c:27:9:27:16 | %s, %s | 14 |
| test.c:30:9:30:12 | %i | 12 |
| test.c:31:9:31:14 | %lli | 12 |
| test.c:32:9:32:12 | %i | 12 |
| test.c:33:9:33:14 | %lli | 21 |
| test.c:34:9:34:12 | %d | 12 |
| test.c:35:9:35:12 | %u | 11 |
| test.c:36:9:36:12 | %x | 9 |
| test.c:37:9:37:12 | %X | 9 |
| test.c:38:9:38:13 | %#x | 11 |
| test.c:30:9:30:12 | %i | |
| test.c:31:9:31:14 | %lli | |
| test.c:32:9:32:12 | %i | |
| test.c:33:9:33:14 | %lli | |
| test.c:34:9:34:12 | %d | |
| test.c:35:9:35:12 | %u | |
| test.c:36:9:36:12 | %x | |
| test.c:37:9:37:12 | %X | |
| test.c:38:9:38:13 | %#x | |
| test.c:39:9:39:12 | %o | 12 |
| test.c:40:9:40:13 | %#o | 13 |
| test.c:43:9:43:12 | %f | 318 |
| test.c:44:9:44:14 | %.2f | 314 |
| test.c:45:9:45:12 | %e | 15 |
| test.c:59:10:59:14 | %Ii | 12 |
| test.c:66:10:66:14 | %zu | 21 |
| test.c:67:10:67:14 | %Zu | 21 |
| test.c:59:10:59:14 | %Ii | |
| test.c:66:10:66:14 | %zu | |
| test.c:67:10:67:14 | %Zu | |
| test.c:74:10:74:14 | %lc | 2 |
| test.c:78:9:78:20 | %2$i, %1$i | 5 |
| test.c:79:9:79:20 | %2$i, %1$i | 25 |
| test.c:79:9:79:20 | %2$i, %1$i | |
| test.c:81:9:81:24 | %2$02i %1$4.2f | |
| test.c:85:10:85:18 | %2$*1$d | |
| test.c:86:10:86:19 | %2$0*1$d | |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
| cstd_types.cpp:51:14:51:16 | uf8 | CTypedefType, FastestMinimumWidthIntegralType, UInt_fast8_t |
| cstd_types.cpp:52:15:52:18 | uf16 | CTypedefType, FastestMinimumWidthIntegralType, UInt_fast16_t |
| cstd_types.cpp:53:15:53:18 | uf32 | CTypedefType, FastestMinimumWidthIntegralType, UInt_fast32_t |
| cstd_types.cpp:54:15:54:18 | uf64 | CTypedefType, FastestMinimumWidthIntegralType, UInt_fast64_t |
| cstd_types.cpp:54:15:54:18 | uf64 | CTypedefType, FastestMinimumWidthIntegralType, UInt_fast64_t |
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
| test2.c:28:19:28:20 | 41 | Potential buffer-overflow: 'buffer' has size 40 not 41. |
| test2.c:29:26:29:27 | 43 | Potential buffer-overflow: 'buffer' has size 40 not 43. |
| test2.c:31:26:31:27 | 44 | Potential buffer-overflow: 'buffer' has size 40 not 44. |
| test2.c:32:25:32:26 | 45 | Potential buffer-overflow: 'buffer' has size 40 not 45. |
| test2.c:33:26:33:27 | 46 | Potential buffer-overflow: 'buffer' has size 40 not 46. |
| test2.c:34:22:34:23 | 47 | Potential buffer-overflow: 'buffer' has size 40 not 47. |
| test2.c:35:23:35:24 | 48 | Potential buffer-overflow: 'buffer' has size 40 not 48. |
| test.c:14:9:14:13 | access to array | Potential buffer-overflow: 'xs' has size 5 but 'xs[5]' may be accessed here. |
| test.c:15:9:15:13 | access to array | Potential buffer-overflow: 'xs' has size 5 but 'xs[6]' may be accessed here. |
| test.c:20:9:20:18 | access to array | Potential buffer-overflow: 'ys' has size 5 but 'ys[5]' may be accessed here. |
| test.c:21:9:21:18 | access to array | Potential buffer-overflow: 'ys' has size 5 but 'ys[6]' may be accessed here. |
| test.cpp:19:3:19:12 | access to array | Potential buffer-overflow: counter 'i' <= 3 but 'buffer1' has 3 elements. |
| test.cpp:20:3:20:12 | access to array | Potential buffer-overflow: counter 'i' <= 3 but 'buffer2' has 3 elements. |
| test.cpp:24:27:24:27 | 4 | Potential buffer-overflow: 'buffer1' has size 3 not 4. |
| test.cpp:26:27:26:27 | 4 | Potential buffer-overflow: 'buffer2' has size 3 not 4. |
| test.cpp:40:22:40:27 | amount | Potential buffer-overflow: 'buffer' has size 100 not 101. |
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
| test.cpp:29:7:29:19 | ... < ... | Comparison can be simplified by canceling $@ with $@. | test.cpp:29:15:29:15 | x | x | test.cpp:29:7:29:7 | x | x |
| test.cpp:30:7:30:19 | ... < ... | Comparison can be simplified by canceling $@ with $@. | test.cpp:30:15:30:15 | x | x | test.cpp:30:7:30:7 | x | x |
| test.cpp:108:11:108:19 | ... < ... | Comparison can be simplified by canceling $@ with $@. | test.cpp:108:19:108:19 | a | a | test.cpp:108:11:108:11 | a | a |
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
| SignedOverflowCheck.cpp:8:12:8:22 | ... < ... | Testing for signed overflow may produce undefined results. |
| SignedOverflowCheck.cpp:18:12:18:26 | ... < ... | Testing for signed overflow may produce undefined results. |
| SignedOverflowCheck.cpp:35:9:35:23 | ... < ... | Testing for signed overflow may produce undefined results. |
| SignedOverflowCheck.cpp:42:9:42:41 | ... < ... | Testing for signed overflow may produce undefined results. |
| SignedOverflowCheck.cpp:73:6:73:36 | ... < ... | Testing for signed overflow may produce undefined results. |
| SignedOverflowCheck.cpp:99:10:99:30 | ... <= ... | Testing for signed overflow may produce undefined results. |
| SignedOverflowCheck.cpp:106:12:106:62 | ... < ... | Testing for signed overflow may produce undefined results. |
| SignedOverflowCheck.cpp:113:12:113:66 | ... < ... | Testing for signed overflow may produce undefined results. |
| SignedOverflowCheck.cpp:122:10:122:42 | ... <= ... | Testing for signed overflow may produce undefined results. |
| test.cpp:3:11:3:19 | ... < ... | Testing for signed overflow may produce undefined results. |
| test.cpp:8:11:8:37 | ... < ... | Testing for signed overflow may produce undefined results. |
Original file line number Diff line number Diff line change
@@ -1,15 +1,4 @@
| IntMultToLong.c:4:10:4:14 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'long long'. |
| IntMultToLong.c:7:16:7:20 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'long long'. |
| IntMultToLong.c:18:19:18:23 | ... * ... | Multiplication result may overflow 'float' before it is converted to 'double'. |
| IntMultToLong.c:21:19:21:29 | ... * ... | Multiplication result may overflow 'float' before it is converted to 'double'. |
| IntMultToLong.c:38:19:38:23 | ... * ... | Multiplication result may overflow 'float' before it is converted to 'double'. |
| IntMultToLong.c:59:20:59:31 | ... * ... | Multiplication result may overflow 'float' before it is converted to 'double'. |
| IntMultToLong.c:61:23:61:33 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'long long'. |
| IntMultToLong.c:63:23:63:40 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'long long'. |
| IntMultToLong.c:75:9:75:13 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'size_t'. |
| IntMultToLong.c:99:14:99:35 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'unsigned long'. |
| IntMultToLong.c:103:14:103:46 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'unsigned long'. |
| IntMultToLong.c:108:14:108:78 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'unsigned long'. |
| IntMultToLong.c:119:14:119:26 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'unsigned long'. |
| IntMultToLong.c:126:14:126:32 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'unsigned long'. |
| IntMultToLong.cpp:2:10:2:14 | ... * ... | Multiplication result may overflow 'int' before it is converted to 'long'. |
Original file line number Diff line number Diff line change
@@ -1,53 +1,27 @@
| ConstVirtual.cpp:24:7:24:11 | ... > ... | Comparison is always false because i <= -1. |
| PointlessComparison.c:7:9:7:14 | ... < ... | Comparison is always true because i <= 15. |
| PointlessComparison.c:8:9:8:15 | ... <= ... | Comparison is always true because i <= 15. |
| PointlessComparison.c:9:9:9:14 | ... > ... | Comparison is always false because i <= 15. |
| PointlessComparison.c:10:9:10:15 | ... >= ... | Comparison is always false because i <= 15. |
| PointlessComparison.c:11:9:11:15 | ... == ... | Comparison is always false because i <= 15. |
| PointlessComparison.c:12:9:12:15 | ... != ... | Comparison is always true because i <= 15. |
| PointlessComparison.c:14:9:14:14 | ... < ... | Comparison is always false because i >= 0. |
| PointlessComparison.c:15:9:15:15 | ... <= ... | Comparison is always false because i >= 0. |
| PointlessComparison.c:16:9:16:14 | ... > ... | Comparison is always true because i >= 0. |
| PointlessComparison.c:17:9:17:15 | ... >= ... | Comparison is always true because i >= 0. |
| PointlessComparison.c:18:9:18:15 | ... == ... | Comparison is always false because i >= 0. |
| PointlessComparison.c:19:9:19:15 | ... != ... | Comparison is always true because i >= 0. |
| PointlessComparison.c:38:9:38:14 | ... < ... | Comparison is always true because i <= 15. |
| PointlessComparison.c:39:9:39:15 | ... <= ... | Comparison is always true because i <= 15. |
| PointlessComparison.c:40:9:40:14 | ... > ... | Comparison is always false because i <= 15. |
| PointlessComparison.c:41:9:41:15 | ... >= ... | Comparison is always false because i <= 15. |
| PointlessComparison.c:42:9:42:15 | ... == ... | Comparison is always false because i <= 15. |
| PointlessComparison.c:43:9:43:15 | ... != ... | Comparison is always true because i <= 15. |
| PointlessComparison.c:45:9:45:14 | ... < ... | Comparison is always false because i >= 0. |
| PointlessComparison.c:46:9:46:15 | ... <= ... | Comparison is always false because i >= 0. |
| PointlessComparison.c:47:9:47:14 | ... > ... | Comparison is always true because i >= 0. |
| PointlessComparison.c:48:9:48:15 | ... >= ... | Comparison is always true because i >= 0. |
| PointlessComparison.c:49:9:49:15 | ... == ... | Comparison is always false because i >= 0. |
| PointlessComparison.c:50:9:50:15 | ... != ... | Comparison is always true because i >= 0. |
| PointlessComparison.c:7:9:7:14 | ... < ... | Comparison is always true because i <= 7. |
| PointlessComparison.c:8:9:8:15 | ... <= ... | Comparison is always true because i <= 7. |
| PointlessComparison.c:9:9:9:14 | ... > ... | Comparison is always false because i <= 7. |
| PointlessComparison.c:10:9:10:15 | ... >= ... | Comparison is always false because i <= 7. |
| PointlessComparison.c:11:9:11:15 | ... == ... | Comparison is always false because i <= 7. |
| PointlessComparison.c:12:9:12:15 | ... != ... | Comparison is always true because i <= 7. |
| PointlessComparison.c:38:9:38:14 | ... < ... | Comparison is always true because i <= 7. |
| PointlessComparison.c:39:9:39:15 | ... <= ... | Comparison is always true because i <= 7. |
| PointlessComparison.c:40:9:40:14 | ... > ... | Comparison is always false because i <= 7. |
| PointlessComparison.c:41:9:41:15 | ... >= ... | Comparison is always false because i <= 7. |
| PointlessComparison.c:42:9:42:15 | ... == ... | Comparison is always false because i <= 7. |
| PointlessComparison.c:43:9:43:15 | ... != ... | Comparison is always true because i <= 7. |
| PointlessComparison.c:65:9:65:13 | ... < ... | Comparison is always true because i <= 3. |
| PointlessComparison.c:103:7:103:11 | ... < ... | Comparison is always false because a >= 0. |
| PointlessComparison.c:107:18:107:22 | ... < ... | Comparison is always false because c >= 0. |
| PointlessComparison.c:116:12:116:16 | ... < ... | Comparison is always true because a <= 0 and 6 <= b. |
| PointlessComparison.c:119:12:119:16 | ... > ... | Comparison is always false because a <= 100 and 106 <= b. |
| PointlessComparison.c:126:12:126:18 | ... >= ... | Comparison is always true because a >= 20. |
| PointlessComparison.c:129:12:129:16 | ... > ... | Comparison is always false because a <= 3. |
| PointlessComparison.c:197:7:197:11 | ... < ... | Comparison is always false because x >= 0. |
| PointlessComparison.c:264:12:264:22 | ... >= ... | Comparison is always true because dbl >= 0 and 0 >= - .... |
| PointlessComparison.c:273:9:273:18 | ... > ... | Comparison is always false because c <= 0. |
| PointlessComparison.c:283:13:283:19 | ... >= ... | Comparison is always true because c >= 11. |
| PointlessComparison.c:294:9:294:16 | ... >= ... | Comparison is always false because ui1 <= 0. |
| PointlessComparison.c:303:9:303:14 | ... >= ... | Comparison is always false because c <= 0. |
| PointlessComparison.c:312:9:312:14 | ... >= ... | Comparison is always false because c <= 0. |
| PointlessComparison.c:337:14:337:21 | ... >= ... | Comparison is always true because x >= 0. |
| PointlessComparison.c:372:6:372:16 | ... >= ... | Comparison is always true because ... >> ... >= 1. |
| PointlessComparison.c:373:6:373:16 | ... >= ... | Comparison is always false because ... >> ... <= 1. |
| PointlessComparison.c:383:6:383:17 | ... >= ... | Comparison is always false because ... & ... <= 2. |
| PointlessComparison.c:388:10:388:21 | ... > ... | Comparison is always false because ... * ... <= 408. |
| PointlessComparison.c:363:7:363:14 | ... == ... | Comparison is always false because tmp <= 0. |
| PointlessComparison.c:372:6:372:16 | ... >= ... | Comparison is always true because ... >> ... >= 1.5. |
| PointlessComparison.c:373:6:373:16 | ... >= ... | Comparison is always false because ... >> ... <= 1.5. |
| PointlessComparison.c:374:6:374:16 | ... == ... | Comparison is always false because ... >> ... >= 1.5. |
| PointlessComparison.c:391:12:391:20 | ... < ... | Comparison is always false because ... * ... >= 6. |
| PointlessComparison.c:414:7:414:16 | ... == ... | Comparison is always false because ... * ... >= 18446744073709551616. |
| PointlessComparison.cpp:36:6:36:33 | ... >= ... | Comparison is always false because ... >> ... <= 9223372036854775808. |
| PointlessComparison.cpp:41:6:41:29 | ... >= ... | Comparison is always false because ... >> ... <= 140737488355327.5. |
| PointlessComparison.cpp:42:6:42:29 | ... >= ... | Comparison is always false because ... >> ... <= 140737488355327.5. |
| PointlessComparison.cpp:43:6:43:29 | ... >= ... | Comparison is always true because ... >> ... >= 140737488355327.5. |
| PointlessComparison.cpp:44:6:44:28 | ... >= ... | Comparison is always true because ... >> ... >= 140737488355327.5. |
| RegressionTests.cpp:57:7:57:22 | ... <= ... | Comparison is always true because * ... <= 4294967295. |
| Templates.cpp:9:10:9:24 | ... <= ... | Comparison is always true because local <= 32767. |
| RegressionTests.cpp:125:7:125:11 | ... > ... | Comparison is always false because x <= 0. |
Loading