@@ -195,18 +195,18 @@ int test13(char c, int i) {
195
195
int z = i+1 ; // $ overflow=+
196
196
range (z); // $ range="==InitializeParameter: i+1"
197
197
range (c + i + uc + x + y + z); // $ overflow=+- overflow=+ overflow=- MISSING: range=>=1
198
- range ((double )(c + i + uc + x + y + z)); // $ overflow=+ overflow=+- overflow=- MISSING: range=>=1
198
+ range ((double )(c + i + uc + x + y + z)); // $ overflow=+ overflow=+- overflow=- range=<=4294967295 MISSING: range=>=1
199
199
return (double )(c + i + uc + x + y + z); // $ overflow=+- overflow=+ overflow=-
200
200
}
201
201
202
202
// Regression test for ODASA-6013.
203
203
int test14 (int x) {
204
204
int x0 = (int )(char )x;
205
- range (x0);
205
+ range (x0); // $ range=<=127 range=>=-128
206
206
int x1 = (int )(unsigned char )x;
207
- range (x1);
207
+ range (x1); // $ range=<=255 range=>=0
208
208
int x2 = (int )(unsigned short )x;
209
- range (x2);
209
+ range (x2); // $ range=<=65535 range=>=0
210
210
int x3 = (int )(unsigned int )x;
211
211
range (x3);
212
212
char c0 = x;
@@ -759,9 +759,9 @@ unsigned long mult_overflow() {
759
759
unsigned long mult_lower_bound (unsigned int ui, unsigned long ul) {
760
760
if (ui >= 10 ) {
761
761
range (ui); // $ range=>=10
762
- range ((unsigned long )ui); // $ range=>=10
763
- unsigned long result = (unsigned long )ui * ui; // $ overflow=+
764
- range (result); // $ MISSING: range=>=100
762
+ range ((unsigned long )ui); // $ range=>=10 range=<=4294967295
763
+ unsigned long result = (unsigned long )ui * ui; // no overflow
764
+ range (result); // $ range=>=100 range=<=18446744065119617024
765
765
return result; // BUG: upper bound should be >= 18446744065119617025
766
766
}
767
767
if (ul >= 10 ) {
@@ -888,7 +888,7 @@ void notequal_variations(short n, float f) {
888
888
}
889
889
890
890
if (n >= 5 ) {
891
- if (2 * n - 10 == 0 ) { // $ overflow=+
891
+ if (2 * n - 10 == 0 ) { // no overflow
892
892
range (n); // $ range=>=5 MISSING: range===5
893
893
return ;
894
894
}
@@ -936,7 +936,7 @@ void two_bounds_from_one_test(short ss, unsigned short us) {
936
936
range (ss); // -32768 .. 32767
937
937
}
938
938
939
- if (ss + 1 < sizeof (int )) { // $ overflow=+
939
+ if (ss + 1 < sizeof (int )) { // $ overflow=-
940
940
range (ss); // -1 .. 2
941
941
}
942
942
}
0 commit comments