[cfe-commits] r156061 - in /cfe/trunk/test/Analysis: additive-folding-range-constraints.c additive-folding.c
Jordy Rose
jediknil at belkadan.com
Thu May 3 00:33:56 PDT 2012
Author: jrose
Date: Thu May 3 02:33:56 2012
New Revision: 156061
URL: http://llvm.org/viewvc/llvm-project?rev=156061&view=rev
Log:
[analyzer] Fix RUN line and general cleanup for additive folding tests.
Modified:
cfe/trunk/test/Analysis/additive-folding-range-constraints.c
cfe/trunk/test/Analysis/additive-folding.c
Modified: cfe/trunk/test/Analysis/additive-folding-range-constraints.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/additive-folding-range-constraints.c?rev=156061&r1=156060&r2=156061&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/additive-folding-range-constraints.c (original)
+++ cfe/trunk/test/Analysis/additive-folding-range-constraints.c Thu May 3 02:33:56 2012
@@ -1,17 +1,17 @@
-// RUN: %clang_cc1 -analyze -analyzer-checker=core,experimental.core -verify -analyzer-constraints=range %s
+// RUN: %clang_cc1 -analyze -analyzer-checker=core,experimental.deadcode.UnreachableCode,unix.Malloc -verify -analyzer-constraints=range %s
// These are used to trigger warnings.
typedef typeof(sizeof(int)) size_t;
void *malloc(size_t);
void free(void *);
#define NULL ((void*)0)
-#define UINT_MAX (__INT_MAX__ *2U +1U)
+#define UINT_MAX (~0U)
// Each of these adjusted ranges has an adjustment small enough to split the
// solution range across an overflow boundary (Min for <, Max for >).
// This corresponds to one set of branches in RangeConstraintManager.
void smallAdjustmentGT (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a+2 > 1)
b = malloc(1);
if (a == UINT_MAX-1 || a == UINT_MAX)
@@ -22,7 +22,7 @@
}
void smallAdjustmentGE (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a+2 >= 1)
b = malloc(1);
if (a == UINT_MAX-1)
@@ -33,7 +33,7 @@
}
void smallAdjustmentLT (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a+1 < 2)
b = malloc(1);
if (a == 0 || a == UINT_MAX)
@@ -42,7 +42,7 @@
}
void smallAdjustmentLE (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a+1 <= 2)
b = malloc(1);
if (a == 0 || a == 1 || a == UINT_MAX)
@@ -55,7 +55,7 @@
// comparison value over an overflow boundary (Min for <, Max for >).
// This corresponds to one set of branches in RangeConstraintManager.
void largeAdjustmentGT (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a-2 > UINT_MAX-1)
b = malloc(1);
if (a == 1 || a == 0)
@@ -66,7 +66,7 @@
}
void largeAdjustmentGE (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a-2 >= UINT_MAX-1)
b = malloc(1);
if (a > 1)
@@ -77,7 +77,7 @@
}
void largeAdjustmentLT (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a+2 < 1)
b = malloc(1);
if (a == UINT_MAX-1 || a == UINT_MAX)
@@ -88,7 +88,7 @@
}
void largeAdjustmentLE (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a+2 <= 1)
b = malloc(1);
if (a < UINT_MAX-1)
Modified: cfe/trunk/test/Analysis/additive-folding.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/additive-folding.c?rev=156061&r1=156060&r2=156061&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/additive-folding.c (original)
+++ cfe/trunk/test/Analysis/additive-folding.c Thu May 3 02:33:56 2012
@@ -6,7 +6,7 @@
void *malloc(size_t);
void free(void *);
#define NULL ((void*)0)
-#define UINT_MAX -1U
+#define UINT_MAX (~0U)
//---------------
// Plus/minus
@@ -16,7 +16,7 @@
int b = a + 1;
--b;
- char* buf = malloc(1);
+ void *buf = malloc(1);
if (a != 0 && b == 0)
return; // expected-warning{{never executed}}
free(buf);
@@ -27,14 +27,14 @@
// the first term is on the left.
int b = 15 + a + 15 - 10 - 20;
- char* buf = malloc(1);
+ void *buf = malloc(1);
if (a != 0 && b == 0)
return; // expected-warning{{never executed}}
free(buf);
}
void mixedTypes (int a) {
- char* buf = malloc(1);
+ void *buf = malloc(1);
// Different additive types should not cause crashes when constant-folding.
// This is part of PR7406.
@@ -55,7 +55,7 @@
// Equality and inequality only
void eq_ne (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a == UINT_MAX)
b = malloc(1);
if (a+1 != 0)
@@ -66,7 +66,7 @@
}
void ne_eq (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a != UINT_MAX)
b = malloc(1);
if (a+1 == 0)
@@ -79,7 +79,7 @@
// Mixed typed inequalities (part of PR7406)
// These should not crash.
void mixed_eq_ne (int a) {
- char* b = NULL;
+ void *b = NULL;
if (a == 1)
b = malloc(1);
if (a+1U != 2)
@@ -90,7 +90,7 @@
}
void mixed_ne_eq (int a) {
- char* b = NULL;
+ void *b = NULL;
if (a != 1)
b = malloc(1);
if (a+1U == 2)
@@ -103,7 +103,7 @@
// Simple order comparisons with no adjustment
void baselineGT (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a > 0)
b = malloc(1);
if (a == 0)
@@ -112,7 +112,7 @@
}
void baselineGE (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a >= UINT_MAX)
b = malloc(1);
if (a == UINT_MAX)
@@ -121,7 +121,7 @@
}
void baselineLT (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a < UINT_MAX)
b = malloc(1);
if (a == UINT_MAX)
@@ -130,7 +130,7 @@
}
void baselineLE (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a <= 0)
b = malloc(1);
if (a == 0)
@@ -141,14 +141,14 @@
// Adjustment gives each of these an extra solution!
void adjustedGT (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a-1 > UINT_MAX-1)
b = malloc(1);
return; // expected-warning{{leak}}
}
void adjustedGE (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a-1 >= UINT_MAX-1)
b = malloc(1);
if (a == UINT_MAX)
@@ -157,14 +157,14 @@
}
void adjustedLT (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a+1 < 1)
b = malloc(1);
return; // expected-warning{{leak}}
}
void adjustedLE (unsigned a) {
- char* b = NULL;
+ void *b = NULL;
if (a+1 <= 1)
b = malloc(1);
if (a == 0)
@@ -175,28 +175,28 @@
// Tautologies
void tautologyGT (unsigned a) {
- char* b = malloc(1);
+ void *b = malloc(1);
if (a > UINT_MAX)
return; // no-warning
free(b);
}
void tautologyGE (unsigned a) {
- char* b = malloc(1);
+ void *b = malloc(1);
if (a >= 0) // expected-warning{{always true}}
free(b);
return; // no-warning
}
void tautologyLT (unsigned a) {
- char* b = malloc(1);
+ void *b = malloc(1);
if (a < 0) // expected-warning{{always false}}
return; // expected-warning{{never executed}}
free(b);
}
void tautologyLE (unsigned a) {
- char* b = malloc(1);
+ void *b = malloc(1);
if (a <= UINT_MAX)
free(b);
return; // no-warning
More information about the cfe-commits
mailing list