diff --git a/tests/non-free/memchr.c b/tests/non-free/memchr.c index b675d880fb5d398f474a0a7cb49db3643dff6891..e8cff9a67f235c705d3538ea24d2377fbfc99555 100644 --- a/tests/non-free/memchr.c +++ b/tests/non-free/memchr.c @@ -45,32 +45,52 @@ const char* tab_str[TSZ] = "aaaaaaaaaaaa" , "aaaaaaaaaaaaa" }; // 13 -int my_memchr(const void *p, size_t offs, int c, size_t n) { - const char *s = (const char*) p; - char *ss = memchr(s+offs,c,n); - int res; - if (ss == 0) { - res = -1; - } else { - res = ss - (char*)p; - } - Frama_C_show_each_mymemchr(res); - return res; -} - -int my_memchr2(const void *base, size_t offs1, size_t offs2, int c, size_t n) { - const char *p = (const char *) base; - p += NONDET(offs1, offs2); - char *s = memchr(p,c,n); - int res; - if (s == 0) { - res = -1; - } else { - res = s - (char*)base; - } - Frama_C_show_each_mymemchr2(res); - return res; -} +#define MEMCHR(lv_type, lv_var, _p, _offs, _c, _n) \ + lv_type lv_var; \ + do { \ + const char *_s = (const char*) _p; \ + char *_ss = memchr(_s+_offs,_c,_n); \ + int _res; \ + if (_ss == 0) { \ + _res = -1; \ + } else { \ + _res = _ss - (char*)_p; \ + } \ + Frama_C_show_each_mymemchr(_res); \ + lv_var = _res; \ + } while (0) \ + +#define MEMCHR_no_decl(lv_var, _p, _offs, _c, _n) \ + do { \ + const char *_s = (const char*) _p; \ + char *_ss = memchr(_s+_offs,_c,_n); \ + int _res; \ + if (_ss == 0) { \ + _res = -1; \ + } else { \ + _res = _ss - (char*)_p; \ + } \ + Frama_C_show_each_mymemchr(_res); \ + lv_var = _res; \ + } while (0) \ + +#define MEMCHR_bottom(s, offs, c, n) assert_bottom(memchr(s+offs,c,n), s) + +#define MEMCHR2(lv_type, lv_var, _base, _offs1, _offs2, _c, _n) \ + lv_type lv_var; \ + do { \ + const char *_p = (const char *) _base; \ + _p += NONDET(_offs1, _offs2); \ + char *_ss = memchr(_p,_c,_n); \ + int _res; \ + if (_ss == 0) { \ + _res = -1; \ + } else { \ + _res = _ss - (char*)_base; \ + } \ + Frama_C_show_each_mymemchr2(_res); \ + lv_var = _res; \ + } while (0) \ //DELPHIC_TEST void memchr_small_sets() { @@ -78,23 +98,23 @@ void memchr_small_sets() { CHAR_PTR(s); STRING(s,"abc"); Ival o = NONDET(0, 1); - RES z1 = my_memchr(s, o, c, 4); + MEMCHR(RES, z1, s, o, c, 4); //@ assert (z1 == 3); STRING(s,"\0bc"); o = NONDET(0,1); - RES z2 = my_memchr(s, o, c, 3); + MEMCHR(RES, z2, s, o, c, 3); //@ assert (z2 == 0 || z2 == 3); STRING(s,""); - RES z3 = my_memchr(s, 0, c, 0); + MEMCHR(RES, z3, s, 0, c, 0); //@ assert (z3 == -1); STRING(s,"b\0c"); o = NONDET(0,2); - RES z4 = my_memchr(s, o, c, 2); + MEMCHR(RES, z4, s, o, c, 2); //@ assert (z4 == 1 || z4 == 3); CHAR_ARRAY(t, 4); t[0] = t[1] = NONDET(0, 1); t[2] = t[3] = 1; - RES z5 = my_memchr(t, 0, c, 4); // no warning + MEMCHR(RES, z5, t, 0, c, 4); // no warning //@ assert (z5 == -1 || z5 == 0 || z5 == 1); } @@ -103,20 +123,20 @@ void memchr_zero_termination() { CHAR c = 0; CHAR_ARRAY(empty_or_non_terminated, 1); empty_or_non_terminated[0] = NONDET(0, 100); - RES z1 = my_memchr(empty_or_non_terminated, 0, c, 1); + MEMCHR(RES, z1, empty_or_non_terminated, 0, c, 1); //@ assert (z1 == -1 || z1 == 0); CHAR_ARRAY(non_terminated, 1); non_terminated[0] = 'X'; - RES z2 = my_memchr(non_terminated, 0, c, 1); + MEMCHR(RES, z2, non_terminated, 0, c, 1); //@ assert (z2 == -1); - assert_bottom(my_memchr(non_terminated, 0, c, 2), non_terminated); + MEMCHR_bottom(non_terminated, 0, c, 2); CHAR_ARRAY(non_terminated2, 4); non_terminated2[0] = 76; non_terminated2[1] = 0; non_terminated2[2] = 28; non_terminated2[3] = 14; Ival o = NONDET(2, 3); - assert_bottom(my_memchr(non_terminated2, o, c, 4), non_terminated2); + MEMCHR_bottom(non_terminated2, o, c, 4); } //DELPHIC_TEST @@ -124,23 +144,23 @@ void memchr_initialization() { CHAR c = 0; CHAR_ARRAY(empty_or_uninitialized, 1); IF_NONDET(empty_or_uninitialized[0], 0); - RES z1 = my_memchr(empty_or_uninitialized, 0, c, 1); // alarm: uninit + MEMCHR(RES, z1, empty_or_uninitialized, 0, c, 1); // alarm: uninit //@ assert (z1 == 0); CHAR_ARRAY(uninitialized, 1); - assert_bottom(my_memchr(uninitialized, 0, c, 1),uninitialized); + MEMCHR_bottom(uninitialized, 0, c, 1); CHAR_ARRAY(s, 2); IF_NONDET(s[0], 1); s[1] = 0; - RES z2 = my_memchr(s, 0, c, 2); + MEMCHR(RES, z2, s, 0, c, 2); //@ assert (z2 == 1); CHAR_ARRAY(t,4); t[0] = t[1] = 10; IF_NONDET(t[2], 10); t[3] = 0; - RES z3 = my_memchr(t, 0, c, 4); + MEMCHR(RES, z3, t, 0, c, 4); //@ assert (z3 == 3); } @@ -175,7 +195,7 @@ void memchr_bitfields2() { s.c = 7; CHAR_PTR(p); p = &s; - RES z1 = my_memchr(p, 0, c, 3); + MEMCHR(RES, z1, p, 0, c, 3); //@assert (z1 == 2); } @@ -193,28 +213,28 @@ void memchr_large() { a[20] = 0; a[75] = 0; Ival offset = RANGE(3, 30); - RES z1 = my_memchr(a, offset, c, 100); + MEMCHR(RES, z1, a, offset, c, 100); // alarm from precondition //@ assert (z1 >= -1 && z1 <= 75); //@ assert refined: (z1 == 20 || z1 == 75); offset = RANGE(5, 17); - RES z2 = my_memchr(a, offset, c, 100); + MEMCHR(RES, z2, a, offset, c, 100); // alarm from precondition //@ assert (z2 >= -1 && z2 <= 20); //@ assert refined: (z2 == 20); offset = RANGE(60, 74); - RES z3 = my_memchr(a, offset, c, 100); + MEMCHR(RES, z3, a, offset, c, 100); // alarm from precondition //@ assert (z3 >= -1 && z3 <= 75); //@ assert refined: (z3 == 75); offset = RANGE(63, 80); - RES z4 = my_memchr(a, offset, c, 100); + MEMCHR(RES, z4, a, offset, c, 100); // alarm from precondition //@ assert (z4 >= -1 && z4 <= 79); //@ assert refined: (z4 == 75); init_array_nondet(a, 0, 99, 0, 2); offset = RANGE(50, 70); - RES z5 = my_memchr(a, offset, c, 100); + MEMCHR(RES, z5, a, offset, c, 100); // alarm from precondition //@ assert (z5 >= -1 && z5 <= 99); //@ assert refined: (z5 >= 50 && z5 <= 99); } @@ -229,18 +249,18 @@ void memchr_large_uninit() { a[75] = 0; Ival offset = RANGE(3, 30); - RES z1 = my_memchr(a, offset, c, 100); //alarm: Uninit + MEMCHR(RES, z1, a, offset, c, 100); //alarm: Uninit //@ assert (z1 >= -1 && z1 <= 29); //@ assert refined: (z1 == 20); a[98] = 0; offset = RANGE(63, 80); - RES z2 = my_memchr(a, offset, c, 100); //alarm: Uninit + MEMCHR(RES, z2, a, offset, c, 100); //alarm: Uninit //@ assert (z2 >= -1 && z2 <= 79); //@ assert refined: (z2 == 75); offset = RANGE(45, 55); - RES z3 = my_memchr(a, offset, c, 100); //alarm: Uninit + MEMCHR(RES, z3, a, offset, c, 100); //alarm: Uninit //@ assert (z3 >= -1 && z3 <= 75); //@ assert refined: (z3 == 75); @@ -255,17 +275,17 @@ void memchr_escaping() { *((int *)s) = &x; } IF_NONDET(s[0], 0); - RES z1 = my_memchr(s, 0, c, 4); // alarm + MEMCHR(RES, z1, s, 0, c, 4); // alarm //@ assert (z1 == 0); s[0] = 0; - RES z2 = my_memchr(s, 0, c, 4); // no alarm + MEMCHR(RES, z2, s, 0, c, 4); // alarm in precondition //@ assert (z2 == 0); } void memchr_misc_array() { CHAR c = 0; Ival i = RANGE(0,TSZ-1); - RES sz3 = my_memchr(tab_str[i], 0, c, 14); + MEMCHR(RES, sz3, tab_str[i], 0, c, 14); //@ assert (sz3 >= 0 && sz3 <= 13); } @@ -279,7 +299,6 @@ void memchr_misc() { CHAR_PTR(loc_str); STRING(loc_str, "Bonjour Monde\n"); CHAR_ARRAY(loc_char_array, 5); - RES sz1,sz2,sz4a,sz4b,sz4c,sz4d; int x = 0xabcdef00; CHAR_PTR(str); CHAR_ARRAY(unterminated_string, 12); @@ -296,49 +315,48 @@ void memchr_misc() { unterminated_string[10] = 'e'; unterminated_string[11] = 'd'; - assert_bottom(my_memchr(unterminated_string, 0, c, 13),unterminated_string); + MEMCHR_bottom(unterminated_string, 0, c, 13); str = NONDET_STR2(static_str, loc_str); - sz1 = my_memchr(str, 0, c, 15); + MEMCHR(RES, sz1, str, 0, c, 15); // false alarm (pointers from 2 bases) //@ assert (sz1 == 12 || sz1 == 14); str = &x; - sz2 = my_memchr2(str, 0, 3, c, 12); + MEMCHR2(RES, sz2, str, 0, 3, c, 12); // alarm in precondition //@ assert (sz2 == 0); // alarm loc_char_array[3] = '\0'; - assert_bottom(my_memchr(loc_char_array, 0, c, 5),loc_char_array); - sz4a = my_memchr(zero_str, 0, c, 9); + MEMCHR_bottom(loc_char_array, 0, c, 5); // alarm in precondition + MEMCHR(RES, sz4a, zero_str, 0, c, 9); // no alarm //@ assert (sz4a == 3); - sz4b = my_memchr(zero_str, 4, c, 9); + MEMCHR(RES, sz4b, zero_str, 4, c, 9); // alarm in precondition //@ assert (sz4b == 4); - sz4c = my_memchr(zero_str, 5, c, 9); + MEMCHR(RES, sz4c, zero_str, 5, c, 9); // alarm in precondition //@ assert (sz4c == 5); - sz4d = my_memchr(zero_str, 6, c, 9); + MEMCHR(RES, sz4d, zero_str, 6, c, 9); // alarm in precondition //@ assert (sz4d == 9); } //DELPHIC_TEST void memchr_misc2() { CHAR c = 0; - RES sz5,sz6,sz7,sz8; CHAR_PTR(s1); s1 = NONDET_STR("abc", "ABCD"); - sz5 = my_memchr2(s1, 0, 1, c, 5); + MEMCHR2(RES, sz5, s1, 0, 1, c, 5); // alarm in precondition //@ assert (sz5 == 3 || sz5 == 4); s1 = NONDET_STR("efg", "EFGH"); - sz6 = my_memchr2(s1, 1, 2, c, 5); + MEMCHR2(RES, sz6, s1, 1, 2, c, 5); // alarm in precondition //@ assert (sz6 == 3 || sz6 == 4); s1 = NONDET_STR("mno\0pqr", "MNOP\0QRS"); for (int j = 0; j < 8; j++) { - sz7 = my_memchr(s1, j, c, 10); + MEMCHR(RES, sz7, s1, j, c, 10); // alarm in precondition //@ assert (sz7 == 3 || sz7 == 4 || sz7 == 7 || sz7 == 8); } CHAR_ARRAY(maybe_init, 2); maybe_init[1] = '\0'; IF_NONDET(maybe_init[0], 'A'); - sz8 = my_memchr(maybe_init, 0, c, 2); // alarm + MEMCHR(RES, sz8, maybe_init, 0, c, 2); // alarm //@ assert (sz8 == 1); } @@ -354,24 +372,24 @@ void memchr_big_array () { *p = 0x10230067; p = &t[nondet]; *p = 0x10230067; - - // the actual length is unsigned, but due to our representation + // All memchr calls in this function emit alarms due to preconditions. + // The actual length is unsigned, but due to our representation // of NULL via -1, we actually use it as signed long len_u; long len_r; long len_t; - len_u = my_memchr(u, 0, c, 800); // below plevel; precise - len_r = my_memchr(r, 0, c, 805); // above plevel; imprecise - len_t = my_memchr(t, 0, c, 4000001); // *far* above plevel + MEMCHR_no_decl(len_u, u, 0, c, 800); // below plevel; precise + MEMCHR_no_decl(len_r, r, 0, c, 805); // above plevel; imprecise + MEMCHR_no_decl(len_t, t, 0, c, 4000001); // *far* above plevel Frama_C_show_each(len_u, len_r, len_t); //@ assert len_u == 1; //@ assert len_r >= 1 && len_r <= 801; //@ assert len_t >= 1 && len_t <= 3999997; - len_u = my_memchr(u, 0, c, 1600); // should be precise - len_r = my_memchr(r, 0, c, 1608); - len_t = my_memchr(t, 0, c, 8000000); + MEMCHR_no_decl(len_u, u, 0, c, 1600); // should be precise + MEMCHR_no_decl(len_r, r, 0, c, 1608); + MEMCHR_no_decl(len_t, t, 0, c, 8000000); Frama_C_show_each(len_u, len_r, len_t); //@ assert len_u >= 0 && len_u <= 3; //@ assert len_r >= 0 && len_r <= 802; @@ -386,15 +404,15 @@ void memchr_no_zero_but_ok() { s[10] = 0; s[11] = s[12] = s[13] = 1; s[14] = s[15] = s[16] = s[17] = s[18] = s[19] = NONDET(1, 0); - RES z1 = my_memchr(s, 0, c, 5); + MEMCHR(RES, z1, s, 0, c, 5); //@assert (z1 == -1); - RES z2 = my_memchr(s, 0, c, 11); + MEMCHR(RES, z2, s, 0, c, 11); //@assert (z2 == 10); - RES z3 = my_memchr2(s, 1, 8, c, 11); + MEMCHR2(RES, z3, s, 1, 8, c, 11); //@assert (z3 == 10); - RES z4 = my_memchr2(s, 7, 11, c, 4); + MEMCHR2(RES, z4, s, 7, 11, c, 4); //@assert (z4 == -1 || z4 == 10 || z4 == 14); - RES z5 = my_memchr2(s, 7, 18, c, 5); // maybe_indet = true + MEMCHR2(RES, z5, s, 7, 18, c, 5); // maybe_indet = true //@assert (z5 == 10 || z5 == 18 || z5 == 19); } @@ -404,28 +422,28 @@ void memchr_small_sets_n() { CHAR_PTR(s); STRING(s,"abcde"); CHAR n = NONDET(2, 5); - RES z1 = my_memchr2(s, 0, 1, c, n); + MEMCHR2(RES, z1, s, 0, 1, c, n); //@assert (z1 == -1 || z1 == 5); STRING(s,"\0bcdef"); n = NONDET(1, 6); - RES z2 = my_memchr2(s, 0, 1, c, n); + MEMCHR2(RES, z2, s, 0, 1, c, n); //@assert (z2 == -1 || z2 == 0 || z2 == 6); STRING(s,"bcd\0efg"); - RES z3a = my_memchr2(s, 0, 2, c, 4); + MEMCHR2(RES, z3a, s, 0, 2, c, 4); //@assert (z3a == 3); n = NONDET(3, 4); - RES z3b = my_memchr2(s, 0, 2, c, n); + MEMCHR2(RES, z3b, s, 0, 2, c, n); //@assert (z3b == -1 || z3b == 3); n = NONDET(2, 3); - RES z3 = my_memchr2(s, 0, 2, c, n); + MEMCHR2(RES, z3, s, 0, 2, c, n); //@assert (z3 == -1 || z3 == 3); n = NONDET(2, 7); - RES z4 = my_memchr2(s, 2, 4, c, n); // alarm + MEMCHR2(RES, z4, s, 2, 4, c, n); // alarm //@assert (z4 == -1 || z4 == 3 || z4 == 7); } @@ -440,48 +458,48 @@ void memchr_large_n() { a[75] = 0; Ival offset = RANGE(3, 30); Ival n = RANGE(10, 20); - RES z1 = my_memchr(a, offset, c, n); + MEMCHR(RES, z1, a, offset, c, n); //@assert (z1 >= -1 && z1 <= 40); //@assert refined: (z1 == -1 || z1 == 15 || z1 == 28 || z1 == 40); a[28] = 1; a[29] = 0; - RES z2 = my_memchr(a, offset, c, n); + MEMCHR(RES, z2, a, offset, c, n); //@assert (z2 >= -1 && z2 <= 40); //@assert refined: (z2 == -1 || z2 == 15 || z2 == 29 || z2 == 40); a[40] = 1; - RES z3 = my_memchr(a, offset, c, n); // no alarm + MEMCHR(RES, z3, a, offset, c, n); // no alarm //@assert (z3 >= -1 && z3 <= 29); //@assert refined: (z3 == -1 || z3 == 15 || z3 == 29); offset = RANGE(5, 17); - RES z4 = my_memchr(a, offset, c, n); + MEMCHR(RES, z4, a, offset, c, n); //@assert (z4 >= -1 && z4 <= 29); //@assert refined: (z4 == -1 || z4 == 15 || z4 == 29); offset = RANGE(60, 74); - RES z5 = my_memchr(a, offset, c, n); + MEMCHR(RES, z5, a, offset, c, n); //@assert (z5 >= -1 && z5 <= 75); //@assert refined: (z5 == -1 || z5 == 75); offset = RANGE(63, 80); - RES z6 = my_memchr(a, offset, c, n); // no alarm + MEMCHR(RES, z6, a, offset, c, n); // no alarm //@assert (z6 >= -1 && z6 <= 79); //@assert refined: (z6 == -1 || z6 == 75); init_array_nondet(a, 0, 99, 0, 2); offset = RANGE(50, 70); - RES z7 = my_memchr(a, offset, c, n); + MEMCHR(RES, z7, a, offset, c, n); //@assert (z7 >= -1 && z7 <= 89); n = RANGE(0, 100); - RES z8 = my_memchr(a, offset, c, n); // alarm: Invalid + MEMCHR(RES, z8, a, offset, c, n); // alarm: Invalid //@assert (z8 >= -1 && z8 <= 99); offset = RANGE(0, 10); n = RANGE(0, 90); - RES z9 = my_memchr(a, offset, c, n); // no alarm + MEMCHR(RES, z9, a, offset, c, n); // no alarm //@assert (z9 >= -1 && z9 <= 99); } @@ -491,13 +509,13 @@ void memchr_unbounded_n() { if (n < 0) n = 0; CHAR_PTR(s); STRING(s,"abc"); - RES zu1 = my_memchr(s, 0, c, n); + MEMCHR(RES, zu1, s, 0, c, n); // warning from precondition //@ assert (zu1 == -1 || zu1 == 3); Ival o = NONDET(0,1); - RES zu2 = my_memchr(s, o, c, n); + MEMCHR(RES, zu2, s, o, c, n); // warning from precondition //@ assert (zu2 == -1 || zu2 == 2 || zu2 == 3); STRING(s,"bcd\0eg"); - RES zu3 = my_memchr(s, 0, c, n); + MEMCHR(RES, zu3, s, 0, c, n); // warning from precondition //@ assert (zu3 == -1 || zu3 == 3); } @@ -513,48 +531,48 @@ void memchr_intervals() { Ival offset = RANGE(0,9); Ival n = RANGE(0, 10); - RES z1 = my_memchr(a, offset, c, n); + MEMCHR(RES, z1, a, offset, c, n); // warning from precondition (a[10] UNINIT) //@ assert (z1 >= -1 && z1 <= 9); //@ assert refined: (z1 == -1 || z1 == 0 || z1 == 1 || z1 == 2 || z1 == 7 || z1 == 8 || z1 == 9); offset = RANGE(3,9); n = RANGE(2,10); - RES z2 = my_memchr(a, offset, c, n); + MEMCHR(RES, z2, a, offset, c, n); // warning from precondition (a[10] UNINIT) //@ assert (z2 == -1 || z2 == 7 || z2 == 8 || z2 == 9); offset = RANGE(3,9); n = RANGE(0,11); - RES z3 = my_memchr(a, offset, c, n); + MEMCHR(RES, z3, a, offset, c, n); // warning from precondition (a[10] UNINIT) //@ assert (z3 == -1 || z3 == 7 || z3 == 8 || z3 == 9); offset = RANGE(3,10); n = RANGE(0,9); - RES z4 = my_memchr(a, offset, c, n); + MEMCHR(RES, z4, a, offset, c, n); // warning from precondition (a[10] UNINIT) //@ assert (z4 == -1 || z4 == 7 || z4 == 8 || z4 == 9); offset = RANGE(3,10); n = RANGE(0,10); - RES z5 = my_memchr(a, offset, c, n); + MEMCHR(RES, z5, a, offset, c, n); // warning from precondition (a[10] UNINIT) //@ assert (z5 == -1 || z5 == 7 || z5 == 8 || z5 == 9); offset = RANGE(3,10); n = RANGE(0,11); - RES z6 = my_memchr(a, offset, c, n); + MEMCHR(RES, z6, a, offset, c, n); // warning from precondition (a[10] UNINIT) //@ assert (z6 == -1 || z6 == 7 || z6 == 8 || z6 == 9); offset = RANGE(3,11); n = RANGE(0,10); - RES z7 = my_memchr(a, offset, c, n); + MEMCHR(RES, z7, a, offset, c, n); // warning from precondition (a[10] UNINIT) //@ assert (z7 >= -1 && z7 <= 19); offset = RANGE(3,11); n = RANGE(0,10); - RES z8 = my_memchr(a, offset, c, n); + MEMCHR(RES, z8, a, offset, c, n); // warning from precondition (a[10] UNINIT) //@ assert (z8 >= -1 && z8 <= 19); offset = RANGE(3,11); n = RANGE(0,11); - RES z9 = my_memchr(a, offset, c, n); + MEMCHR(RES, z9, a, offset, c, n); // warning from precondition (a[10] UNINIT) //@ assert (z9 >= -1 && z9 <= 19); } @@ -563,19 +581,19 @@ int memchr_small_sets_no_assertions(CHAR c, RES *res) { CHAR_PTR(s); STRING(s,"abc"); Ival o = NONDET(0, 1); - res[0] = my_memchr(s, o, c, 4); + MEMCHR_no_decl(res[0], s, o, c, 4); // alarm from precondition STRING(s,"\0bc"); o = NONDET(0,1); - res[1] = my_memchr(s, o, c, 3); + MEMCHR_no_decl(res[1], s, o, c, 3); STRING(s,""); - res[2] = my_memchr(s, 0, c, 0); + MEMCHR_no_decl(res[2], s, 0, c, 0); STRING(s,"b\0c"); o = NONDET(0,2); - res[3] = my_memchr(s, o, c, 2); + MEMCHR_no_decl(res[3], s, o, c, 2); CHAR_ARRAY(t, 4); t[0] = t[1] = NONDET(c, 1); t[2] = t[3] = 1; - res[4] = my_memchr(t, 0, c, 4); + MEMCHR_no_decl(res[4], t, 0, c, 4); return 0; } diff --git a/tests/non-free/oracle/memchr.res.oracle b/tests/non-free/oracle/memchr.res.oracle index 95a472be36ac4a3b977c29b9f940f3e1e4c6895a..f5d86ec3f758ebe240a320570f30e1f42525148e 100644 --- a/tests/non-free/oracle/memchr.res.oracle +++ b/tests/non-free/oracle/memchr.res.oracle @@ -20,1320 +20,1055 @@ static_str ∈ {0} zero_str ∈ {0} [value] computing for function memchr_small_sets <- main. - Called from tests/non-free/memchr.c:645. -[value] computing for function my_memchr <- memchr_small_sets <- main. - Called from tests/non-free/memchr.c:81. + Called from tests/non-free/memchr.c:663. share/libc/string.h:53:[value] Cannot evaluate range bound memchr_off((char *)s, c, n) (unsupported ACSL construct: logic function memchr_off). Approximating -tests/non-free/memchr.c:50:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:101:[value] warning: function memchr: precondition 'valid' got status unknown. share/libc/string.h:56:[value] Cannot evaluate range bound memchr_off((char *)s, c, n) (unsupported ACSL construct: logic function memchr_off). Approximating -tests/non-free/memchr.c:50:[value] warning: function memchr: precondition 'initialization' got status unknown. -tests/non-free/memchr.c:50:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:101:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:101:[value] warning: function memchr: precondition 'danglingness' got status unknown. share/libc/string.h:62:[value] cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr share/libc/string.h:69:[value] cannot evaluate ACSL term, unsupported ACSL construct: logic function memchr -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{0},{4})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:82:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_small_sets <- main. - Called from tests/non-free/memchr.c:85. -tests/non-free/memchr.c:50:[value] function memchr: precondition 'valid' got status valid. -tests/non-free/memchr.c:50:[value] function memchr: precondition 'initialization' got status valid. -tests/non-free/memchr.c:50:[value] function memchr: precondition 'danglingness' got status valid. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{0},{3})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {0; 3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:86:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_small_sets <- main. - Called from tests/non-free/memchr.c:88. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "" }},{0},{0})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:89:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_small_sets <- main. - Called from tests/non-free/memchr.c:92. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{0},{2})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1; 3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:93:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_small_sets <- main. - Called from tests/non-free/memchr.c:97. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{0},{4})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:98:[value] assertion got status valid. +tests/non-free/memchr.c:101:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{0},{4})) +tests/non-free/memchr.c:101:[value] Frama_C_show_each_mymemchr: {3} +tests/non-free/memchr.c:102:[value] assertion got status valid. +tests/non-free/memchr.c:105:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:105:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:105:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:105:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{0},{3})) +tests/non-free/memchr.c:105:[value] Frama_C_show_each_mymemchr: {0; 3} +tests/non-free/memchr.c:106:[value] assertion got status valid. +tests/non-free/memchr.c:108:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:108:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:108:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:108:[value] Call to builtin Frama_C_memchr(({{ "" }},{0},{0})) +tests/non-free/memchr.c:108:[value] Frama_C_show_each_mymemchr: {-1} +tests/non-free/memchr.c:109:[value] assertion got status valid. +tests/non-free/memchr.c:112:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:112:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:112:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:112:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{0},{2})) +tests/non-free/memchr.c:112:[value] Frama_C_show_each_mymemchr: {1; 3} +tests/non-free/memchr.c:113:[value] assertion got status valid. +tests/non-free/memchr.c:117:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:117:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:117:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:117:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{0},{4})) +tests/non-free/memchr.c:117:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} +tests/non-free/memchr.c:118:[value] assertion got status valid. [value] Recording results for memchr_small_sets [value] Done for function memchr_small_sets [value] computing for function memchr_zero_termination <- main. - Called from tests/non-free/memchr.c:646. -[value] computing for function my_memchr <- memchr_zero_termination <- main. - Called from tests/non-free/memchr.c:106. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&empty_or_non_terminated }}, + Called from tests/non-free/memchr.c:664. +tests/non-free/memchr.c:126:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:126:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:126:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:126:[value] Call to builtin Frama_C_memchr(({{ (void const *)&empty_or_non_terminated }}, {0},{1})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:107:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_zero_termination <- main. - Called from tests/non-free/memchr.c:111. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&non_terminated }},{0},{1})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:112:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_zero_termination <- main. - Called from tests/non-free/memchr.c:113. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&non_terminated }},{0},{2})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: reading indeterminate data -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_zero_termination <- main. - Called from tests/non-free/memchr.c:119. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&non_terminated2{[2], [3]} }}, +tests/non-free/memchr.c:126:[value] Frama_C_show_each_mymemchr: {-1; 0} +tests/non-free/memchr.c:127:[value] assertion got status valid. +tests/non-free/memchr.c:131:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:131:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:131:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:131:[value] Call to builtin Frama_C_memchr(({{ (void const *)&non_terminated }},{0},{1})) +tests/non-free/memchr.c:131:[value] Frama_C_show_each_mymemchr: {-1} +tests/non-free/memchr.c:132:[value] assertion got status valid. +tests/non-free/memchr.c:133:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:133:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:133:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:133:[value] Call to builtin Frama_C_memchr(({{ (void const *)&non_terminated }},{0},{2})) +tests/non-free/memchr.c:133:[value] builtin Frama_C_memchr: reading indeterminate data +tests/non-free/memchr.c:139:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:139:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:139:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:139:[value] Call to builtin Frama_C_memchr(({{ (void const *)&non_terminated2{[2], [3]} }}, {0},{4})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: reading indeterminate data -[value] Recording results for my_memchr -[value] Done for function my_memchr +tests/non-free/memchr.c:139:[value] builtin Frama_C_memchr: reading indeterminate data [value] Recording results for memchr_zero_termination [value] Done for function memchr_zero_termination [value] computing for function memchr_initialization <- main. - Called from tests/non-free/memchr.c:647. -[value] computing for function my_memchr <- memchr_initialization <- main. - Called from tests/non-free/memchr.c:127. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&empty_or_uninitialized }}, + Called from tests/non-free/memchr.c:665. +tests/non-free/memchr.c:147:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:147:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:147:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:147:[value] Call to builtin Frama_C_memchr(({{ (void const *)&empty_or_uninitialized }}, {0},{1})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible uninitialized values -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {0} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:128:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_initialization <- main. - Called from tests/non-free/memchr.c:131. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&uninitialized }},{0},{1})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: reading indeterminate data -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_initialization <- main. - Called from tests/non-free/memchr.c:136. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{2})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible uninitialized values -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:137:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_initialization <- main. - Called from tests/non-free/memchr.c:143. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{0},{4})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible uninitialized values -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:144:[value] assertion got status valid. +tests/non-free/memchr.c:147:[value] builtin Frama_C_memchr: possible uninitialized values +tests/non-free/memchr.c:147:[value] Frama_C_show_each_mymemchr: {0} +tests/non-free/memchr.c:148:[value] assertion got status valid. +tests/non-free/memchr.c:151:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:151:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:151:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:151:[value] Call to builtin Frama_C_memchr(({{ (void const *)&uninitialized }},{0},{1})) +tests/non-free/memchr.c:151:[value] builtin Frama_C_memchr: reading indeterminate data +tests/non-free/memchr.c:156:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:156:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:156:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:156:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{2})) +tests/non-free/memchr.c:156:[value] builtin Frama_C_memchr: possible uninitialized values +tests/non-free/memchr.c:156:[value] Frama_C_show_each_mymemchr: {1} +tests/non-free/memchr.c:157:[value] assertion got status valid. +tests/non-free/memchr.c:163:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:163:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:163:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:163:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{0},{4})) +tests/non-free/memchr.c:163:[value] builtin Frama_C_memchr: possible uninitialized values +tests/non-free/memchr.c:163:[value] Frama_C_show_each_mymemchr: {3} +tests/non-free/memchr.c:164:[value] assertion got status valid. [value] Recording results for memchr_initialization [value] Done for function memchr_initialization [value] computing for function memchr_large <- main. - Called from tests/non-free/memchr.c:648. + Called from tests/non-free/memchr.c:666. [value] computing for function init_array_nondet <- memchr_large <- main. - Called from tests/non-free/memchr.c:192. -tests/non-free/memchr.c:184:[value] function memset: precondition got status valid. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a }},{1; 2},{100})) + Called from tests/non-free/memchr.c:212. +tests/non-free/memchr.c:204:[value] function memset: precondition got status valid. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a }},{1; 2},{100})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function Frama_C_interval <- memchr_large <- main. - Called from tests/non-free/memchr.c:195. + Called from tests/non-free/memchr.c:215. [value] using specification for function Frama_C_interval -tests/non-free/memchr.c:195:[value] function Frama_C_interval: precondition got status valid. +tests/non-free/memchr.c:215:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large <- main. - Called from tests/non-free/memchr.c:196. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [3..30] }},{0},{100})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:216:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:216:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:216:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:216:[value] Call to builtin Frama_C_memchr(({{ &a + [3..30] }},{0},{100})) +tests/non-free/memchr.c:216:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..75] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:197:[value] assertion got status valid. -tests/non-free/memchr.c:198:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:216:[value] Frama_C_show_each_mymemchr: [-1..75] +tests/non-free/memchr.c:217:[value] assertion got status valid. +tests/non-free/memchr.c:218:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- memchr_large <- main. - Called from tests/non-free/memchr.c:200. -tests/non-free/memchr.c:200:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:220. +tests/non-free/memchr.c:220:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large <- main. - Called from tests/non-free/memchr.c:201. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [5..17] }},{0},{100})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:221:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:221:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:221:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:221:[value] Call to builtin Frama_C_memchr(({{ &a + [5..17] }},{0},{100})) +tests/non-free/memchr.c:221:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..20] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:202:[value] assertion got status valid. -tests/non-free/memchr.c:203:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:221:[value] Frama_C_show_each_mymemchr: [-1..20] +tests/non-free/memchr.c:222:[value] assertion got status valid. +tests/non-free/memchr.c:223:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- memchr_large <- main. - Called from tests/non-free/memchr.c:205. -tests/non-free/memchr.c:205:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:225. +tests/non-free/memchr.c:225:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large <- main. - Called from tests/non-free/memchr.c:206. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [60..74] }},{0},{100})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:226:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:226:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:226:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:226:[value] Call to builtin Frama_C_memchr(({{ &a + [60..74] }},{0},{100})) +tests/non-free/memchr.c:226:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..75] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:207:[value] assertion got status valid. -tests/non-free/memchr.c:208:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:226:[value] Frama_C_show_each_mymemchr: [-1..75] +tests/non-free/memchr.c:227:[value] assertion got status valid. +tests/non-free/memchr.c:228:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- memchr_large <- main. - Called from tests/non-free/memchr.c:210. -tests/non-free/memchr.c:210:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:230. +tests/non-free/memchr.c:230:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large <- main. - Called from tests/non-free/memchr.c:211. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [63..80] }},{0},{100})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:231:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:231:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:231:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:231:[value] Call to builtin Frama_C_memchr(({{ &a + [63..80] }},{0},{100})) +tests/non-free/memchr.c:231:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..79] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:212:[value] assertion got status valid. -tests/non-free/memchr.c:213:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:231:[value] Frama_C_show_each_mymemchr: [-1..79] +tests/non-free/memchr.c:232:[value] assertion got status valid. +tests/non-free/memchr.c:233:[value] warning: assertion 'refined' got status unknown. [value] computing for function init_array_nondet <- memchr_large <- main. - Called from tests/non-free/memchr.c:215. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a }},{0; 2},{100})) + Called from tests/non-free/memchr.c:235. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a }},{0; 2},{100})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function Frama_C_interval <- memchr_large <- main. - Called from tests/non-free/memchr.c:216. -tests/non-free/memchr.c:216:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:236. +tests/non-free/memchr.c:236:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large <- main. - Called from tests/non-free/memchr.c:217. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [50..70] }},{0},{100})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:237:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:237:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:237:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:237:[value] Call to builtin Frama_C_memchr(({{ &a + [50..70] }},{0},{100})) +tests/non-free/memchr.c:237:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..99] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:218:[value] assertion got status valid. -tests/non-free/memchr.c:219:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:237:[value] Frama_C_show_each_mymemchr: [-1..99] +tests/non-free/memchr.c:238:[value] assertion got status valid. +tests/non-free/memchr.c:239:[value] warning: assertion 'refined' got status unknown. [value] Recording results for memchr_large [value] Done for function memchr_large [value] computing for function memchr_large_uninit <- main. - Called from tests/non-free/memchr.c:649. + Called from tests/non-free/memchr.c:667. [value] computing for function init_array_nondet <- memchr_large_uninit <- main. - Called from tests/non-free/memchr.c:226. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a }},{1; 2},{40})) + Called from tests/non-free/memchr.c:246. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a }},{1; 2},{40})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function init_array_nondet <- memchr_large_uninit <- main. - Called from tests/non-free/memchr.c:227. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a[50] }},{3; 4},{45})) + Called from tests/non-free/memchr.c:247. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a[50] }},{3; 4},{45})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function Frama_C_interval <- memchr_large_uninit <- main. - Called from tests/non-free/memchr.c:231. -tests/non-free/memchr.c:231:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:251. +tests/non-free/memchr.c:251:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large_uninit <- main. - Called from tests/non-free/memchr.c:232. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [3..30] }},{0},{100})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:252:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:252:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:252:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:252:[value] Call to builtin Frama_C_memchr(({{ &a + [3..30] }},{0},{100})) +tests/non-free/memchr.c:252:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..29] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:233:[value] assertion got status valid. -tests/non-free/memchr.c:234:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:252:[value] Frama_C_show_each_mymemchr: [-1..29] +tests/non-free/memchr.c:253:[value] assertion got status valid. +tests/non-free/memchr.c:254:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- memchr_large_uninit <- main. - Called from tests/non-free/memchr.c:237. -tests/non-free/memchr.c:237:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:257. +tests/non-free/memchr.c:257:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large_uninit <- main. - Called from tests/non-free/memchr.c:238. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [63..80] }},{0},{100})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:258:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:258:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:258:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:258:[value] Call to builtin Frama_C_memchr(({{ &a + [63..80] }},{0},{100})) +tests/non-free/memchr.c:258:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..79] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:239:[value] assertion got status valid. -tests/non-free/memchr.c:240:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:258:[value] Frama_C_show_each_mymemchr: [-1..79] +tests/non-free/memchr.c:259:[value] assertion got status valid. +tests/non-free/memchr.c:260:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- memchr_large_uninit <- main. - Called from tests/non-free/memchr.c:242. -tests/non-free/memchr.c:242:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:262. +tests/non-free/memchr.c:262:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large_uninit <- main. - Called from tests/non-free/memchr.c:243. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [45..55] }},{0},{100})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:263:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:263:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:263:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:263:[value] Call to builtin Frama_C_memchr(({{ &a + [45..55] }},{0},{100})) +tests/non-free/memchr.c:263:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..75] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:244:[value] assertion got status valid. -tests/non-free/memchr.c:245:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:263:[value] Frama_C_show_each_mymemchr: [-1..75] +tests/non-free/memchr.c:264:[value] assertion got status valid. +tests/non-free/memchr.c:265:[value] warning: assertion 'refined' got status unknown. [value] Recording results for memchr_large_uninit [value] Done for function memchr_large_uninit [value] computing for function memchr_misc_array <- main. - Called from tests/non-free/memchr.c:650. + Called from tests/non-free/memchr.c:668. [value] computing for function Frama_C_interval <- memchr_misc_array <- main. - Called from tests/non-free/memchr.c:267. -tests/non-free/memchr.c:267:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:287. +tests/non-free/memchr.c:287:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_misc_array <- main. - Called from tests/non-free/memchr.c:268. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "" ; "a" ; "aa" ; "aaa" ; "aaaa" ; +tests/non-free/memchr.c:288:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:288:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:288:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:288:[value] Call to builtin Frama_C_memchr(({{ "" ; "a" ; "aa" ; "aaa" ; "aaaa" ; "aaaaa" ; "aaaaaa" ; "aaaaaaaaa" ; "aaaaaaaaaa" ; "aaaaaaaaaaa" ; "aaaaaaaaaaaa" ; "aaaaaaaaaaaaa" }}, {0},{14})) -tests/non-free/memchr.c:55:[value] warning: pointer subtraction. assert \base_addr(ss) ≡ \base_addr((char *)p); -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [0..13] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:269:[value] assertion got status valid. +tests/non-free/memchr.c:288:[value] warning: pointer subtraction. assert \base_addr(_ss) ≡ \base_addr(tab_str[i]); +tests/non-free/memchr.c:288:[value] Frama_C_show_each_mymemchr: [0..13] +tests/non-free/memchr.c:289:[value] assertion got status valid. [value] Recording results for memchr_misc_array [value] Done for function memchr_misc_array [value] computing for function memchr_misc <- main. - Called from tests/non-free/memchr.c:651. -[value] computing for function my_memchr <- memchr_misc <- main. - Called from tests/non-free/memchr.c:299. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&unterminated_string }}, + Called from tests/non-free/memchr.c:669. +tests/non-free/memchr.c:318:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:318:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:318:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:318:[value] Call to builtin Frama_C_memchr(({{ (void const *)&unterminated_string }}, {0},{13})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: reading indeterminate data -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_misc <- main. - Called from tests/non-free/memchr.c:302. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "Hello World\n" ; "Bonjour Monde\n" }}, +tests/non-free/memchr.c:318:[value] builtin Frama_C_memchr: reading indeterminate data +tests/non-free/memchr.c:321:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:321:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:321:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:321:[value] Call to builtin Frama_C_memchr(({{ "Hello World\n" ; "Bonjour Monde\n" }}, {0},{15})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {12; 14} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:303:[value] assertion got status valid. -[value] computing for function my_memchr2 <- memchr_misc <- main. - Called from tests/non-free/memchr.c:305. -tests/non-free/memchr.c:64:[value] warning: function memchr: precondition 'valid' got status unknown. -tests/non-free/memchr.c:64:[value] warning: function memchr: precondition 'initialization' got status unknown. -tests/non-free/memchr.c:64:[value] warning: function memchr: precondition 'danglingness' got status unknown. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ &x + {0; 3} }},{0},{12})) -tests/non-free/memchr.c:64:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {0} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:306:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_misc <- main. - Called from tests/non-free/memchr.c:308. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&loc_char_array }},{0},{5})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: reading indeterminate data -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_misc <- main. - Called from tests/non-free/memchr.c:309. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc\000\000\000abc" }},{0},{9})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:310:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_misc <- main. - Called from tests/non-free/memchr.c:311. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc\000\000\000abc" + {4} }},{0},{9})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {4} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:312:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_misc <- main. - Called from tests/non-free/memchr.c:313. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc\000\000\000abc" + {5} }},{0},{9})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {5} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:314:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_misc <- main. - Called from tests/non-free/memchr.c:315. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc\000\000\000abc" + {6} }},{0},{9})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {9} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:316:[value] assertion got status valid. +tests/non-free/memchr.c:321:[value] warning: pointer subtraction. assert \base_addr(_ss) ≡ \base_addr(str); +tests/non-free/memchr.c:321:[value] Frama_C_show_each_mymemchr: {12; 14} +tests/non-free/memchr.c:322:[value] assertion got status valid. +tests/non-free/memchr.c:324:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:324:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:324:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:324:[value] Call to builtin Frama_C_memchr(({{ &x + {0; 3} }},{0},{12})) +tests/non-free/memchr.c:324:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:324:[value] Frama_C_show_each_mymemchr2: {0} +tests/non-free/memchr.c:325:[value] assertion got status valid. +tests/non-free/memchr.c:327:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:327:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:327:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:327:[value] Call to builtin Frama_C_memchr(({{ (void const *)&loc_char_array }},{0},{5})) +tests/non-free/memchr.c:327:[value] builtin Frama_C_memchr: reading indeterminate data +tests/non-free/memchr.c:328:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:328:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:328:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:328:[value] Call to builtin Frama_C_memchr(({{ "abc\000\000\000abc" }},{0},{9})) +tests/non-free/memchr.c:328:[value] Frama_C_show_each_mymemchr: {3} +tests/non-free/memchr.c:329:[value] assertion got status valid. +tests/non-free/memchr.c:330:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:330:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:330:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:330:[value] Call to builtin Frama_C_memchr(({{ "abc\000\000\000abc" + {4} }},{0},{9})) +tests/non-free/memchr.c:330:[value] Frama_C_show_each_mymemchr: {4} +tests/non-free/memchr.c:331:[value] assertion got status valid. +tests/non-free/memchr.c:332:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:332:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:332:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:332:[value] Call to builtin Frama_C_memchr(({{ "abc\000\000\000abc" + {5} }},{0},{9})) +tests/non-free/memchr.c:332:[value] Frama_C_show_each_mymemchr: {5} +tests/non-free/memchr.c:333:[value] assertion got status valid. +tests/non-free/memchr.c:334:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:334:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:334:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:334:[value] Call to builtin Frama_C_memchr(({{ "abc\000\000\000abc" + {6} }},{0},{9})) +tests/non-free/memchr.c:334:[value] Frama_C_show_each_mymemchr: {9} +tests/non-free/memchr.c:335:[value] assertion got status valid. [value] Recording results for memchr_misc [value] Done for function memchr_misc [value] computing for function memchr_misc2 <- main. - Called from tests/non-free/memchr.c:652. -[value] computing for function my_memchr2 <- memchr_misc2 <- main. - Called from tests/non-free/memchr.c:325. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} ; "ABCD" + {0; 1} }}, + Called from tests/non-free/memchr.c:670. +tests/non-free/memchr.c:343:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:343:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:343:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:343:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} ; "ABCD" + {0; 1} }}, {0},{5})) -tests/non-free/memchr.c:69:[value] warning: pointer subtraction. assert \base_addr(s) ≡ \base_addr((char *)base); -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {3; 4} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:326:[value] assertion got status valid. -[value] computing for function my_memchr2 <- memchr_misc2 <- main. - Called from tests/non-free/memchr.c:329. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ "efg" + {1; 2} ; "EFGH" + {1; 2} }}, +tests/non-free/memchr.c:343:[value] warning: pointer subtraction. assert \base_addr(_ss) ≡ \base_addr(s1); +tests/non-free/memchr.c:343:[value] Frama_C_show_each_mymemchr2: {3; 4} +tests/non-free/memchr.c:344:[value] assertion got status valid. +tests/non-free/memchr.c:347:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:347:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:347:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:347:[value] Call to builtin Frama_C_memchr(({{ "efg" + {1; 2} ; "EFGH" + {1; 2} }}, {0},{5})) -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {3; 4} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:330:[value] assertion got status valid. -tests/non-free/memchr.c:333:[value] entering loop for the first time -[value] computing for function my_memchr <- memchr_misc2 <- main. - Called from tests/non-free/memchr.c:334. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "mno\000pqr" ; "MNOP\000QRS" }},{0},{10})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {3; 4} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:335:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_misc2 <- main. - Called from tests/non-free/memchr.c:334. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "mno\000pqr" + {0; 1} ; +tests/non-free/memchr.c:347:[value] warning: pointer subtraction. assert \base_addr(_ss_0) ≡ \base_addr(s1); +tests/non-free/memchr.c:347:[value] Frama_C_show_each_mymemchr2: {3; 4} +tests/non-free/memchr.c:348:[value] assertion got status valid. +tests/non-free/memchr.c:351:[value] entering loop for the first time +tests/non-free/memchr.c:352:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:352:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:352:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:352:[value] Call to builtin Frama_C_memchr(({{ "mno\000pqr" ; "MNOP\000QRS" }},{0},{10})) +tests/non-free/memchr.c:352:[value] warning: pointer subtraction. assert \base_addr(_ss_1) ≡ \base_addr(s1); +tests/non-free/memchr.c:352:[value] Frama_C_show_each_mymemchr: {3; 4} +tests/non-free/memchr.c:353:[value] assertion got status valid. +tests/non-free/memchr.c:352:[value] Call to builtin Frama_C_memchr(({{ "mno\000pqr" + {0; 1} ; "MNOP\000QRS" + {0; 1} }},{0},{10})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {3; 4} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_misc2 <- main. - Called from tests/non-free/memchr.c:334. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "mno\000pqr" + {0; 1; 2} ; +tests/non-free/memchr.c:352:[value] Frama_C_show_each_mymemchr: {3; 4} +tests/non-free/memchr.c:352:[value] Call to builtin Frama_C_memchr(({{ "mno\000pqr" + {0; 1; 2} ; "MNOP\000QRS" + {0; 1; 2} }},{0},{10})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {3; 4} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_misc2 <- main. - Called from tests/non-free/memchr.c:334. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "mno\000pqr" + {0; 1; 2; 3; 4; 5; 6; 7} ; - "MNOP\000QRS" + {0; 1; 2; 3; 4; 5; 6; 7} }}, - {0},{10})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {3; 4; 7; 8} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_misc2 <- main. - Called from tests/non-free/memchr.c:334. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "mno\000pqr" + {0; 1; 2; 3; 4; 5; 6; 7} ; +tests/non-free/memchr.c:352:[value] Frama_C_show_each_mymemchr: {3; 4} +tests/non-free/memchr.c:352:[value] Call to builtin Frama_C_memchr(({{ "mno\000pqr" + {0; 1; 2; 3; 4; 5; 6; 7} ; "MNOP\000QRS" + {0; 1; 2; 3; 4; 5; 6; 7} }}, {0},{10})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {3; 4; 7; 8} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_misc2 <- main. - Called from tests/non-free/memchr.c:341. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&maybe_init }},{0},{2})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible uninitialized values -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:342:[value] assertion got status valid. +tests/non-free/memchr.c:352:[value] Frama_C_show_each_mymemchr: {3; 4; 7; 8} +tests/non-free/memchr.c:359:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:359:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:359:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:359:[value] Call to builtin Frama_C_memchr(({{ (void const *)&maybe_init }},{0},{2})) +tests/non-free/memchr.c:359:[value] builtin Frama_C_memchr: possible uninitialized values +tests/non-free/memchr.c:359:[value] Frama_C_show_each_mymemchr: {1} +tests/non-free/memchr.c:360:[value] assertion got status valid. [value] Recording results for memchr_misc2 [value] Done for function memchr_misc2 [value] computing for function memchr_bitfields <- main. - Called from tests/non-free/memchr.c:653. -tests/non-free/memchr.c:161:[value] function memchr: precondition 'valid' got status valid. -tests/non-free/memchr.c:161:[value] warning: function memchr: precondition 'initialization' got status unknown. -tests/non-free/memchr.c:161:[value] function memchr: precondition 'danglingness' got status valid. -tests/non-free/memchr.c:161:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{3})) -tests/non-free/memchr.c:161:[value] builtin Frama_C_memchr: reading indeterminate data + Called from tests/non-free/memchr.c:671. +tests/non-free/memchr.c:181:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:181:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:181:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:181:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{3})) +tests/non-free/memchr.c:181:[value] builtin Frama_C_memchr: reading indeterminate data [value] Recording results for memchr_bitfields [value] Done for function memchr_bitfields [value] computing for function memchr_bitfields2 <- main. - Called from tests/non-free/memchr.c:654. -[value] computing for function my_memchr <- memchr_bitfields2 <- main. - Called from tests/non-free/memchr.c:178. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{3})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {2} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:179:[value] assertion got status valid. + Called from tests/non-free/memchr.c:672. +tests/non-free/memchr.c:198:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:198:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:198:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:198:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{3})) +tests/non-free/memchr.c:198:[value] Frama_C_show_each_mymemchr: {2} +tests/non-free/memchr.c:199:[value] assertion got status valid. [value] Recording results for memchr_bitfields2 [value] Done for function memchr_bitfields2 [value] computing for function memchr_escaping <- main. - Called from tests/non-free/memchr.c:655. -tests/non-free/memchr.c:255:[value] warning: locals {x} escaping the scope of a block of memchr_escaping through s -[value] computing for function my_memchr <- memchr_escaping <- main. - Called from tests/non-free/memchr.c:258. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{4})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible escaping addresses -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {0} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:259:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_escaping <- main. - Called from tests/non-free/memchr.c:261. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{4})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {0} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:262:[value] assertion got status valid. + Called from tests/non-free/memchr.c:673. +tests/non-free/memchr.c:275:[value] warning: locals {x} escaping the scope of a block of memchr_escaping through s +tests/non-free/memchr.c:278:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:278:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:278:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:278:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{4})) +tests/non-free/memchr.c:278:[value] builtin Frama_C_memchr: possible escaping addresses +tests/non-free/memchr.c:278:[value] Frama_C_show_each_mymemchr: {0} +tests/non-free/memchr.c:279:[value] assertion got status valid. +tests/non-free/memchr.c:281:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:281:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:281:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:281:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{4})) +tests/non-free/memchr.c:281:[value] Frama_C_show_each_mymemchr: {0} +tests/non-free/memchr.c:282:[value] assertion got status valid. [value] Recording results for memchr_escaping [value] Done for function memchr_escaping [value] computing for function memchr_big_array <- main. - Called from tests/non-free/memchr.c:656. -tests/non-free/memchr.c:352:[value] warning: out of bounds write. assert \valid(p); -tests/non-free/memchr.c:354:[value] warning: out of bounds write. assert \valid(p); -tests/non-free/memchr.c:356:[value] warning: out of bounds write. assert \valid(p); -[value] computing for function my_memchr <- memchr_big_array <- main. - Called from tests/non-free/memchr.c:364. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&u }},{0},{800})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible uninitialized values -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_big_array <- main. - Called from tests/non-free/memchr.c:365. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&r }},{0},{805})) -tests/non-free/memchr.c:50:[kernel] more than 200(201) locations to update in array. Approximating. -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible uninitialized values -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_big_array <- main. - Called from tests/non-free/memchr.c:366. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{0},{4000001})) -tests/non-free/memchr.c:50:[kernel] more than 200(1000000) locations to update in array. Approximating. -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible uninitialized values -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:367:[value] Frama_C_show_each: {1}, {1}, {1} -tests/non-free/memchr.c:368:[value] assertion got status valid. -tests/non-free/memchr.c:369:[value] assertion got status valid. -tests/non-free/memchr.c:370:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_big_array <- main. - Called from tests/non-free/memchr.c:372. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&u }},{0},{1600})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible uninitialized values -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_big_array <- main. - Called from tests/non-free/memchr.c:373. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&r }},{0},{1608})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible uninitialized values -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_big_array <- main. - Called from tests/non-free/memchr.c:374. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{0},{8000000})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possible uninitialized values -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:375:[value] Frama_C_show_each: {1}, {1}, {1} -tests/non-free/memchr.c:376:[value] assertion got status valid. -tests/non-free/memchr.c:377:[value] assertion got status valid. -tests/non-free/memchr.c:378:[value] assertion got status valid. + Called from tests/non-free/memchr.c:674. +tests/non-free/memchr.c:370:[value] warning: out of bounds write. assert \valid(p); +tests/non-free/memchr.c:372:[value] warning: out of bounds write. assert \valid(p); +tests/non-free/memchr.c:374:[value] warning: out of bounds write. assert \valid(p); +tests/non-free/memchr.c:382:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:382:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:382:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:382:[value] Call to builtin Frama_C_memchr(({{ (void const *)&u }},{0},{800})) +tests/non-free/memchr.c:382:[value] builtin Frama_C_memchr: possible uninitialized values +tests/non-free/memchr.c:382:[value] Frama_C_show_each_mymemchr: {1} +tests/non-free/memchr.c:383:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:383:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:383:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:383:[value] Call to builtin Frama_C_memchr(({{ (void const *)&r }},{0},{805})) +tests/non-free/memchr.c:383:[kernel] more than 200(201) locations to update in array. Approximating. +tests/non-free/memchr.c:383:[value] builtin Frama_C_memchr: possible uninitialized values +tests/non-free/memchr.c:383:[value] Frama_C_show_each_mymemchr: {1} +tests/non-free/memchr.c:384:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:384:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:384:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:384:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{0},{4000001})) +tests/non-free/memchr.c:384:[kernel] more than 200(1000000) locations to update in array. Approximating. +tests/non-free/memchr.c:384:[value] builtin Frama_C_memchr: possible uninitialized values +tests/non-free/memchr.c:384:[value] Frama_C_show_each_mymemchr: {1} +tests/non-free/memchr.c:385:[value] Frama_C_show_each: {1}, {1}, {1} +tests/non-free/memchr.c:386:[value] assertion got status valid. +tests/non-free/memchr.c:387:[value] assertion got status valid. +tests/non-free/memchr.c:388:[value] assertion got status valid. +tests/non-free/memchr.c:390:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:390:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:390:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:390:[value] Call to builtin Frama_C_memchr(({{ (void const *)&u }},{0},{1600})) +tests/non-free/memchr.c:390:[value] builtin Frama_C_memchr: possible uninitialized values +tests/non-free/memchr.c:390:[value] Frama_C_show_each_mymemchr: {1} +tests/non-free/memchr.c:391:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:391:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:391:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:391:[value] Call to builtin Frama_C_memchr(({{ (void const *)&r }},{0},{1608})) +tests/non-free/memchr.c:391:[kernel] more than 200(201) locations to update in array. Approximating. +tests/non-free/memchr.c:391:[value] builtin Frama_C_memchr: possible uninitialized values +tests/non-free/memchr.c:391:[value] Frama_C_show_each_mymemchr: {1} +tests/non-free/memchr.c:392:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:392:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:392:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:392:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{0},{8000000})) +tests/non-free/memchr.c:392:[kernel] more than 200(1000000) locations to update in array. Approximating. +tests/non-free/memchr.c:392:[value] builtin Frama_C_memchr: possible uninitialized values +tests/non-free/memchr.c:392:[value] Frama_C_show_each_mymemchr: {1} +tests/non-free/memchr.c:393:[value] Frama_C_show_each: {1}, {1}, {1} +tests/non-free/memchr.c:394:[value] assertion got status valid. +tests/non-free/memchr.c:395:[value] assertion got status valid. +tests/non-free/memchr.c:396:[value] assertion got status valid. [value] Recording results for memchr_big_array [value] Done for function memchr_big_array [value] computing for function memchr_no_zero_but_ok <- main. - Called from tests/non-free/memchr.c:657. -[value] computing for function my_memchr <- memchr_no_zero_but_ok <- main. - Called from tests/non-free/memchr.c:389. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{5})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:390:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_no_zero_but_ok <- main. - Called from tests/non-free/memchr.c:391. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{11})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {10} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:392:[value] assertion got status valid. -[value] computing for function my_memchr2 <- memchr_no_zero_but_ok <- main. - Called from tests/non-free/memchr.c:393. -tests/non-free/memchr.c:64:[value] function memchr: precondition 'valid' got status valid. -tests/non-free/memchr.c:64:[value] function memchr: precondition 'initialization' got status valid. -tests/non-free/memchr.c:64:[value] function memchr: precondition 'danglingness' got status valid. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s{[1], [8]} }},{0},{11})) -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {10} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:394:[value] assertion got status valid. -[value] computing for function my_memchr2 <- memchr_no_zero_but_ok <- main. - Called from tests/non-free/memchr.c:395. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s{[7], [11]} }},{0},{4})) -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {-1; 10; 14} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:396:[value] assertion got status valid. -[value] computing for function my_memchr2 <- memchr_no_zero_but_ok <- main. - Called from tests/non-free/memchr.c:397. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s{[7], [18]} }},{0},{5})) -tests/non-free/memchr.c:64:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {10; 18; 19} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:398:[value] assertion got status valid. + Called from tests/non-free/memchr.c:675. +tests/non-free/memchr.c:407:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:407:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:407:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:407:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{5})) +tests/non-free/memchr.c:407:[value] Frama_C_show_each_mymemchr: {-1} +tests/non-free/memchr.c:408:[value] assertion got status valid. +tests/non-free/memchr.c:409:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:409:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:409:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:409:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s }},{0},{11})) +tests/non-free/memchr.c:409:[value] Frama_C_show_each_mymemchr: {10} +tests/non-free/memchr.c:410:[value] assertion got status valid. +tests/non-free/memchr.c:411:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:411:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:411:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:411:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s{[1], [8]} }},{0},{11})) +tests/non-free/memchr.c:411:[value] Frama_C_show_each_mymemchr2: {10} +tests/non-free/memchr.c:412:[value] assertion got status valid. +tests/non-free/memchr.c:413:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:413:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:413:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:413:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s{[7], [11]} }},{0},{4})) +tests/non-free/memchr.c:413:[value] Frama_C_show_each_mymemchr2: {-1; 10; 14} +tests/non-free/memchr.c:414:[value] assertion got status valid. +tests/non-free/memchr.c:415:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:415:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:415:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:415:[value] Call to builtin Frama_C_memchr(({{ (void const *)&s{[7], [18]} }},{0},{5})) +tests/non-free/memchr.c:415:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:415:[value] Frama_C_show_each_mymemchr2: {10; 18; 19} +tests/non-free/memchr.c:416:[value] assertion got status valid. [value] Recording results for memchr_no_zero_but_ok [value] Done for function memchr_no_zero_but_ok [value] computing for function memchr_small_sets_n <- main. - Called from tests/non-free/memchr.c:658. -[value] computing for function my_memchr2 <- memchr_small_sets_n <- main. - Called from tests/non-free/memchr.c:407. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ "abcde" + {0; 1} }},{0},{2; 5})) -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {-1; 5} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:408:[value] assertion got status valid. -[value] computing for function my_memchr2 <- memchr_small_sets_n <- main. - Called from tests/non-free/memchr.c:412. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ "\000bcdef" + {0; 1} }},{0},{1; 6})) -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {-1; 0; 6} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:413:[value] assertion got status valid. -[value] computing for function my_memchr2 <- memchr_small_sets_n <- main. - Called from tests/non-free/memchr.c:416. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ "bcd\000efg" + {0; 2} }},{0},{4})) -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {3} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:417:[value] assertion got status valid. -[value] computing for function my_memchr2 <- memchr_small_sets_n <- main. - Called from tests/non-free/memchr.c:420. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ "bcd\000efg" + {0; 2} }},{0},{3; 4})) -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {-1; 3} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:421:[value] assertion got status valid. -[value] computing for function my_memchr2 <- memchr_small_sets_n <- main. - Called from tests/non-free/memchr.c:424. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ "bcd\000efg" + {0; 2} }},{0},{2; 3})) -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {-1; 3} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:425:[value] assertion got status valid. -[value] computing for function my_memchr2 <- memchr_small_sets_n <- main. - Called from tests/non-free/memchr.c:428. -tests/non-free/memchr.c:64:[value] Call to builtin Frama_C_memchr(({{ "bcd\000efg" + {2; 4} }},{0},{2; 7})) -tests/non-free/memchr.c:71:[value] Frama_C_show_each_mymemchr2: {-1; 3; 7} -[value] Recording results for my_memchr2 -[value] Done for function my_memchr2 -tests/non-free/memchr.c:429:[value] assertion got status valid. + Called from tests/non-free/memchr.c:676. +tests/non-free/memchr.c:425:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:425:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:425:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:425:[value] Call to builtin Frama_C_memchr(({{ "abcde" + {0; 1} }},{0},{2; 5})) +tests/non-free/memchr.c:425:[value] Frama_C_show_each_mymemchr2: {-1; 5} +tests/non-free/memchr.c:426:[value] assertion got status valid. +tests/non-free/memchr.c:430:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:430:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:430:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:430:[value] Call to builtin Frama_C_memchr(({{ "\000bcdef" + {0; 1} }},{0},{1; 6})) +tests/non-free/memchr.c:430:[value] Frama_C_show_each_mymemchr2: {-1; 0; 6} +tests/non-free/memchr.c:431:[value] assertion got status valid. +tests/non-free/memchr.c:434:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:434:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:434:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:434:[value] Call to builtin Frama_C_memchr(({{ "bcd\000efg" + {0; 2} }},{0},{4})) +tests/non-free/memchr.c:434:[value] Frama_C_show_each_mymemchr2: {3} +tests/non-free/memchr.c:435:[value] assertion got status valid. +tests/non-free/memchr.c:438:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:438:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:438:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:438:[value] Call to builtin Frama_C_memchr(({{ "bcd\000efg" + {0; 2} }},{0},{3; 4})) +tests/non-free/memchr.c:438:[value] Frama_C_show_each_mymemchr2: {-1; 3} +tests/non-free/memchr.c:439:[value] assertion got status valid. +tests/non-free/memchr.c:442:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:442:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:442:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:442:[value] Call to builtin Frama_C_memchr(({{ "bcd\000efg" + {0; 2} }},{0},{2; 3})) +tests/non-free/memchr.c:442:[value] Frama_C_show_each_mymemchr2: {-1; 3} +tests/non-free/memchr.c:443:[value] assertion got status valid. +tests/non-free/memchr.c:446:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:446:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:446:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:446:[value] Call to builtin Frama_C_memchr(({{ "bcd\000efg" + {2; 4} }},{0},{2; 7})) +tests/non-free/memchr.c:446:[value] Frama_C_show_each_mymemchr2: {-1; 3; 7} +tests/non-free/memchr.c:447:[value] assertion got status valid. [value] Recording results for memchr_small_sets_n [value] Done for function memchr_small_sets_n [value] computing for function memchr_large_n <- main. - Called from tests/non-free/memchr.c:659. + Called from tests/non-free/memchr.c:677. [value] computing for function init_array_nondet <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:436. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a }},{1; 2},{100})) + Called from tests/non-free/memchr.c:454. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a }},{1; 2},{100})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function Frama_C_interval <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:441. -tests/non-free/memchr.c:441:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:459. +tests/non-free/memchr.c:459:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:442. -tests/non-free/memchr.c:442:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:460. +tests/non-free/memchr.c:460:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:443. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [3..30] }},{0},[10..20])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:461:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:461:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:461:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:461:[value] Call to builtin Frama_C_memchr(({{ &a + [3..30] }},{0},[10..20])) +tests/non-free/memchr.c:461:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..40] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:444:[value] assertion got status valid. -tests/non-free/memchr.c:445:[value] warning: assertion 'refined' got status unknown. -[value] computing for function my_memchr <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:449. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [3..30] }},{0},[10..20])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:461:[value] Frama_C_show_each_mymemchr: [-1..40] +tests/non-free/memchr.c:462:[value] assertion got status valid. +tests/non-free/memchr.c:463:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:467:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:467:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:467:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:467:[value] Call to builtin Frama_C_memchr(({{ &a + [3..30] }},{0},[10..20])) +tests/non-free/memchr.c:467:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..40] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:450:[value] assertion got status valid. -tests/non-free/memchr.c:451:[value] warning: assertion 'refined' got status unknown. -[value] computing for function my_memchr <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:454. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [3..30] }},{0},[10..20])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:467:[value] Frama_C_show_each_mymemchr: [-1..40] +tests/non-free/memchr.c:468:[value] assertion got status valid. +tests/non-free/memchr.c:469:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:472:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:472:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:472:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:472:[value] Call to builtin Frama_C_memchr(({{ &a + [3..30] }},{0},[10..20])) +tests/non-free/memchr.c:472:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..29] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:455:[value] assertion got status valid. -tests/non-free/memchr.c:456:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:472:[value] Frama_C_show_each_mymemchr: [-1..29] +tests/non-free/memchr.c:473:[value] assertion got status valid. +tests/non-free/memchr.c:474:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:458. -tests/non-free/memchr.c:458:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:476. +tests/non-free/memchr.c:476:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:459. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [5..17] }},{0},[10..20])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:477:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:477:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:477:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:477:[value] Call to builtin Frama_C_memchr(({{ &a + [5..17] }},{0},[10..20])) +tests/non-free/memchr.c:477:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..29] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:460:[value] assertion got status valid. -tests/non-free/memchr.c:461:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:477:[value] Frama_C_show_each_mymemchr: [-1..29] +tests/non-free/memchr.c:478:[value] assertion got status valid. +tests/non-free/memchr.c:479:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:463. -tests/non-free/memchr.c:463:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:481. +tests/non-free/memchr.c:481:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:464. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [60..74] }},{0},[10..20])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:482:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:482:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:482:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:482:[value] Call to builtin Frama_C_memchr(({{ &a + [60..74] }},{0},[10..20])) +tests/non-free/memchr.c:482:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..75] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:465:[value] assertion got status valid. -tests/non-free/memchr.c:466:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:482:[value] Frama_C_show_each_mymemchr: [-1..75] +tests/non-free/memchr.c:483:[value] assertion got status valid. +tests/non-free/memchr.c:484:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:468. -tests/non-free/memchr.c:468:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:486. +tests/non-free/memchr.c:486:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:469. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [63..80] }},{0},[10..20])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:487:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:487:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:487:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:487:[value] Call to builtin Frama_C_memchr(({{ &a + [63..80] }},{0},[10..20])) +tests/non-free/memchr.c:487:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..79] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:470:[value] assertion got status valid. -tests/non-free/memchr.c:471:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:487:[value] Frama_C_show_each_mymemchr: [-1..79] +tests/non-free/memchr.c:488:[value] assertion got status valid. +tests/non-free/memchr.c:489:[value] warning: assertion 'refined' got status unknown. [value] computing for function init_array_nondet <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:473. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a }},{0; 2},{100})) + Called from tests/non-free/memchr.c:491. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a }},{0; 2},{100})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function Frama_C_interval <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:474. -tests/non-free/memchr.c:474:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:492. +tests/non-free/memchr.c:492:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:475. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [50..70] }},{0},[10..20])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:493:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:493:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:493:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:493:[value] Call to builtin Frama_C_memchr(({{ &a + [50..70] }},{0},[10..20])) +tests/non-free/memchr.c:493:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..89] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:476:[value] assertion got status valid. +tests/non-free/memchr.c:493:[value] Frama_C_show_each_mymemchr: [-1..89] +tests/non-free/memchr.c:494:[value] assertion got status valid. [value] computing for function Frama_C_interval <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:478. -tests/non-free/memchr.c:478:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:496. +tests/non-free/memchr.c:496:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:479. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [50..70] }},{0},[0..100])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:497:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:497:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:497:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:497:[value] Call to builtin Frama_C_memchr(({{ &a + [50..70] }},{0},[0..100])) +tests/non-free/memchr.c:497:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..99] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:480:[value] assertion got status valid. +tests/non-free/memchr.c:497:[value] Frama_C_show_each_mymemchr: [-1..99] +tests/non-free/memchr.c:498:[value] assertion got status valid. [value] computing for function Frama_C_interval <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:482. -tests/non-free/memchr.c:482:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:500. +tests/non-free/memchr.c:500:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:483. -tests/non-free/memchr.c:483:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:501. +tests/non-free/memchr.c:501:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_large_n <- main. - Called from tests/non-free/memchr.c:484. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [0..10] }},{0},[0..90])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:502:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:502:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:502:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:502:[value] Call to builtin Frama_C_memchr(({{ &a + [0..10] }},{0},[0..90])) +tests/non-free/memchr.c:502:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..99] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:485:[value] assertion got status valid. +tests/non-free/memchr.c:502:[value] Frama_C_show_each_mymemchr: [-1..99] +tests/non-free/memchr.c:503:[value] assertion got status valid. [value] Recording results for memchr_large_n [value] Done for function memchr_large_n [value] computing for function memchr_unbounded_n <- main. - Called from tests/non-free/memchr.c:660. -[value] computing for function my_memchr <- memchr_unbounded_n <- main. - Called from tests/non-free/memchr.c:494. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc" }},{0},[0..2147483647])) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:495:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_unbounded_n <- main. - Called from tests/non-free/memchr.c:497. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{0},[0..2147483647])) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:498:[value] assertion got status valid. -[value] computing for function my_memchr <- memchr_unbounded_n <- main. - Called from tests/non-free/memchr.c:500. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "bcd\000eg" }},{0},[0..2147483647])) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:501:[value] assertion got status valid. + Called from tests/non-free/memchr.c:678. +tests/non-free/memchr.c:512:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:512:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:512:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:512:[value] Call to builtin Frama_C_memchr(({{ "abc" }},{0},[0..2147483647])) +tests/non-free/memchr.c:512:[value] Frama_C_show_each_mymemchr: {-1; 3} +tests/non-free/memchr.c:513:[value] assertion got status valid. +tests/non-free/memchr.c:515:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:515:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:515:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:515:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{0},[0..2147483647])) +tests/non-free/memchr.c:515:[value] Frama_C_show_each_mymemchr: {-1; 3} +tests/non-free/memchr.c:516:[value] assertion got status valid. +tests/non-free/memchr.c:518:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:518:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:518:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:518:[value] Call to builtin Frama_C_memchr(({{ "bcd\000eg" }},{0},[0..2147483647])) +tests/non-free/memchr.c:518:[value] Frama_C_show_each_mymemchr: {-1; 3} +tests/non-free/memchr.c:519:[value] assertion got status valid. [value] Recording results for memchr_unbounded_n [value] Done for function memchr_unbounded_n [value] computing for function memchr_intervals <- main. - Called from tests/non-free/memchr.c:661. + Called from tests/non-free/memchr.c:679. [value] computing for function init_array_nondet <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:508. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a }},{0; 1},{10})) + Called from tests/non-free/memchr.c:526. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a }},{0; 1},{10})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function init_array_nondet <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:509. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a[3] }},{1},{4})) + Called from tests/non-free/memchr.c:527. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a[3] }},{1},{4})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function init_array_nondet <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:510. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a[11] }},{0; 1},{1})) + Called from tests/non-free/memchr.c:528. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a[11] }},{0; 1},{1})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function init_array_nondet <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:511. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a[12] }},{1},{4})) + Called from tests/non-free/memchr.c:529. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a[12] }},{1},{4})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function init_array_nondet <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:512. -tests/non-free/memchr.c:184:[value] Call to builtin memset(({{ (void *)&a[16] }},{0; 1},{4})) + Called from tests/non-free/memchr.c:530. +tests/non-free/memchr.c:204:[value] Call to builtin memset(({{ (void *)&a[16] }},{0; 1},{4})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:514. -tests/non-free/memchr.c:514:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:532. +tests/non-free/memchr.c:532:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:515. -tests/non-free/memchr.c:515:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:533. +tests/non-free/memchr.c:533:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:516. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [0..9] }},{0},[0..10])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:534:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:534:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:534:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:534:[value] Call to builtin Frama_C_memchr(({{ &a + [0..9] }},{0},[0..10])) +tests/non-free/memchr.c:534:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..9] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:517:[value] assertion got status valid. -tests/non-free/memchr.c:518:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:534:[value] Frama_C_show_each_mymemchr: [-1..9] +tests/non-free/memchr.c:535:[value] assertion got status valid. +tests/non-free/memchr.c:536:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:520. -tests/non-free/memchr.c:520:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:538. +tests/non-free/memchr.c:538:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:521. -tests/non-free/memchr.c:521:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:539. +tests/non-free/memchr.c:539:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:522. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&a{[3], [4], [5], [6], [7], +tests/non-free/memchr.c:540:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:540:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:540:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:540:[value] Call to builtin Frama_C_memchr(({{ (void const *)&a{[3], [4], [5], [6], [7], [8], [9]} }},{0},[2..10])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 7; 8; 9} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:523:[value] assertion got status valid. +tests/non-free/memchr.c:540:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:540:[value] Frama_C_show_each_mymemchr: {-1; 7; 8; 9} +tests/non-free/memchr.c:541:[value] assertion got status valid. [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:525. -tests/non-free/memchr.c:525:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:543. +tests/non-free/memchr.c:543:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:526. -tests/non-free/memchr.c:526:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:544. +tests/non-free/memchr.c:544:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:527. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&a{[3], [4], [5], [6], [7], +tests/non-free/memchr.c:545:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:545:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:545:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:545:[value] Call to builtin Frama_C_memchr(({{ (void const *)&a{[3], [4], [5], [6], [7], [8], [9]} }},{0},[0..11])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 7; 8; 9} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:528:[value] assertion got status valid. +tests/non-free/memchr.c:545:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:545:[value] Frama_C_show_each_mymemchr: {-1; 7; 8; 9} +tests/non-free/memchr.c:546:[value] assertion got status valid. [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:530. -tests/non-free/memchr.c:530:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:548. +tests/non-free/memchr.c:548:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:531. -tests/non-free/memchr.c:531:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:549. +tests/non-free/memchr.c:549:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:532. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&a{[3], [4], [5], [6], [7], +tests/non-free/memchr.c:550:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:550:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:550:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:550:[value] Call to builtin Frama_C_memchr(({{ (void const *)&a{[3], [4], [5], [6], [7], [8], [9], [10]} }}, {0},[0..9])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 7; 8; 9} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:533:[value] assertion got status valid. +tests/non-free/memchr.c:550:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:550:[value] Frama_C_show_each_mymemchr: {-1; 7; 8; 9} +tests/non-free/memchr.c:551:[value] assertion got status valid. [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:535. -tests/non-free/memchr.c:535:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:553. +tests/non-free/memchr.c:553:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:536. -tests/non-free/memchr.c:536:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:554. +tests/non-free/memchr.c:554:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:537. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&a{[3], [4], [5], [6], [7], +tests/non-free/memchr.c:555:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:555:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:555:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:555:[value] Call to builtin Frama_C_memchr(({{ (void const *)&a{[3], [4], [5], [6], [7], [8], [9], [10]} }}, {0},[0..10])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 7; 8; 9} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:538:[value] assertion got status valid. +tests/non-free/memchr.c:555:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:555:[value] Frama_C_show_each_mymemchr: {-1; 7; 8; 9} +tests/non-free/memchr.c:556:[value] assertion got status valid. [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:540. -tests/non-free/memchr.c:540:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:558. +tests/non-free/memchr.c:558:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:541. -tests/non-free/memchr.c:541:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:559. +tests/non-free/memchr.c:559:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:542. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&a{[3], [4], [5], [6], [7], +tests/non-free/memchr.c:560:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:560:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:560:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:560:[value] Call to builtin Frama_C_memchr(({{ (void const *)&a{[3], [4], [5], [6], [7], [8], [9], [10]} }}, {0},[0..11])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 7; 8; 9} -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:543:[value] assertion got status valid. +tests/non-free/memchr.c:560:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:560:[value] Frama_C_show_each_mymemchr: {-1; 7; 8; 9} +tests/non-free/memchr.c:561:[value] assertion got status valid. [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:545. -tests/non-free/memchr.c:545:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:563. +tests/non-free/memchr.c:563:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:546. -tests/non-free/memchr.c:546:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:564. +tests/non-free/memchr.c:564:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:547. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [3..11] }},{0},[0..10])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:565:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:565:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:565:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:565:[value] Call to builtin Frama_C_memchr(({{ &a + [3..11] }},{0},[0..10])) +tests/non-free/memchr.c:565:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..19] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:548:[value] assertion got status valid. +tests/non-free/memchr.c:565:[value] Frama_C_show_each_mymemchr: [-1..19] +tests/non-free/memchr.c:566:[value] assertion got status valid. [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:550. -tests/non-free/memchr.c:550:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:568. +tests/non-free/memchr.c:568:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:551. -tests/non-free/memchr.c:551:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:569. +tests/non-free/memchr.c:569:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:552. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [3..11] }},{0},[0..10])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:570:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:570:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:570:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:570:[value] Call to builtin Frama_C_memchr(({{ &a + [3..11] }},{0},[0..10])) +tests/non-free/memchr.c:570:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..19] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:553:[value] assertion got status valid. +tests/non-free/memchr.c:570:[value] Frama_C_show_each_mymemchr: [-1..19] +tests/non-free/memchr.c:571:[value] assertion got status valid. [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:555. -tests/non-free/memchr.c:555:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:573. +tests/non-free/memchr.c:573:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval [value] computing for function Frama_C_interval <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:556. -tests/non-free/memchr.c:556:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/memchr.c:574. +tests/non-free/memchr.c:574:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_memchr <- memchr_intervals <- main. - Called from tests/non-free/memchr.c:557. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ &a + [3..11] }},{0},[0..11])) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: +tests/non-free/memchr.c:575:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:575:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:575:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:575:[value] Call to builtin Frama_C_memchr(({{ &a + [3..11] }},{0},[0..11])) +tests/non-free/memchr.c:575:[value] builtin Frama_C_memchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: [-1..19] -[value] Recording results for my_memchr -[value] Done for function my_memchr -tests/non-free/memchr.c:558:[value] assertion got status valid. +tests/non-free/memchr.c:575:[value] Frama_C_show_each_mymemchr: [-1..19] +tests/non-free/memchr.c:576:[value] assertion got status valid. [value] Recording results for memchr_intervals [value] Done for function memchr_intervals [value] computing for function memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:662. -tests/non-free/memchr.c:589:[value] Frama_C_show_each_c: {97} + Called from tests/non-free/memchr.c:680. +tests/non-free/memchr.c:607:[value] Frama_C_show_each_c: {97} [value] computing for function memchr_small_sets_no_assertions <- memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:590. -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:566. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{97},{4})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {0} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:569. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{97},{3})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:571. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "" }},{97},{0})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:574. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{97},{2})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:578. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{97},{4})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} -[value] Recording results for my_memchr -[value] Done for function my_memchr + Called from tests/non-free/memchr.c:608. +tests/non-free/memchr.c:584:[value] warning: function memchr: precondition 'valid' got status unknown. +tests/non-free/memchr.c:584:[value] warning: function memchr: precondition 'initialization' got status unknown. +tests/non-free/memchr.c:584:[value] warning: function memchr: precondition 'danglingness' got status unknown. +tests/non-free/memchr.c:584:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{97},{4})) +tests/non-free/memchr.c:584:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:584:[value] Frama_C_show_each_mymemchr: {0} +tests/non-free/memchr.c:587:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:587:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:587:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:587:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{97},{3})) +tests/non-free/memchr.c:587:[value] Frama_C_show_each_mymemchr: {-1} +tests/non-free/memchr.c:589:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:589:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:589:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:589:[value] Call to builtin Frama_C_memchr(({{ "" }},{97},{0})) +tests/non-free/memchr.c:589:[value] Frama_C_show_each_mymemchr: {-1} +tests/non-free/memchr.c:592:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:592:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:592:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:592:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{97},{2})) +tests/non-free/memchr.c:592:[value] Frama_C_show_each_mymemchr: {-1} +tests/non-free/memchr.c:596:[value] function memchr: precondition 'valid' got status valid. +tests/non-free/memchr.c:596:[value] function memchr: precondition 'initialization' got status valid. +tests/non-free/memchr.c:596:[value] function memchr: precondition 'danglingness' got status valid. +tests/non-free/memchr.c:596:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{97},{4})) +tests/non-free/memchr.c:596:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} [value] Recording results for memchr_small_sets_no_assertions [value] Done for function memchr_small_sets_no_assertions -tests/non-free/memchr.c:591:[value] Frama_C_show_each_res: {0}, {-1}, {-1}, {-1}, {-1; 0; 1} -tests/non-free/memchr.c:592:[value] assertion got status valid. -tests/non-free/memchr.c:593:[value] assertion got status valid. -tests/non-free/memchr.c:594:[value] assertion got status valid. -tests/non-free/memchr.c:595:[value] assertion got status valid. -tests/non-free/memchr.c:596:[value] assertion got status valid. -tests/non-free/memchr.c:599:[value] Frama_C_show_each_c: {98} +tests/non-free/memchr.c:609:[value] Frama_C_show_each_res: {0}, {-1}, {-1}, {-1}, {-1; 0; 1} +tests/non-free/memchr.c:610:[value] assertion got status valid. +tests/non-free/memchr.c:611:[value] assertion got status valid. +tests/non-free/memchr.c:612:[value] assertion got status valid. +tests/non-free/memchr.c:613:[value] assertion got status valid. +tests/non-free/memchr.c:614:[value] assertion got status valid. +tests/non-free/memchr.c:617:[value] Frama_C_show_each_c: {98} [value] computing for function memchr_small_sets_no_assertions <- memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:600. -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:566. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{98},{4})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:569. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{98},{3})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:571. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "" }},{98},{0})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:574. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{98},{2})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:578. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{98},{4})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} -[value] Recording results for my_memchr -[value] Done for function my_memchr + Called from tests/non-free/memchr.c:618. +tests/non-free/memchr.c:584:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{98},{4})) +tests/non-free/memchr.c:584:[value] Frama_C_show_each_mymemchr: {1} +tests/non-free/memchr.c:587:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{98},{3})) +tests/non-free/memchr.c:587:[value] Frama_C_show_each_mymemchr: {1} +tests/non-free/memchr.c:589:[value] Call to builtin Frama_C_memchr(({{ "" }},{98},{0})) +tests/non-free/memchr.c:589:[value] Frama_C_show_each_mymemchr: {-1} +tests/non-free/memchr.c:592:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{98},{2})) +tests/non-free/memchr.c:592:[value] Frama_C_show_each_mymemchr: {-1; 0} +tests/non-free/memchr.c:596:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{98},{4})) +tests/non-free/memchr.c:596:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} [value] Recording results for memchr_small_sets_no_assertions [value] Done for function memchr_small_sets_no_assertions -tests/non-free/memchr.c:601:[value] Frama_C_show_each_res: {1}, {1}, {-1}, {-1; 0}, {-1; 0; 1} -tests/non-free/memchr.c:602:[value] assertion got status valid. -tests/non-free/memchr.c:603:[value] assertion got status valid. -tests/non-free/memchr.c:604:[value] assertion got status valid. -tests/non-free/memchr.c:605:[value] assertion got status valid. -tests/non-free/memchr.c:606:[value] assertion got status valid. -tests/non-free/memchr.c:609:[value] Frama_C_show_each_c: {97; 98} +tests/non-free/memchr.c:619:[value] Frama_C_show_each_res: {1}, {1}, {-1}, {-1; 0}, {-1; 0; 1} +tests/non-free/memchr.c:620:[value] assertion got status valid. +tests/non-free/memchr.c:621:[value] assertion got status valid. +tests/non-free/memchr.c:622:[value] assertion got status valid. +tests/non-free/memchr.c:623:[value] assertion got status valid. +tests/non-free/memchr.c:624:[value] assertion got status valid. +tests/non-free/memchr.c:627:[value] Frama_C_show_each_c: {97; 98} [value] computing for function memchr_small_sets_no_assertions <- memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:610. -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:566. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{97; 98},{4})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:569. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{97; 98},{3})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:571. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "" }},{97; 98},{0})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:574. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{97; 98},{2})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:578. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{97; 98},{4})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} -[value] Recording results for my_memchr -[value] Done for function my_memchr + Called from tests/non-free/memchr.c:628. +tests/non-free/memchr.c:584:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{97; 98},{4})) +tests/non-free/memchr.c:584:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:584:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} +tests/non-free/memchr.c:587:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{97; 98},{3})) +tests/non-free/memchr.c:587:[value] Frama_C_show_each_mymemchr: {-1; 1} +tests/non-free/memchr.c:589:[value] Call to builtin Frama_C_memchr(({{ "" }},{97; 98},{0})) +tests/non-free/memchr.c:589:[value] Frama_C_show_each_mymemchr: {-1} +tests/non-free/memchr.c:592:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{97; 98},{2})) +tests/non-free/memchr.c:592:[value] Frama_C_show_each_mymemchr: {-1; 0} +tests/non-free/memchr.c:596:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{97; 98},{4})) +tests/non-free/memchr.c:596:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} [value] Recording results for memchr_small_sets_no_assertions [value] Done for function memchr_small_sets_no_assertions -tests/non-free/memchr.c:611:[value] Frama_C_show_each_res: {-1; 0; 1}, {-1; 1}, {-1}, {-1; 0}, {-1; 0; 1} -tests/non-free/memchr.c:612:[value] assertion got status valid. -tests/non-free/memchr.c:613:[value] warning: assertion 'refined' got status unknown. -tests/non-free/memchr.c:614:[value] assertion got status valid. -tests/non-free/memchr.c:615:[value] assertion got status valid. -tests/non-free/memchr.c:616:[value] assertion got status valid. -tests/non-free/memchr.c:617:[value] assertion got status valid. -tests/non-free/memchr.c:620:[value] Frama_C_show_each_c: {98; 99} +tests/non-free/memchr.c:629:[value] Frama_C_show_each_res: {-1; 0; 1}, {-1; 1}, {-1}, {-1; 0}, {-1; 0; 1} +tests/non-free/memchr.c:630:[value] assertion got status valid. +tests/non-free/memchr.c:631:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:632:[value] assertion got status valid. +tests/non-free/memchr.c:633:[value] assertion got status valid. +tests/non-free/memchr.c:634:[value] assertion got status valid. +tests/non-free/memchr.c:635:[value] assertion got status valid. +tests/non-free/memchr.c:638:[value] Frama_C_show_each_c: {98; 99} [value] computing for function memchr_small_sets_no_assertions <- memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:621. -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:566. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{98; 99},{4})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 1; 2} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:569. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{98; 99},{3})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 1; 2} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:571. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "" }},{98; 99},{0})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:574. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{98; 99},{2})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0; 2} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:578. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{98; 99},{4})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} -[value] Recording results for my_memchr -[value] Done for function my_memchr + Called from tests/non-free/memchr.c:639. +tests/non-free/memchr.c:584:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{98; 99},{4})) +tests/non-free/memchr.c:584:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:584:[value] Frama_C_show_each_mymemchr: {-1; 1; 2} +tests/non-free/memchr.c:587:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{98; 99},{3})) +tests/non-free/memchr.c:587:[value] Frama_C_show_each_mymemchr: {-1; 1; 2} +tests/non-free/memchr.c:589:[value] Call to builtin Frama_C_memchr(({{ "" }},{98; 99},{0})) +tests/non-free/memchr.c:589:[value] Frama_C_show_each_mymemchr: {-1} +tests/non-free/memchr.c:592:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{98; 99},{2})) +tests/non-free/memchr.c:592:[value] Frama_C_show_each_mymemchr: {-1; 0; 2} +tests/non-free/memchr.c:596:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{98; 99},{4})) +tests/non-free/memchr.c:596:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} [value] Recording results for memchr_small_sets_no_assertions [value] Done for function memchr_small_sets_no_assertions -tests/non-free/memchr.c:622:[value] Frama_C_show_each_res: {-1; 1; 2}, {-1; 1; 2}, {-1}, {-1; 0; 2}, {-1; 0; 1} -tests/non-free/memchr.c:623:[value] assertion got status valid. -tests/non-free/memchr.c:624:[value] warning: assertion 'refined' got status unknown. -tests/non-free/memchr.c:625:[value] assertion got status valid. -tests/non-free/memchr.c:626:[value] warning: assertion 'refined' got status unknown. -tests/non-free/memchr.c:627:[value] assertion got status valid. -tests/non-free/memchr.c:628:[value] assertion got status valid. -tests/non-free/memchr.c:629:[value] assertion got status valid. -tests/non-free/memchr.c:632:[value] Frama_C_show_each_c: {0; 98; 99} +tests/non-free/memchr.c:640:[value] Frama_C_show_each_res: {-1; 1; 2}, {-1; 1; 2}, {-1}, {-1; 0; 2}, {-1; 0; 1} +tests/non-free/memchr.c:641:[value] assertion got status valid. +tests/non-free/memchr.c:642:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:643:[value] assertion got status valid. +tests/non-free/memchr.c:644:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:645:[value] assertion got status valid. +tests/non-free/memchr.c:646:[value] assertion got status valid. +tests/non-free/memchr.c:647:[value] assertion got status valid. +tests/non-free/memchr.c:650:[value] Frama_C_show_each_c: {0; 98; 99} [value] computing for function memchr_small_sets_no_assertions <- memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:633. -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:566. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{0; 98; 99},{4})) -tests/non-free/memchr.c:50:[value] builtin Frama_C_memchr: possibly reading indeterminate data -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 1; 2; 3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:569. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{0; 98; 99},{3})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0; 1; 2; 3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:571. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "" }},{0; 98; 99},{0})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:574. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{0; 98; 99},{2})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0; 1; 2; 3} -[value] Recording results for my_memchr -[value] Done for function my_memchr -[value] computing for function my_memchr <- memchr_small_sets_no_assertions <- - memchr_small_sets_chars <- main. - Called from tests/non-free/memchr.c:578. -tests/non-free/memchr.c:50:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{0; 98; 99},{4})) -tests/non-free/memchr.c:57:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} -[value] Recording results for my_memchr -[value] Done for function my_memchr + Called from tests/non-free/memchr.c:651. +tests/non-free/memchr.c:584:[value] Call to builtin Frama_C_memchr(({{ "abc" + {0; 1} }},{0; 98; 99},{4})) +tests/non-free/memchr.c:584:[value] builtin Frama_C_memchr: possibly reading indeterminate data +tests/non-free/memchr.c:584:[value] Frama_C_show_each_mymemchr: {-1; 1; 2; 3} +tests/non-free/memchr.c:587:[value] Call to builtin Frama_C_memchr(({{ "\000bc" + {0; 1} }},{0; 98; 99},{3})) +tests/non-free/memchr.c:587:[value] Frama_C_show_each_mymemchr: {-1; 0; 1; 2; 3} +tests/non-free/memchr.c:589:[value] Call to builtin Frama_C_memchr(({{ "" }},{0; 98; 99},{0})) +tests/non-free/memchr.c:589:[value] Frama_C_show_each_mymemchr: {-1} +tests/non-free/memchr.c:592:[value] Call to builtin Frama_C_memchr(({{ "b\000c" + {0; 2} }},{0; 98; 99},{2})) +tests/non-free/memchr.c:592:[value] Frama_C_show_each_mymemchr: {-1; 0; 1; 2; 3} +tests/non-free/memchr.c:596:[value] Call to builtin Frama_C_memchr(({{ (void const *)&t }},{0; 98; 99},{4})) +tests/non-free/memchr.c:596:[value] Frama_C_show_each_mymemchr: {-1; 0; 1} [value] Recording results for memchr_small_sets_no_assertions [value] Done for function memchr_small_sets_no_assertions -tests/non-free/memchr.c:634:[value] Frama_C_show_each_res: +tests/non-free/memchr.c:652:[value] Frama_C_show_each_res: {-1; 1; 2; 3}, {-1; 0; 1; 2; 3}, {-1}, {-1; 0; 1; 2; 3}, {-1; 0; 1} -tests/non-free/memchr.c:635:[value] assertion got status valid. -tests/non-free/memchr.c:636:[value] warning: assertion 'refined' got status unknown. -tests/non-free/memchr.c:637:[value] assertion got status valid. -tests/non-free/memchr.c:638:[value] warning: assertion 'refined' got status unknown. -tests/non-free/memchr.c:639:[value] assertion got status valid. -tests/non-free/memchr.c:640:[value] assertion got status valid. -tests/non-free/memchr.c:641:[value] assertion got status valid. +tests/non-free/memchr.c:653:[value] assertion got status valid. +tests/non-free/memchr.c:654:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:655:[value] assertion got status valid. +tests/non-free/memchr.c:656:[value] warning: assertion 'refined' got status unknown. +tests/non-free/memchr.c:657:[value] assertion got status valid. +tests/non-free/memchr.c:658:[value] assertion got status valid. +tests/non-free/memchr.c:659:[value] assertion got status valid. [value] Recording results for memchr_small_sets_chars [value] Done for function memchr_small_sets_chars [value] Recording results for main [value] done for function main [value] ====== VALUES COMPUTED ====== -[value:final-states] Values at end of function memchr_bitfields: - c ∈ {0} - s.a ∈ {3} - .b ∈ {1} - .[bits 16 to 31] ∈ UNINITIALIZED - .c ∈ {7} - .[bits 49 to 63] ∈ UNINITIALIZED - p ∈ {{ (char *)&s }} -[value:final-states] Values at end of function init_array_nondet: - from ∈ {-1} - to ∈ {-1} - val1 ∈ {-1} - val2 ∈ {-1} - val ∈ {0; 1; 2; 3; 4} - a[0..99] ∈ {0; 1; 2} - a[0..39] ∈ {1; 2} - [40..49] ∈ UNINITIALIZED - [50..94] ∈ {3; 4} or UNINITIALIZED - [95..99] ∈ UNINITIALIZED - a[0..99] ∈ {0; 1; 2} - a[0..9] ∈ {0; 1} - [10] ∈ UNINITIALIZED - [11] ∈ {0; 1} or UNINITIALIZED - [12..15] ∈ {1} or UNINITIALIZED - [16..19] ∈ {0; 1} or UNINITIALIZED - [20..99] ∈ UNINITIALIZED -[value:final-states] Values at end of function my_memchr: - s ∈ - {{ &t[0] ; &empty_or_non_terminated[0] ; &non_terminated[0] ; - &empty_or_uninitialized[0] ; &s[0] ; &t[0] ; (char const *)&s ; - &a[0] ; &a[0] ; &s[0] ; &maybe_init[0] ; (char const *)&u ; - (char const *)&r ; (char const *)&t ; &s[0] ; &a[0] ; &a[0] ; &t[0] ; - "" ; "a" ; "aa" ; "aaa" ; "aaaa" ; "aaaaa" ; "aaaaaa" ; "aaaaaaaaa" ; - "aaaaaaaaaa" ; "aaaaaaaaaaa" ; "aaaaaaaaaaaa" ; "aaaaaaaaaaaaa" ; - "abc" ; "\000bc" ; "" ; "b\000c" ; "Hello World\n" ; - "abc\000\000\000abc" ; "Bonjour Monde\n" ; "mno\000pqr" ; - "MNOP\000QRS" ; "abc" ; "bcd\000eg" ; "abc" ; "\000bc" ; "" ; - "b\000c" }} - ss ∈ - {{ NULL ; &t{[0], [1]} ; &empty_or_non_terminated[0] ; - &empty_or_uninitialized[0] ; &s[1] ; &t[3] ; &s + {2} ; &a + [0..99] ; - &a + [0..79] ; &s[0] ; &maybe_init[1] ; &u + {1} ; &r + {1} ; - &t + {1} ; &s[10] ; &a + [0..99] ; &a + [0..19] ; &t{[0], [1]} ; - "" ; "a" + {1} ; "aa" + {2} ; "aaa" + {3} ; "aaaa" + {4} ; - "aaaaa" + {5} ; "aaaaaa" + {6} ; "aaaaaaaaa" + {9} ; - "aaaaaaaaaa" + {10} ; "aaaaaaaaaaa" + {11} ; "aaaaaaaaaaaa" + {12} ; - "aaaaaaaaaaaaa" + {13} ; "abc" + {3} ; "\000bc" + {0; 3} ; - "b\000c" + {1; 3} ; "Hello World\n" + {12} ; - "abc\000\000\000abc" + {3; 4; 5; 9} ; "Bonjour Monde\n" + {14} ; - "mno\000pqr" + {3; 7} ; "MNOP\000QRS" + {4; 8} ; "abc" + {3} ; - "bcd\000eg" + {3} ; "abc" + {0; 1; 2; 3} ; "\000bc" + {0; 1; 2; 3} ; - "b\000c" + {0; 1; 2; 3} }} - res ∈ [-1..99] [value:final-states] Values at end of function memchr_big_array: c ∈ {0} u[0..199] ∈ {270729319} or UNINITIALIZED @@ -1343,6 +1078,14 @@ tests/non-free/memchr.c:641:[value] assertion got status valid. len_u ∈ {1} len_r ∈ {1} len_t ∈ {1} +[value:final-states] Values at end of function memchr_bitfields: + c ∈ {0} + s.a ∈ {3} + .b ∈ {1} + .[bits 16 to 31] ∈ UNINITIALIZED + .c ∈ {7} + .[bits 49 to 63] ∈ UNINITIALIZED + p ∈ {{ (char *)&s }} [value:final-states] Values at end of function memchr_bitfields2: c ∈ {0} s.a ∈ {3} @@ -1368,6 +1111,133 @@ tests/non-free/memchr.c:641:[value] assertion got status valid. [2] ∈ {10} or UNINITIALIZED [3] ∈ {0} z3 ∈ {3} +[value:final-states] Values at end of function memchr_misc: + c ∈ {0} + loc_str ∈ {{ "Bonjour Monde\n" }} + loc_char_array[0..2] ∈ UNINITIALIZED + [3] ∈ {0} + [4] ∈ UNINITIALIZED + x ∈ {-1412567296} + str ∈ {{ (char *)&x }} + unterminated_string[0] ∈ {117} + [1] ∈ {110} + [2] ∈ {116} + [3] ∈ {101} + [4] ∈ {114} + [5] ∈ {109} + [6] ∈ {105} + [7] ∈ {110} + [8] ∈ {97} + [9] ∈ {116} + [10] ∈ {101} + [11] ∈ {100} + sz1 ∈ {12; 14} + sz2 ∈ {0} + sz4a ∈ {3} + sz4b ∈ {4} + sz4c ∈ {5} + sz4d ∈ {9} + static_str ∈ {{ "Hello World\n" }} + zero_str ∈ {{ "abc\000\000\000abc" }} +[value:final-states] Values at end of function memchr_misc2: + c ∈ {0} + s1 ∈ {{ "mno\000pqr" ; "MNOP\000QRS" }} + sz5 ∈ {3; 4} + sz6 ∈ {3; 4} + maybe_init[0] ∈ {65} or UNINITIALIZED + [1] ∈ {0} + sz8 ∈ {1} +[value:final-states] Values at end of function memchr_misc_array: + Frama_C_entropy_source ∈ [--..--] + c ∈ {0} + i ∈ [0..11] + sz3 ∈ [0..13] +[value:final-states] Values at end of function memchr_no_zero_but_ok: + c ∈ {0} + s[0..9] ∈ {1} + [10] ∈ {0} + [11..13] ∈ {1} + [14..19] ∈ {0; 1} + z1 ∈ {-1} + z2 ∈ {10} + z3 ∈ {10} + z4 ∈ {-1; 10; 14} + z5 ∈ {10; 18; 19} +[value:final-states] Values at end of function memchr_small_sets: + c ∈ {0} + s ∈ {{ "b\000c" }} + o ∈ {0; 2} + z1 ∈ {3} + z2 ∈ {0; 3} + z3 ∈ {-1} + z4 ∈ {1; 3} + t[0..1] ∈ {0; 1} + [2..3] ∈ {1} + z5 ∈ {-1; 0; 1} +[value:final-states] Values at end of function memchr_small_sets_n: + c ∈ {0} + s ∈ {{ "bcd\000efg" }} + n ∈ {2; 7} + z1 ∈ {-1; 5} + z2 ∈ {-1; 0; 6} + z3a ∈ {3} + z3b ∈ {-1; 3} + z3 ∈ {-1; 3} + z4 ∈ {-1; 3; 7} +[value:final-states] Values at end of function memchr_small_sets_no_assertions: + s ∈ {{ "b\000c" }} + o ∈ {0; 2} + t[0..1] ∈ {0; 1; 97; 98; 99} + [2..3] ∈ {1} + res[0..1] ∈ {-1; 0; 1; 2; 3} + [2] ∈ {-1} + [3] ∈ {-1; 0; 1; 2; 3} + [4] ∈ {-1; 0; 1} + __retres ∈ {0} +[value:final-states] Values at end of function memchr_small_sets_chars: + c ∈ {0; 98; 99} + res[0] ∈ {1; 2; 3} + [1] ∈ {0; 1; 2; 3} + [2] ∈ {-1} + [3] ∈ {-1; 0; 1; 2; 3} + [4] ∈ {-1; 0; 1} +[value:final-states] Values at end of function memchr_unbounded_n: + c ∈ {0} + n ∈ [0..2147483647] + s ∈ {{ "bcd\000eg" }} + zu1 ∈ {-1; 3} + o ∈ {0; 1} + zu2 ∈ {-1; 3} + zu3 ∈ {-1; 3} +[value:final-states] Values at end of function memchr_zero_termination: + c ∈ {0} + empty_or_non_terminated[0] ∈ {0; 100} + z1 ∈ {-1; 0} + non_terminated[0] ∈ {88} + z2 ∈ {-1} + non_terminated2[0] ∈ {76} + [1] ∈ {0} + [2] ∈ {28} + [3] ∈ {14} + o ∈ {2; 3} +[value:final-states] Values at end of function init_array_nondet: + from ∈ {-1} + to ∈ {-1} + val1 ∈ {-1} + val2 ∈ {-1} + val ∈ {0; 1; 2; 3; 4} + a[0..99] ∈ {0; 1; 2} + a[0..39] ∈ {1; 2} + [40..49] ∈ UNINITIALIZED + [50..94] ∈ {3; 4} or UNINITIALIZED + [95..99] ∈ UNINITIALIZED + a[0..99] ∈ {0; 1; 2} + a[0..9] ∈ {0; 1} + [10] ∈ UNINITIALIZED + [11] ∈ {0; 1} or UNINITIALIZED + [12..15] ∈ {1} or UNINITIALIZED + [16..19] ∈ {0; 1} or UNINITIALIZED + [20..99] ∈ UNINITIALIZED [value:final-states] Values at end of function memchr_intervals: Frama_C_entropy_source ∈ [--..--] c ∈ {0} @@ -1432,163 +1302,37 @@ tests/non-free/memchr.c:641:[value] assertion got status valid. z1 ∈ {20} z2 ∈ {75} z3 ∈ {75} -[value:final-states] Values at end of function memchr_misc_array: - Frama_C_entropy_source ∈ [--..--] - c ∈ {0} - i ∈ [0..11] - sz3 ∈ [0..13] -[value:final-states] Values at end of function memchr_small_sets: - c ∈ {0} - s ∈ {{ "b\000c" }} - o ∈ {0; 2} - z1 ∈ {3} - z2 ∈ {0; 3} - z3 ∈ {-1} - z4 ∈ {1; 3} - t[0..1] ∈ {0; 1} - [2..3] ∈ {1} - z5 ∈ {-1; 0; 1} -[value:final-states] Values at end of function memchr_small_sets_no_assertions: - s ∈ {{ "b\000c" }} - o ∈ {0; 2} - t[0..1] ∈ {0; 1; 97; 98; 99} - [2..3] ∈ {1} - res[0..1] ∈ {-1; 0; 1; 2; 3} - [2] ∈ {-1} - [3] ∈ {-1; 0; 1; 2; 3} - [4] ∈ {-1; 0; 1} - __retres ∈ {0} -[value:final-states] Values at end of function memchr_small_sets_chars: - c ∈ {0; 98; 99} - res[0] ∈ {1; 2; 3} - [1] ∈ {0; 1; 2; 3} - [2] ∈ {-1} - [3] ∈ {-1; 0; 1; 2; 3} - [4] ∈ {-1; 0; 1} -[value:final-states] Values at end of function memchr_unbounded_n: - c ∈ {0} - n ∈ [0..2147483647] - s ∈ {{ "bcd\000eg" }} - zu1 ∈ {-1; 3} - o ∈ {0; 1} - zu2 ∈ {-1; 3} - zu3 ∈ {-1; 3} -[value:final-states] Values at end of function memchr_zero_termination: - c ∈ {0} - empty_or_non_terminated[0] ∈ {0; 100} - z1 ∈ {-1; 0} - non_terminated[0] ∈ {88} - z2 ∈ {-1} - non_terminated2[0] ∈ {76} - [1] ∈ {0} - [2] ∈ {28} - [3] ∈ {14} - o ∈ {2; 3} -[value:final-states] Values at end of function my_memchr2: - p ∈ - {{ &x + {0; 3} ; &s{[1], [7], [8], [11], [18]} ; "abc" + {0; 1} ; - "ABCD" + {0; 1} ; "efg" + {1; 2} ; "EFGH" + {1; 2} ; "abcde" + {0; 1} ; - "\000bcdef" + {0; 1} ; "bcd\000efg" + {0; 2; 4} }} - s ∈ - {{ NULL ; (char *)&x ; &s{[10], [14], [18], [19]} ; "abc" + {3} ; - "ABCD" + {4} ; "efg" + {3} ; "EFGH" + {4} ; "abcde" + {5} ; - "\000bcdef" + {0; 6} ; "bcd\000efg" + {3; 7} }} - res ∈ [-1..19] -[value:final-states] Values at end of function memchr_misc: - c ∈ {0} - loc_str ∈ {{ "Bonjour Monde\n" }} - loc_char_array[0..2] ∈ UNINITIALIZED - [3] ∈ {0} - [4] ∈ UNINITIALIZED - sz1 ∈ {12; 14} - sz2 ∈ {0} - sz4a ∈ {3} - sz4b ∈ {4} - sz4c ∈ {5} - sz4d ∈ {9} - x ∈ {-1412567296} - str ∈ {{ (char *)&x }} - unterminated_string[0] ∈ {117} - [1] ∈ {110} - [2] ∈ {116} - [3] ∈ {101} - [4] ∈ {114} - [5] ∈ {109} - [6] ∈ {105} - [7] ∈ {110} - [8] ∈ {97} - [9] ∈ {116} - [10] ∈ {101} - [11] ∈ {100} - static_str ∈ {{ "Hello World\n" }} - zero_str ∈ {{ "abc\000\000\000abc" }} -[value:final-states] Values at end of function memchr_misc2: - c ∈ {0} - sz5 ∈ {3; 4} - sz6 ∈ {3; 4} - sz7 ∈ {3; 4; 7; 8} or UNINITIALIZED - sz8 ∈ {1} - s1 ∈ {{ "mno\000pqr" ; "MNOP\000QRS" }} - maybe_init[0] ∈ {65} or UNINITIALIZED - [1] ∈ {0} -[value:final-states] Values at end of function memchr_no_zero_but_ok: - c ∈ {0} - s[0..9] ∈ {1} - [10] ∈ {0} - [11..13] ∈ {1} - [14..19] ∈ {0; 1} - z1 ∈ {-1} - z2 ∈ {10} - z3 ∈ {10} - z4 ∈ {-1; 10; 14} - z5 ∈ {10; 18; 19} -[value:final-states] Values at end of function memchr_small_sets_n: - c ∈ {0} - s ∈ {{ "bcd\000efg" }} - n ∈ {2; 7} - z1 ∈ {-1; 5} - z2 ∈ {-1; 0; 6} - z3a ∈ {3} - z3b ∈ {-1; 3} - z3 ∈ {-1; 3} - z4 ∈ {-1; 3; 7} -[value:final-states] Values at end of function main: +[value:final-states] Values at end of function main: Frama_C_entropy_source ∈ [--..--] static_str ∈ {{ "Hello World\n" }} zero_str ∈ {{ "abc\000\000\000abc" }} __retres ∈ {0} -[from] Computing for function memchr_bitfields -[from] Computing for function memchr <-memchr_bitfields -[from] Done for function memchr -[from] Done for function memchr_bitfields -[from] Computing for function init_array_nondet -[from] Computing for function memset <-init_array_nondet -[from] Done for function memset -[from] Done for function init_array_nondet -[from] Computing for function my_memchr -[from] Done for function my_memchr [from] Computing for function memchr_big_array +[from] Computing for function memchr <-memchr_big_array +[from] Done for function memchr [from] Done for function memchr_big_array +[from] Computing for function memchr_bitfields +[from] Done for function memchr_bitfields [from] Computing for function memchr_bitfields2 [from] Done for function memchr_bitfields2 [from] Computing for function memchr_escaping [from] Done for function memchr_escaping [from] Computing for function memchr_initialization [from] Done for function memchr_initialization -[from] Computing for function memchr_intervals -[from] Computing for function Frama_C_interval <-memchr_intervals -[from] Done for function Frama_C_interval -[from] Done for function memchr_intervals -[from] Computing for function memchr_large -[from] Done for function memchr_large -[from] Computing for function memchr_large_n -[from] Done for function memchr_large_n -[from] Computing for function memchr_large_uninit -[from] Done for function memchr_large_uninit +[from] Computing for function memchr_misc +[from] Done for function memchr_misc +[from] Computing for function memchr_misc2 +[from] Done for function memchr_misc2 [from] Computing for function memchr_misc_array +[from] Computing for function Frama_C_interval <-memchr_misc_array +[from] Done for function Frama_C_interval [from] Done for function memchr_misc_array +[from] Computing for function memchr_no_zero_but_ok +[from] Done for function memchr_no_zero_but_ok [from] Computing for function memchr_small_sets [from] Done for function memchr_small_sets +[from] Computing for function memchr_small_sets_n +[from] Done for function memchr_small_sets_n [from] Computing for function memchr_small_sets_no_assertions [from] Done for function memchr_small_sets_no_assertions [from] Computing for function memchr_small_sets_chars @@ -1597,16 +1341,18 @@ tests/non-free/memchr.c:641:[value] assertion got status valid. [from] Done for function memchr_unbounded_n [from] Computing for function memchr_zero_termination [from] Done for function memchr_zero_termination -[from] Computing for function my_memchr2 -[from] Done for function my_memchr2 -[from] Computing for function memchr_misc -[from] Done for function memchr_misc -[from] Computing for function memchr_misc2 -[from] Done for function memchr_misc2 -[from] Computing for function memchr_no_zero_but_ok -[from] Done for function memchr_no_zero_but_ok -[from] Computing for function memchr_small_sets_n -[from] Done for function memchr_small_sets_n +[from] Computing for function init_array_nondet +[from] Computing for function memset <-init_array_nondet +[from] Done for function memset +[from] Done for function init_array_nondet +[from] Computing for function memchr_intervals +[from] Done for function memchr_intervals +[from] Computing for function memchr_large +[from] Done for function memchr_large +[from] Computing for function memchr_large_n +[from] Done for function memchr_large_n +[from] Computing for function memchr_large_uninit +[from] Done for function memchr_large_uninit [from] Computing for function main [from] Done for function main [from] ====== DEPENDENCIES COMPUTED ====== @@ -1635,60 +1381,29 @@ tests/non-free/memchr.c:641:[value] assertion got status valid. "abcde"[bits 0 to 47]; "\000bcdef"[bits 0 to 55]; "bcd\000efg"[bits 0 to 63]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" -[from] Function memchr_bitfields: - NO EFFECTS -[from] Function memset: - a[0..99] FROM c (and SELF) - a[0..99] FROM c (and SELF) - a[0..99] FROM c (and SELF) - a[0..99] FROM c (and SELF) - \result FROM s -[from] Function init_array_nondet: - a[0..99] FROM val1; val2; nondet (and SELF) - a[0..99] FROM val1; val2; nondet (and SELF) - a[0..99] FROM val1; val2; nondet (and SELF) - a[0..99] FROM val1; val2; nondet (and SELF) -[from] Function my_memchr: - \result FROM p; offs; c; t[0..3]; empty_or_non_terminated[0]; - non_terminated[0]; non_terminated2[2..3]; - empty_or_uninitialized[0]; uninitialized[0]; s[0..1]; - t[0..3]; s; a[3..99]; a[3..99]; s[0..3]; loc_char_array[0..4]; - x; unterminated_string[0..11]; maybe_init[0..1]; u[0..199]; - r[0..200]; t[0..999999]; s[0..19]; a[0..99]; a[0..99]; - t[0..3]; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; - "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; - ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "abc"; "ABCD"[bits 0 to 39]; - "efg"[bits 8 to 31]; "EFGH"[bits 8 to 39]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; - "abcde"[bits 0 to 47]; "\000bcdef"[bits 0 to 55]; - "bcd\000efg"[bits 0 to 63]; "abc"; "bcd\000eg"[bits 0 to 55]; - "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" [from] Function memchr_big_array: NO EFFECTS +[from] Function memchr_bitfields: + NO EFFECTS [from] Function memchr_bitfields2: NO EFFECTS [from] Function memchr_escaping: NO EFFECTS [from] Function memchr_initialization: NO EFFECTS -[from] Function memchr_intervals: - Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) -[from] Function memchr_large: - Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) -[from] Function memchr_large_n: - Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) -[from] Function memchr_large_uninit: - Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) +[from] Function memchr_misc: + static_str FROM \nothing + zero_str FROM \nothing +[from] Function memchr_misc2: + NO EFFECTS [from] Function memchr_misc_array: Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) +[from] Function memchr_no_zero_but_ok: + NO EFFECTS [from] Function memchr_small_sets: NO EFFECTS +[from] Function memchr_small_sets_n: + NO EFFECTS [from] Function memchr_small_sets_no_assertions: res{[0..1]; [3..4]} FROM c; res; nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; @@ -1726,290 +1441,144 @@ tests/non-free/memchr.c:641:[value] assertion got status valid. NO EFFECTS [from] Function memchr_zero_termination: NO EFFECTS -[from] Function my_memchr2: - \result FROM base; offs1; offs2; c; loc_char_array[0..4]; x; - unterminated_string[0..11]; maybe_init[0..1]; s[0..19]; - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; - "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; - ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "abc"; "ABCD"[bits 0 to 39]; - "efg"[bits 8 to 31]; "EFGH"[bits 8 to 39]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; - "abcde"[bits 0 to 47]; "\000bcdef"[bits 0 to 55]; - "bcd\000efg"[bits 0 to 63]; "abc"; "bcd\000eg"[bits 0 to 55]; - "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" -[from] Function memchr_misc: - static_str FROM \nothing - zero_str FROM \nothing -[from] Function memchr_misc2: - NO EFFECTS -[from] Function memchr_no_zero_but_ok: - NO EFFECTS -[from] Function memchr_small_sets_n: - NO EFFECTS +[from] Function memset: + a[0..99] FROM c (and SELF) + a[0..99] FROM c (and SELF) + a[0..99] FROM c (and SELF) + a[0..99] FROM c (and SELF) + \result FROM s +[from] Function init_array_nondet: + a[0..99] FROM val1; val2; nondet (and SELF) + a[0..99] FROM val1; val2; nondet (and SELF) + a[0..99] FROM val1; val2; nondet (and SELF) + a[0..99] FROM val1; val2; nondet (and SELF) +[from] Function memchr_intervals: + Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) +[from] Function memchr_large: + Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) +[from] Function memchr_large_n: + Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) +[from] Function memchr_large_uninit: + Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) [from] Function main: Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) static_str FROM \nothing zero_str FROM \nothing \result FROM \nothing [from] ====== END OF DEPENDENCIES ====== +[inout] Out (internal) for function memchr_big_array: + c; u[0..199]; r[0..200]; t[0..999999]; p; len_u; len_r; len_t; _s; + _ss; _res; _s_0; _ss_0; _res_0; _s_1; _ss_1; _res_1; _s_2; _ss_2; _res_2; + _s_3; _ss_3; _res_3; _s_4; _ss_4; _res_4 +[inout] Inputs for function memchr_big_array: + nondet [inout] Out (internal) for function memchr_bitfields: c; s{{.a; .b}; .c}; p [inout] Inputs for function memchr_bitfields: nondet -[inout] Out (internal) for function init_array_nondet: - from; to; val1; val2; val; tmp; a[0..99]; a{[0..39]; [50..94]}; a[0..99]; - a{[0..9]; [11..19]} -[inout] Inputs for function init_array_nondet: - nondet -[inout] Out (internal) for function my_memchr: - s; ss; res -[inout] Inputs for function my_memchr: - t[0..3]; empty_or_non_terminated[0]; non_terminated[0]; - non_terminated2[0..3]; empty_or_uninitialized[0]; uninitialized[0]; - s[0..1]; t[0..3]; s; a[0..99]; a[0..99]; s[0..3]; loc_char_array[0..4]; - unterminated_string[0..11]; maybe_init[0..1]; u[0..199]; r[0..200]; - t[0..999999]; s[0..19]; a[0..99]; a[0..99]; t[0..3]; ""[bits 0 to 7]; - "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; - "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; - "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" -[inout] Out (internal) for function memchr_big_array: - c; u[0..199]; r[0..200]; t[0..999999]; p; len_u; len_r; len_t -[inout] Inputs for function memchr_big_array: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c" [inout] Out (internal) for function memchr_bitfields2: - c; s{.a; .b; .c}; p; z1 + c; s{.a; .b; .c}; p; z1; _s; _ss; _res [inout] Inputs for function memchr_bitfields2: - ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c" + \nothing [inout] Out (internal) for function memchr_escaping: - c; s[0..3]; z1; z2 + c; s[0..3]; z1; _s; _ss; _res; z2; _s_0; _ss_0; _res_0 [inout] Inputs for function memchr_escaping: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c" + nondet [inout] Out (internal) for function memchr_initialization: - c; empty_or_uninitialized[0]; z1; s[0..1]; z2; t[0..3]; z3 + c; empty_or_uninitialized[0]; z1; _s; _ss; _res; s[0..1]; z2; _s_0; + _ss_0; _res_0; t[0..3]; z3; _s_1; _ss_1; _res_1 [inout] Inputs for function memchr_initialization: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c" -[inout] Out (internal) for function memchr_intervals: - Frama_C_entropy_source; c; a{[0..9]; [11..19]}; offset; n; z1; z2; - z3; z4; z5; z6; z7; z8; z9 -[inout] Inputs for function memchr_intervals: - Frama_C_entropy_source; nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; - "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" -[inout] Out (internal) for function memchr_large: - Frama_C_entropy_source; c; a[0..99]; offset; z1; z2; z3; z4; z5 -[inout] Inputs for function memchr_large: - Frama_C_entropy_source; nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; - "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" -[inout] Out (internal) for function memchr_large_n: - Frama_C_entropy_source; c; a[0..99]; offset; n; z1; z2; z3; z4; z5; - z6; z7; z8; z9 -[inout] Inputs for function memchr_large_n: - Frama_C_entropy_source; nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; - "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" -[inout] Out (internal) for function memchr_large_uninit: - Frama_C_entropy_source; c; a{[0..39]; [50..94]; [98]}; offset; z1; z2; z3 -[inout] Inputs for function memchr_large_uninit: - Frama_C_entropy_source; nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; - "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" + nondet +[inout] Out (internal) for function memchr_misc: + c; loc_str; loc_char_array[3]; x; str; unterminated_string[0..11]; + sz1; _s; _ss; _res; sz2; _p; tmp_0; _ss_0; _res_0; sz4a; _s_0; _ss_1; + _res_1; sz4b; _s_1; _ss_2; _res_2; sz4c; _s_2; _ss_3; _res_3; sz4d; + _s_3; _ss_4; _res_4; static_str; zero_str +[inout] Inputs for function memchr_misc: + nondet; static_str; zero_str; "Hello World\n"[bits 0 to 103]; + "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119] +[inout] Out (internal) for function memchr_misc2: + c; s1; sz5; _p; tmp; _ss; _res; sz6; _p_0; tmp_1; _ss_0; _res_0; j; + sz7; _s; _ss_1; _res_1; maybe_init[0..1]; sz8; _s_0; _ss_2; _res_2 +[inout] Inputs for function memchr_misc2: + nondet; "abc"; "ABCD"[bits 0 to 39]; "efg"[bits 8 to 31]; + "EFGH"[bits 8 to 39]; "mno\000pqr"[bits 0 to 63]; + "MNOP\000QRS"[bits 0 to 71] [inout] Out (internal) for function memchr_misc_array: - Frama_C_entropy_source; c; i; sz3 + Frama_C_entropy_source; c; i; sz3; _s; _ss; _res [inout] Inputs for function memchr_misc_array: Frama_C_entropy_source; tab_str[0..11]; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; - "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" + "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111] +[inout] Out (internal) for function memchr_no_zero_but_ok: + c; s[0..19]; z1; _s; _ss; _res; z2; _s_0; _ss_0; _res_0; z3; _p; tmp_1; + _ss_1; _res_1; z4; _p_0; tmp_3; _ss_2; _res_2; z5; _p_1; tmp_5; _ss_3; + _res_3 +[inout] Inputs for function memchr_no_zero_but_ok: + nondet [inout] Out (internal) for function memchr_small_sets: - c; s; o; tmp; z1; z2; z3; z4; t[0..3]; z5 + c; s; o; tmp; z1; _s; _ss; _res; z2; _s_0; _ss_0; _res_0; z3; _s_1; + _ss_1; _res_1; z4; _s_2; _ss_2; _res_2; t[0..3]; z5; _s_3; _ss_3; _res_3 [inout] Inputs for function memchr_small_sets: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c" + nondet; "abc"; "\000bc"; "b\000c" +[inout] Out (internal) for function memchr_small_sets_n: + c; s; n; tmp; z1; _p; tmp_0; _ss; _res; z2; _p_0; tmp_2; _ss_0; _res_0; + z3a; _p_1; tmp_4; _ss_1; _res_1; z3b; _p_2; tmp_6; _ss_2; _res_2; z3; + _p_3; tmp_8; _ss_3; _res_3; z4; _p_4; tmp_10; _ss_4; _res_4 +[inout] Inputs for function memchr_small_sets_n: + nondet; "abcde"[bits 0 to 47]; "\000bcdef"[bits 0 to 55]; + "bcd\000efg"[bits 0 to 63] [inout] Out (internal) for function memchr_small_sets_no_assertions: - s; o; tmp; t[0..3]; res[0..4]; __retres + s; o; tmp; _s; _ss; _res; _s_0; _ss_0; _res_0; _s_1; _ss_1; _res_1; + _s_2; _ss_2; _res_2; t[0..3]; _s_3; _ss_3; _res_3; res[0..4]; __retres [inout] Inputs for function memchr_small_sets_no_assertions: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c" + nondet; "abc"; "\000bc"; "b\000c" [inout] Out (internal) for function memchr_small_sets_chars: c; res[0..4] [inout] Inputs for function memchr_small_sets_chars: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c" + nondet; "abc"; "\000bc"; "b\000c" [inout] Out (internal) for function memchr_unbounded_n: - c; n; s; zu1; o; tmp_0; zu2; zu3 + c; n; s; zu1; _s; _ss; _res; o; tmp_0; zu2; _s_0; _ss_0; _res_0; zu3; + _s_1; _ss_1; _res_1 [inout] Inputs for function memchr_unbounded_n: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c" + nondet; "abc"; "bcd\000eg"[bits 0 to 55] [inout] Out (internal) for function memchr_zero_termination: - c; empty_or_non_terminated[0]; z1; non_terminated[0]; z2; - non_terminated2[0..3]; o; tmp_1 + c; empty_or_non_terminated[0]; z1; _s; _ss; _res; non_terminated[0]; + z2; _s_0; _ss_0; _res_0; non_terminated2[0..3]; o; tmp_1 [inout] Inputs for function memchr_zero_termination: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c" -[inout] Out (internal) for function my_memchr2: - p; tmp; s; res -[inout] Inputs for function my_memchr2: - x; s[1..19]; nondet; "abc"; "ABCD"[bits 0 to 39]; "efg"[bits 8 to 31]; - "EFGH"[bits 8 to 39]; "abcde"[bits 0 to 47]; "\000bcdef"[bits 0 to 55]; - "bcd\000efg"[bits 0 to 63] -[inout] Out (internal) for function memchr_misc: - c; loc_str; loc_char_array[3]; sz1; sz2; sz4a; sz4b; sz4c; sz4d; x; - str; unterminated_string[0..11]; static_str; zero_str -[inout] Inputs for function memchr_misc: - nondet; static_str; zero_str; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "abc"; "ABCD"[bits 0 to 39]; "efg"[bits 8 to 31]; "EFGH"[bits 8 to 39]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; - "abcde"[bits 0 to 47]; "\000bcdef"[bits 0 to 55]; - "bcd\000efg"[bits 0 to 63]; "abc"; "bcd\000eg"[bits 0 to 55]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c" -[inout] Out (internal) for function memchr_misc2: - c; sz5; sz6; sz7; sz8; s1; j; maybe_init[0..1] -[inout] Inputs for function memchr_misc2: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "abc"; "ABCD"[bits 0 to 39]; - "efg"[bits 8 to 31]; "EFGH"[bits 8 to 39]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abcde"[bits 0 to 47]; - "\000bcdef"[bits 0 to 55]; "bcd\000efg"[bits 0 to 63]; "abc"; - "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" -[inout] Out (internal) for function memchr_no_zero_but_ok: - c; s[0..19]; z1; z2; z3; z4; z5 -[inout] Inputs for function memchr_no_zero_but_ok: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "abc"; "ABCD"[bits 0 to 39]; - "efg"[bits 8 to 31]; "EFGH"[bits 8 to 39]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abcde"[bits 0 to 47]; - "\000bcdef"[bits 0 to 55]; "bcd\000efg"[bits 0 to 63]; "abc"; - "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" -[inout] Out (internal) for function memchr_small_sets_n: - c; s; n; tmp; z1; z2; z3a; z3b; z3; z4 -[inout] Inputs for function memchr_small_sets_n: - nondet; "abc"; "ABCD"[bits 0 to 39]; "efg"[bits 8 to 31]; - "EFGH"[bits 8 to 39]; "abcde"[bits 0 to 47]; "\000bcdef"[bits 0 to 55]; - "bcd\000efg"[bits 0 to 63] + nondet +[inout] Out (internal) for function init_array_nondet: + from; to; val1; val2; val; tmp; a[0..99]; a{[0..39]; [50..94]}; a[0..99]; + a{[0..9]; [11..19]} +[inout] Inputs for function init_array_nondet: + nondet +[inout] Out (internal) for function memchr_intervals: + Frama_C_entropy_source; c; a{[0..9]; [11..19]}; offset; n; z1; _s; + _ss; _res; z2; _s_0; _ss_0; _res_0; z3; _s_1; _ss_1; _res_1; z4; _s_2; + _ss_2; _res_2; z5; _s_3; _ss_3; _res_3; z6; _s_4; _ss_4; _res_4; z7; + _s_5; _ss_5; _res_5; z8; _s_6; _ss_6; _res_6; z9; _s_7; _ss_7; _res_7 +[inout] Inputs for function memchr_intervals: + Frama_C_entropy_source; nondet +[inout] Out (internal) for function memchr_large: + Frama_C_entropy_source; c; a[0..99]; offset; z1; _s; _ss; _res; z2; + _s_0; _ss_0; _res_0; z3; _s_1; _ss_1; _res_1; z4; _s_2; _ss_2; _res_2; + z5; _s_3; _ss_3; _res_3 +[inout] Inputs for function memchr_large: + Frama_C_entropy_source; nondet +[inout] Out (internal) for function memchr_large_n: + Frama_C_entropy_source; c; a[0..99]; offset; n; z1; _s; _ss; _res; + z2; _s_0; _ss_0; _res_0; z3; _s_1; _ss_1; _res_1; z4; _s_2; _ss_2; + _res_2; z5; _s_3; _ss_3; _res_3; z6; _s_4; _ss_4; _res_4; z7; _s_5; + _ss_5; _res_5; z8; _s_6; _ss_6; _res_6; z9; _s_7; _ss_7; _res_7 +[inout] Inputs for function memchr_large_n: + Frama_C_entropy_source; nondet +[inout] Out (internal) for function memchr_large_uninit: + Frama_C_entropy_source; c; a{[0..39]; [50..94]; [98]}; offset; z1; + _s; _ss; _res; z2; _s_0; _ss_0; _res_0; z3; _s_1; _ss_1; _res_1 +[inout] Inputs for function memchr_large_uninit: + Frama_C_entropy_source; nondet [inout] Out (internal) for function main: Frama_C_entropy_source; static_str; zero_str; __retres [inout] Inputs for function main: @@ -2018,10 +1587,10 @@ tests/non-free/memchr.c:641:[value] assertion got status valid. "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; + "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; "b\000c"; "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; "abc"; "ABCD"[bits 0 to 39]; "efg"[bits 8 to 31]; "EFGH"[bits 8 to 39]; "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abcde"[bits 0 to 47]; "\000bcdef"[bits 0 to 55]; "bcd\000efg"[bits 0 to 63]; "abc"; - "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" + "bcd\000eg"[bits 0 to 55]; "abc"; "\000bc"; "b\000c" diff --git a/tests/non-free/oracle/strchr.res.oracle b/tests/non-free/oracle/strchr.res.oracle index 605bc13636528332eee0ff10c8feefc329a3ff7e..40dfafa2500c0f10b5f1b182fa0e3a912ed38add 100644 --- a/tests/non-free/oracle/strchr.res.oracle +++ b/tests/non-free/oracle/strchr.res.oracle @@ -20,935 +20,664 @@ static_str ∈ {0} zero_str ∈ {0} [value] computing for function strchr_small_sets <- main. - Called from tests/non-free/strchr.c:538. -[value] computing for function my_strchr <- strchr_small_sets <- main. - Called from tests/non-free/strchr.c:79. -tests/non-free/strchr.c:49:[value] function strchr: precondition 'valid_string_src' got status valid. + Called from tests/non-free/strchr.c:556. +tests/non-free/strchr.c:98:[value] function strchr: precondition 'valid_string_src' got status valid. share/libc/string.h:143:[value] cannot evaluate ACSL term, unsupported ACSL construct: logic function strchr share/libc/string.h:150:[value] cannot evaluate ACSL term, unsupported ACSL construct: logic function strchr -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {3} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:80:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_small_sets <- main. - Called from tests/non-free/strchr.c:83. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {0; 3} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:84:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_small_sets <- main. - Called from tests/non-free/strchr.c:86. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "" }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {0} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:87:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_small_sets <- main. - Called from tests/non-free/strchr.c:90. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {1; 3} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:91:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_small_sets <- main. - Called from tests/non-free/strchr.c:95. -tests/non-free/strchr.c:49:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &t[0] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {0; 1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:96:[value] assertion got status valid. +tests/non-free/strchr.c:98:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{0})) +tests/non-free/strchr.c:98:[value] Frama_C_show_each_mystrchr: {3} +tests/non-free/strchr.c:99:[value] assertion got status valid. +tests/non-free/strchr.c:102:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:102:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{0})) +tests/non-free/strchr.c:102:[value] Frama_C_show_each_mystrchr: {0; 3} +tests/non-free/strchr.c:103:[value] assertion got status valid. +tests/non-free/strchr.c:105:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:105:[value] Call to builtin Frama_C_strchr(({{ "" }},{0})) +tests/non-free/strchr.c:105:[value] Frama_C_show_each_mystrchr: {0} +tests/non-free/strchr.c:106:[value] assertion got status valid. +tests/non-free/strchr.c:109:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:109:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{0})) +tests/non-free/strchr.c:109:[value] Frama_C_show_each_mystrchr: {1; 3} +tests/non-free/strchr.c:110:[value] assertion got status valid. +tests/non-free/strchr.c:114:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:114:[value] Call to builtin Frama_C_strchr(({{ &t[0] }},{0})) +tests/non-free/strchr.c:114:[value] builtin Frama_C_strchr: possibly reading indeterminate data +tests/non-free/strchr.c:114:[value] Frama_C_show_each_mystrchr: {0; 1} +tests/non-free/strchr.c:115:[value] assertion got status valid. [value] Recording results for strchr_small_sets [value] Done for function strchr_small_sets [value] computing for function strchr_zero_termination <- main. - Called from tests/non-free/strchr.c:539. -[value] computing for function my_strchr <- strchr_zero_termination <- main. - Called from tests/non-free/strchr.c:104. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &empty_or_non_terminated[0] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {0} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:105:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_zero_termination <- main. - Called from tests/non-free/strchr.c:109. -tests/non-free/strchr.c:49:[value] warning: function strchr: precondition 'valid_string_src' got status invalid. -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_zero_termination <- main. - Called from tests/non-free/strchr.c:115. -[value] Recording results for my_strchr -[value] Done for function my_strchr + Called from tests/non-free/strchr.c:557. +tests/non-free/strchr.c:123:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:123:[value] Call to builtin Frama_C_strchr(({{ &empty_or_non_terminated[0] }},{0})) +tests/non-free/strchr.c:123:[value] builtin Frama_C_strchr: possibly reading indeterminate data +tests/non-free/strchr.c:123:[value] Frama_C_show_each_mystrchr: {0} +tests/non-free/strchr.c:124:[value] assertion got status valid. +tests/non-free/strchr.c:128:[value] warning: function strchr: precondition 'valid_string_src' got status invalid. +tests/non-free/strchr.c:134:[value] warning: function strchr: precondition 'valid_string_src' got status invalid. [value] Recording results for strchr_zero_termination [value] Done for function strchr_zero_termination [value] computing for function strchr_initialization <- main. - Called from tests/non-free/strchr.c:540. -[value] computing for function my_strchr <- strchr_initialization <- main. - Called from tests/non-free/strchr.c:123. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &empty_or_uninitialized[0] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possible uninitialized values -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {0} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:124:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_initialization <- main. - Called from tests/non-free/strchr.c:127. -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_initialization <- main. - Called from tests/non-free/strchr.c:132. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &s[0] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possible uninitialized values -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:133:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_initialization <- main. - Called from tests/non-free/strchr.c:139. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &t[0] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possible uninitialized values -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {3} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:140:[value] assertion got status valid. + Called from tests/non-free/strchr.c:558. +tests/non-free/strchr.c:142:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:142:[value] Call to builtin Frama_C_strchr(({{ &empty_or_uninitialized[0] }},{0})) +tests/non-free/strchr.c:142:[value] builtin Frama_C_strchr: possible uninitialized values +tests/non-free/strchr.c:142:[value] Frama_C_show_each_mystrchr: {0} +tests/non-free/strchr.c:143:[value] assertion got status valid. +tests/non-free/strchr.c:146:[value] warning: function strchr: precondition 'valid_string_src' got status invalid. +tests/non-free/strchr.c:151:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:151:[value] Call to builtin Frama_C_strchr(({{ &s[0] }},{0})) +tests/non-free/strchr.c:151:[value] builtin Frama_C_strchr: possible uninitialized values +tests/non-free/strchr.c:151:[value] Frama_C_show_each_mystrchr: {1} +tests/non-free/strchr.c:152:[value] assertion got status valid. +tests/non-free/strchr.c:158:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:158:[value] Call to builtin Frama_C_strchr(({{ &t[0] }},{0})) +tests/non-free/strchr.c:158:[value] builtin Frama_C_strchr: possible uninitialized values +tests/non-free/strchr.c:158:[value] Frama_C_show_each_mystrchr: {3} +tests/non-free/strchr.c:159:[value] assertion got status valid. [value] Recording results for strchr_initialization [value] Done for function strchr_initialization [value] computing for function strchr_large <- main. - Called from tests/non-free/strchr.c:541. + Called from tests/non-free/strchr.c:559. [value] computing for function init_array_nondet <- strchr_large <- main. - Called from tests/non-free/strchr.c:188. -tests/non-free/strchr.c:180:[value] function memset: precondition got status valid. -tests/non-free/strchr.c:180:[value] Call to builtin memset(({{ (void *)&a }},{1; 2},{100})) + Called from tests/non-free/strchr.c:207. +tests/non-free/strchr.c:199:[value] function memset: precondition got status valid. +tests/non-free/strchr.c:199:[value] Call to builtin memset(({{ (void *)&a }},{1; 2},{100})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function Frama_C_interval <- strchr_large <- main. - Called from tests/non-free/strchr.c:191. + Called from tests/non-free/strchr.c:210. [value] using specification for function Frama_C_interval -tests/non-free/strchr.c:191:[value] function Frama_C_interval: precondition got status valid. +tests/non-free/strchr.c:210:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strchr <- strchr_large <- main. - Called from tests/non-free/strchr.c:192. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &a + [3..30] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:211:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:211:[value] Call to builtin Frama_C_strchr(({{ &a + [3..30] }},{0})) +tests/non-free/strchr.c:211:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..75] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:193:[value] assertion got status valid. +tests/non-free/strchr.c:211:[value] Frama_C_show_each_mystrchr: [-1..75] +tests/non-free/strchr.c:212:[value] assertion got status valid. [value] computing for function Frama_C_interval <- strchr_large <- main. - Called from tests/non-free/strchr.c:195. -tests/non-free/strchr.c:195:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/strchr.c:214. +tests/non-free/strchr.c:214:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strchr <- strchr_large <- main. - Called from tests/non-free/strchr.c:196. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &a + [5..17] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:215:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:215:[value] Call to builtin Frama_C_strchr(({{ &a + [5..17] }},{0})) +tests/non-free/strchr.c:215:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..20] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:197:[value] assertion got status valid. -tests/non-free/strchr.c:198:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:215:[value] Frama_C_show_each_mystrchr: [-1..20] +tests/non-free/strchr.c:216:[value] assertion got status valid. +tests/non-free/strchr.c:217:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- strchr_large <- main. - Called from tests/non-free/strchr.c:200. -tests/non-free/strchr.c:200:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/strchr.c:219. +tests/non-free/strchr.c:219:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strchr <- strchr_large <- main. - Called from tests/non-free/strchr.c:201. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &a + [60..74] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:220:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:220:[value] Call to builtin Frama_C_strchr(({{ &a + [60..74] }},{0})) +tests/non-free/strchr.c:220:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..75] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:202:[value] assertion got status valid. -tests/non-free/strchr.c:203:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:220:[value] Frama_C_show_each_mystrchr: [-1..75] +tests/non-free/strchr.c:221:[value] assertion got status valid. +tests/non-free/strchr.c:222:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- strchr_large <- main. - Called from tests/non-free/strchr.c:205. -tests/non-free/strchr.c:205:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/strchr.c:224. +tests/non-free/strchr.c:224:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strchr <- strchr_large <- main. - Called from tests/non-free/strchr.c:206. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &a + [63..80] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:225:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:225:[value] Call to builtin Frama_C_strchr(({{ &a + [63..80] }},{0})) +tests/non-free/strchr.c:225:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..79] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:207:[value] assertion got status valid. -tests/non-free/strchr.c:208:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:225:[value] Frama_C_show_each_mystrchr: [-1..79] +tests/non-free/strchr.c:226:[value] assertion got status valid. +tests/non-free/strchr.c:227:[value] warning: assertion 'refined' got status unknown. [value] computing for function init_array_nondet <- strchr_large <- main. - Called from tests/non-free/strchr.c:210. -tests/non-free/strchr.c:180:[value] Call to builtin memset(({{ (void *)&a }},{0; 2},{100})) + Called from tests/non-free/strchr.c:229. +tests/non-free/strchr.c:199:[value] Call to builtin memset(({{ (void *)&a }},{0; 2},{100})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function Frama_C_interval <- strchr_large <- main. - Called from tests/non-free/strchr.c:211. -tests/non-free/strchr.c:211:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/strchr.c:230. +tests/non-free/strchr.c:230:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strchr <- strchr_large <- main. - Called from tests/non-free/strchr.c:212. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &a + [50..70] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:231:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:231:[value] Call to builtin Frama_C_strchr(({{ &a + [50..70] }},{0})) +tests/non-free/strchr.c:231:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..99] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:213:[value] assertion got status valid. +tests/non-free/strchr.c:231:[value] Frama_C_show_each_mystrchr: [-1..99] +tests/non-free/strchr.c:232:[value] assertion got status valid. [value] Recording results for strchr_large [value] Done for function strchr_large [value] computing for function strchr_large_uninit <- main. - Called from tests/non-free/strchr.c:542. + Called from tests/non-free/strchr.c:560. [value] computing for function init_array_nondet <- strchr_large_uninit <- main. - Called from tests/non-free/strchr.c:220. -tests/non-free/strchr.c:180:[value] Call to builtin memset(({{ (void *)&a }},{1; 2},{40})) + Called from tests/non-free/strchr.c:239. +tests/non-free/strchr.c:199:[value] Call to builtin memset(({{ (void *)&a }},{1; 2},{40})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function init_array_nondet <- strchr_large_uninit <- main. - Called from tests/non-free/strchr.c:221. -tests/non-free/strchr.c:180:[value] Call to builtin memset(({{ (void *)&a[50] }},{3; 4},{45})) + Called from tests/non-free/strchr.c:240. +tests/non-free/strchr.c:199:[value] Call to builtin memset(({{ (void *)&a[50] }},{3; 4},{45})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function Frama_C_interval <- strchr_large_uninit <- main. - Called from tests/non-free/strchr.c:225. -tests/non-free/strchr.c:225:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/strchr.c:244. +tests/non-free/strchr.c:244:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strchr <- strchr_large_uninit <- main. - Called from tests/non-free/strchr.c:226. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &a + [3..30] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:245:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:245:[value] Call to builtin Frama_C_strchr(({{ &a + [3..30] }},{0})) +tests/non-free/strchr.c:245:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..29] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:227:[value] assertion got status valid. -tests/non-free/strchr.c:228:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:245:[value] Frama_C_show_each_mystrchr: [-1..29] +tests/non-free/strchr.c:246:[value] assertion got status valid. +tests/non-free/strchr.c:247:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- strchr_large_uninit <- main. - Called from tests/non-free/strchr.c:231. -tests/non-free/strchr.c:231:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/strchr.c:250. +tests/non-free/strchr.c:250:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strchr <- strchr_large_uninit <- main. - Called from tests/non-free/strchr.c:232. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &a + [63..80] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:251:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:251:[value] Call to builtin Frama_C_strchr(({{ &a + [63..80] }},{0})) +tests/non-free/strchr.c:251:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..79] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:233:[value] assertion got status valid. -tests/non-free/strchr.c:234:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:251:[value] Frama_C_show_each_mystrchr: [-1..79] +tests/non-free/strchr.c:252:[value] assertion got status valid. +tests/non-free/strchr.c:253:[value] warning: assertion 'refined' got status unknown. [value] computing for function Frama_C_interval <- strchr_large_uninit <- main. - Called from tests/non-free/strchr.c:236. -tests/non-free/strchr.c:236:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/strchr.c:255. +tests/non-free/strchr.c:255:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strchr <- strchr_large_uninit <- main. - Called from tests/non-free/strchr.c:237. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &a + [45..55] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:256:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:256:[value] Call to builtin Frama_C_strchr(({{ &a + [45..55] }},{0})) +tests/non-free/strchr.c:256:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..75] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:238:[value] assertion got status valid. -tests/non-free/strchr.c:239:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:256:[value] Frama_C_show_each_mystrchr: [-1..75] +tests/non-free/strchr.c:257:[value] assertion got status valid. +tests/non-free/strchr.c:258:[value] warning: assertion 'refined' got status unknown. [value] Recording results for strchr_large_uninit [value] Done for function strchr_large_uninit [value] computing for function strchr_misc_array <- main. - Called from tests/non-free/strchr.c:543. + Called from tests/non-free/strchr.c:561. [value] computing for function Frama_C_interval <- strchr_misc_array <- main. - Called from tests/non-free/strchr.c:261. -tests/non-free/strchr.c:261:[value] function Frama_C_interval: precondition got status valid. + Called from tests/non-free/strchr.c:280. +tests/non-free/strchr.c:280:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strchr <- strchr_misc_array <- main. - Called from tests/non-free/strchr.c:262. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "" ; "a" ; "aa" ; "aaa" ; "aaaa" ; +tests/non-free/strchr.c:281:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:281:[value] Call to builtin Frama_C_strchr(({{ "" ; "a" ; "aa" ; "aaa" ; "aaaa" ; "aaaaa" ; "aaaaaa" ; "aaaaaaaaa" ; "aaaaaaaaaa" ; "aaaaaaaaaaa" ; "aaaaaaaaaaaa" ; "aaaaaaaaaaaaa" }}, {0})) -tests/non-free/strchr.c:54:[value] warning: pointer subtraction. assert \base_addr(ss) ≡ \base_addr(s); -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [0..13] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:263:[value] assertion got status valid. +tests/non-free/strchr.c:281:[value] warning: pointer subtraction. assert \base_addr(_ss) ≡ \base_addr(tab_str[i]); +tests/non-free/strchr.c:281:[value] Frama_C_show_each_mystrchr: [0..13] +tests/non-free/strchr.c:282:[value] assertion got status valid. [value] Recording results for strchr_misc_array [value] Done for function strchr_misc_array [value] computing for function strchr_misc <- main. - Called from tests/non-free/strchr.c:544. -[value] computing for function my_strchr <- strchr_misc <- main. - Called from tests/non-free/strchr.c:293. -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_misc <- main. - Called from tests/non-free/strchr.c:296. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "Hello World\n" ; "Bonjour Monde\n" }}, + Called from tests/non-free/strchr.c:562. +tests/non-free/strchr.c:311:[value] warning: function strchr: precondition 'valid_string_src' got status invalid. +tests/non-free/strchr.c:314:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:314:[value] Call to builtin Frama_C_strchr(({{ "Hello World\n" ; "Bonjour Monde\n" }}, {0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {12; 14} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:297:[value] assertion got status valid. -[value] computing for function my_strchr2 <- strchr_misc <- main. - Called from tests/non-free/strchr.c:299. -tests/non-free/strchr.c:62:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. -tests/non-free/strchr.c:62:[value] Call to builtin Frama_C_strchr(({{ &x + {0; 3} }},{0})) -tests/non-free/strchr.c:62:[value] builtin Frama_C_strchr: possibly reading indeterminate data -tests/non-free/strchr.c:69:[value] Frama_C_show_each_mystrchr2: {0} -[value] Recording results for my_strchr2 -[value] Done for function my_strchr2 -tests/non-free/strchr.c:300:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_misc <- main. - Called from tests/non-free/strchr.c:302. -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_misc <- main. - Called from tests/non-free/strchr.c:303. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abc\000\000\000abc" }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {3} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:304:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_misc <- main. - Called from tests/non-free/strchr.c:305. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abc\000\000\000abc" + {4} }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {4} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:306:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_misc <- main. - Called from tests/non-free/strchr.c:307. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abc\000\000\000abc" + {5} }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {5} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:308:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_misc <- main. - Called from tests/non-free/strchr.c:309. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abc\000\000\000abc" + {6} }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {9} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:310:[value] assertion got status valid. +tests/non-free/strchr.c:314:[value] warning: pointer subtraction. assert \base_addr(_ss) ≡ \base_addr(str); +tests/non-free/strchr.c:314:[value] Frama_C_show_each_mystrchr: {12; 14} +tests/non-free/strchr.c:315:[value] assertion got status valid. +tests/non-free/strchr.c:317:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:317:[value] Call to builtin Frama_C_strchr(({{ &x + {0; 3} }},{0})) +tests/non-free/strchr.c:317:[value] builtin Frama_C_strchr: possibly reading indeterminate data +tests/non-free/strchr.c:317:[value] Frama_C_show_each_mystrchr2: {0} +tests/non-free/strchr.c:318:[value] assertion got status valid. +tests/non-free/strchr.c:320:[value] warning: function strchr: precondition 'valid_string_src' got status invalid. +tests/non-free/strchr.c:321:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:321:[value] Call to builtin Frama_C_strchr(({{ "abc\000\000\000abc" }},{0})) +tests/non-free/strchr.c:321:[value] Frama_C_show_each_mystrchr: {3} +tests/non-free/strchr.c:322:[value] assertion got status valid. +tests/non-free/strchr.c:323:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:323:[value] Call to builtin Frama_C_strchr(({{ "abc\000\000\000abc" + {4} }},{0})) +tests/non-free/strchr.c:323:[value] Frama_C_show_each_mystrchr: {4} +tests/non-free/strchr.c:324:[value] assertion got status valid. +tests/non-free/strchr.c:325:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:325:[value] Call to builtin Frama_C_strchr(({{ "abc\000\000\000abc" + {5} }},{0})) +tests/non-free/strchr.c:325:[value] Frama_C_show_each_mystrchr: {5} +tests/non-free/strchr.c:326:[value] assertion got status valid. +tests/non-free/strchr.c:327:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:327:[value] Call to builtin Frama_C_strchr(({{ "abc\000\000\000abc" + {6} }},{0})) +tests/non-free/strchr.c:327:[value] Frama_C_show_each_mystrchr: {9} +tests/non-free/strchr.c:328:[value] assertion got status valid. [value] Recording results for strchr_misc [value] Done for function strchr_misc [value] computing for function strchr_misc2 <- main. - Called from tests/non-free/strchr.c:545. -[value] computing for function my_strchr2 <- strchr_misc2 <- main. - Called from tests/non-free/strchr.c:319. -tests/non-free/strchr.c:62:[value] function strchr: precondition 'valid_string_src' got status valid. -tests/non-free/strchr.c:62:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} ; "ABCD" + {0; 1} }},{0})) -tests/non-free/strchr.c:67:[value] warning: pointer subtraction. assert \base_addr(s) ≡ \base_addr((char *)base); -tests/non-free/strchr.c:69:[value] Frama_C_show_each_mystrchr2: {3; 4} -[value] Recording results for my_strchr2 -[value] Done for function my_strchr2 -tests/non-free/strchr.c:320:[value] assertion got status valid. -[value] computing for function my_strchr2 <- strchr_misc2 <- main. - Called from tests/non-free/strchr.c:323. -tests/non-free/strchr.c:62:[value] Call to builtin Frama_C_strchr(({{ "efg" + {1; 2} ; "EFGH" + {1; 2} }},{0})) -tests/non-free/strchr.c:69:[value] Frama_C_show_each_mystrchr2: {3; 4} -[value] Recording results for my_strchr2 -[value] Done for function my_strchr2 -tests/non-free/strchr.c:324:[value] assertion got status valid. -tests/non-free/strchr.c:327:[value] entering loop for the first time -[value] computing for function my_strchr <- strchr_misc2 <- main. - Called from tests/non-free/strchr.c:328. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "mno\000pqr" ; "MNOP\000QRS" }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {3; 4} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:329:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_misc2 <- main. - Called from tests/non-free/strchr.c:328. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "mno\000pqr" + {0; 1} ; + Called from tests/non-free/strchr.c:563. +tests/non-free/strchr.c:336:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:336:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} ; "ABCD" + {0; 1} }},{0})) +tests/non-free/strchr.c:336:[value] warning: pointer subtraction. assert \base_addr(_s) ≡ \base_addr(s1); +tests/non-free/strchr.c:336:[value] Frama_C_show_each_mystrchr2: {3; 4} +tests/non-free/strchr.c:337:[value] assertion got status valid. +tests/non-free/strchr.c:340:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:340:[value] Call to builtin Frama_C_strchr(({{ "efg" + {1; 2} ; "EFGH" + {1; 2} }},{0})) +tests/non-free/strchr.c:340:[value] warning: pointer subtraction. assert \base_addr(_s_0) ≡ \base_addr(s1); +tests/non-free/strchr.c:340:[value] Frama_C_show_each_mystrchr2: {3; 4} +tests/non-free/strchr.c:341:[value] assertion got status valid. +tests/non-free/strchr.c:344:[value] entering loop for the first time +tests/non-free/strchr.c:345:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:345:[value] Call to builtin Frama_C_strchr(({{ "mno\000pqr" ; "MNOP\000QRS" }},{0})) +tests/non-free/strchr.c:345:[value] warning: pointer subtraction. assert \base_addr(_ss) ≡ \base_addr(s1); +tests/non-free/strchr.c:345:[value] Frama_C_show_each_mystrchr: {3; 4} +tests/non-free/strchr.c:346:[value] assertion got status valid. +tests/non-free/strchr.c:345:[value] Call to builtin Frama_C_strchr(({{ "mno\000pqr" + {0; 1} ; "MNOP\000QRS" + {0; 1} }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {3; 4} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_misc2 <- main. - Called from tests/non-free/strchr.c:328. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "mno\000pqr" + {0; 1; 2} ; +tests/non-free/strchr.c:345:[value] Frama_C_show_each_mystrchr: {3; 4} +tests/non-free/strchr.c:345:[value] Call to builtin Frama_C_strchr(({{ "mno\000pqr" + {0; 1; 2} ; "MNOP\000QRS" + {0; 1; 2} }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {3; 4} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_misc2 <- main. - Called from tests/non-free/strchr.c:328. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "mno\000pqr" + {0; 1; 2; 3; 4; 5; 6; 7} ; +tests/non-free/strchr.c:345:[value] Frama_C_show_each_mystrchr: {3; 4} +tests/non-free/strchr.c:345:[value] Call to builtin Frama_C_strchr(({{ "mno\000pqr" + {0; 1; 2; 3; 4; 5; 6; 7} ; "MNOP\000QRS" + {0; 1; 2; 3; 4; 5; 6; 7} }}, {0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {3; 4; 7; 8} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_misc2 <- main. - Called from tests/non-free/strchr.c:328. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "mno\000pqr" + {0; 1; 2; 3; 4; 5; 6; 7} ; - "MNOP\000QRS" + {0; 1; 2; 3; 4; 5; 6; 7} }}, - {0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {3; 4; 7; 8} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_misc2 <- main. - Called from tests/non-free/strchr.c:335. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &maybe_init[0] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possible uninitialized values -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:336:[value] assertion got status valid. +tests/non-free/strchr.c:345:[value] Frama_C_show_each_mystrchr: {3; 4; 7; 8} +tests/non-free/strchr.c:352:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:352:[value] Call to builtin Frama_C_strchr(({{ &maybe_init[0] }},{0})) +tests/non-free/strchr.c:352:[value] builtin Frama_C_strchr: possible uninitialized values +tests/non-free/strchr.c:352:[value] Frama_C_show_each_mystrchr: {1} +tests/non-free/strchr.c:353:[value] assertion got status valid. [value] Recording results for strchr_misc2 [value] Done for function strchr_misc2 [value] computing for function strchr_bitfields <- main. - Called from tests/non-free/strchr.c:546. -tests/non-free/strchr.c:157:[value] warning: function strchr: precondition 'valid_string_src' got status invalid. + Called from tests/non-free/strchr.c:564. +tests/non-free/strchr.c:176:[value] warning: function strchr: precondition 'valid_string_src' got status invalid. [value] Recording results for strchr_bitfields [value] Done for function strchr_bitfields [value] computing for function strchr_bitfields2 <- main. - Called from tests/non-free/strchr.c:547. -[value] computing for function my_strchr <- strchr_bitfields2 <- main. - Called from tests/non-free/strchr.c:174. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ (char const *)&s }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {2} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:175:[value] assertion got status valid. + Called from tests/non-free/strchr.c:565. +tests/non-free/strchr.c:193:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:193:[value] Call to builtin Frama_C_strchr(({{ (char const *)&s }},{0})) +tests/non-free/strchr.c:193:[value] Frama_C_show_each_mystrchr: {2} +tests/non-free/strchr.c:194:[value] assertion got status valid. [value] Recording results for strchr_bitfields2 [value] Done for function strchr_bitfields2 [value] computing for function strchr_escaping <- main. - Called from tests/non-free/strchr.c:548. -tests/non-free/strchr.c:249:[value] warning: locals {x} escaping the scope of a block of strchr_escaping through s -[value] computing for function my_strchr <- strchr_escaping <- main. - Called from tests/non-free/strchr.c:252. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &s[0] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possible escaping addresses -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {0} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:253:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_escaping <- main. - Called from tests/non-free/strchr.c:255. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &s[0] }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {0} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:256:[value] assertion got status valid. + Called from tests/non-free/strchr.c:566. +tests/non-free/strchr.c:268:[value] warning: locals {x} escaping the scope of a block of strchr_escaping through s +tests/non-free/strchr.c:271:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:271:[value] Call to builtin Frama_C_strchr(({{ &s[0] }},{0})) +tests/non-free/strchr.c:271:[value] builtin Frama_C_strchr: possible escaping addresses +tests/non-free/strchr.c:271:[value] Frama_C_show_each_mystrchr: {0} +tests/non-free/strchr.c:272:[value] assertion got status valid. +tests/non-free/strchr.c:274:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:274:[value] Call to builtin Frama_C_strchr(({{ &s[0] }},{0})) +tests/non-free/strchr.c:274:[value] Frama_C_show_each_mystrchr: {0} +tests/non-free/strchr.c:275:[value] assertion got status valid. [value] Recording results for strchr_escaping [value] Done for function strchr_escaping [value] computing for function strchr_big_array <- main. - Called from tests/non-free/strchr.c:549. -tests/non-free/strchr.c:346:[value] warning: out of bounds write. assert \valid(p); -tests/non-free/strchr.c:348:[value] warning: out of bounds write. assert \valid(p); -tests/non-free/strchr.c:350:[value] warning: out of bounds write. assert \valid(p); -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:359. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ (char const *)&u }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possible uninitialized values -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:360. -tests/non-free/strchr.c:49:[kernel] more than 200(201) locations to update in array. Approximating. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ (char const *)&r }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possible uninitialized values -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:361. -tests/non-free/strchr.c:49:[kernel] more than 200(1000000) locations to update in array. Approximating. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ (char const *)&t }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possible uninitialized values -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:362:[value] Frama_C_show_each: {1}, {1}, {1} -tests/non-free/strchr.c:363:[value] assertion got status valid. -tests/non-free/strchr.c:364:[value] assertion got status valid. -tests/non-free/strchr.c:365:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:367. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &u + [0..4294967295] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: + Called from tests/non-free/strchr.c:567. +tests/non-free/strchr.c:363:[value] warning: out of bounds write. assert \valid(p); +tests/non-free/strchr.c:365:[value] warning: out of bounds write. assert \valid(p); +tests/non-free/strchr.c:367:[value] warning: out of bounds write. assert \valid(p); +tests/non-free/strchr.c:376:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:376:[value] Call to builtin Frama_C_strchr(({{ (char const *)&u }},{0})) +tests/non-free/strchr.c:376:[value] builtin Frama_C_strchr: possible uninitialized values +tests/non-free/strchr.c:376:[value] Frama_C_show_each_mystrchr: {1} +tests/non-free/strchr.c:377:[kernel] more than 200(201) locations to update in array. Approximating. +tests/non-free/strchr.c:377:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:377:[value] Call to builtin Frama_C_strchr(({{ (char const *)&r }},{0})) +tests/non-free/strchr.c:377:[value] builtin Frama_C_strchr: possible uninitialized values +tests/non-free/strchr.c:377:[value] Frama_C_show_each_mystrchr: {1} +tests/non-free/strchr.c:378:[kernel] more than 200(1000000) locations to update in array. Approximating. +tests/non-free/strchr.c:378:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:378:[value] Call to builtin Frama_C_strchr(({{ (char const *)&t }},{0})) +tests/non-free/strchr.c:378:[value] builtin Frama_C_strchr: possible uninitialized values +tests/non-free/strchr.c:378:[value] Frama_C_show_each_mystrchr: {1} +tests/non-free/strchr.c:379:[value] Frama_C_show_each: {1}, {1}, {1} +tests/non-free/strchr.c:380:[value] assertion got status valid. +tests/non-free/strchr.c:381:[value] assertion got status valid. +tests/non-free/strchr.c:382:[value] assertion got status valid. +tests/non-free/strchr.c:384:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:384:[value] Call to builtin Frama_C_strchr(({{ &u + [-2147483648..2147483647] }},{0})) +tests/non-free/strchr.c:384:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..799] -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:368. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &r + [0..4294967295] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:384:[value] Frama_C_show_each_mystrchr: [-1..799] +tests/non-free/strchr.c:385:[kernel] more than 200(201) locations to update in array. Approximating. +tests/non-free/strchr.c:385:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:385:[value] Call to builtin Frama_C_strchr(({{ &r + [-2147483648..2147483647] }},{0})) +tests/non-free/strchr.c:385:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..803] -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:369. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &t + [0..4294967295] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:385:[value] Frama_C_show_each_mystrchr: [-1..803] +tests/non-free/strchr.c:386:[kernel] more than 200(1000000) locations to update in array. Approximating. +tests/non-free/strchr.c:386:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:386:[value] Call to builtin Frama_C_strchr(({{ &t + [-2147483648..2147483647] }},{0})) +tests/non-free/strchr.c:386:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..3999999] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:370:[value] Frama_C_show_each: [-1..799], [-1..803], [-1..3999999] -tests/non-free/strchr.c:371:[value] assertion got status valid. -tests/non-free/strchr.c:372:[value] assertion got status valid. -tests/non-free/strchr.c:373:[value] assertion got status valid. -tests/non-free/strchr.c:374:[value] warning: assertion 'refined' got status unknown. -tests/non-free/strchr.c:375:[value] warning: assertion 'refined' got status unknown. -tests/non-free/strchr.c:376:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:386:[value] Frama_C_show_each_mystrchr: [-1..3999999] +tests/non-free/strchr.c:387:[value] Frama_C_show_each: [-1..799], [-1..803], [-1..3999999] +tests/non-free/strchr.c:388:[value] assertion got status valid. +tests/non-free/strchr.c:389:[value] assertion got status valid. +tests/non-free/strchr.c:390:[value] assertion got status valid. +tests/non-free/strchr.c:391:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:392:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:393:[value] warning: assertion 'refined' got status unknown. [value] computing for function init_array_nondet <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:378. -tests/non-free/strchr.c:180:[value] Call to builtin memset(({{ (void *)&u }},{0; 1},{800})) + Called from tests/non-free/strchr.c:395. +tests/non-free/strchr.c:199:[value] Call to builtin memset(({{ (void *)&u }},{0; 1},{800})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function init_array_nondet <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:379. -tests/non-free/strchr.c:180:[value] Call to builtin memset(({{ (void *)&r }},{0; 1},{804})) + Called from tests/non-free/strchr.c:396. +tests/non-free/strchr.c:199:[value] Call to builtin memset(({{ (void *)&r }},{0; 1},{804})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet [value] computing for function init_array_nondet <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:380. -tests/non-free/strchr.c:180:[value] Call to builtin memset(({{ (void *)&t }},{0; 1},{4000000})) + Called from tests/non-free/strchr.c:397. +tests/non-free/strchr.c:199:[value] Call to builtin memset(({{ (void *)&t }},{0; 1},{4000000})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet -tests/non-free/strchr.c:382:[value] warning: out of bounds write. assert \valid(p); -tests/non-free/strchr.c:384:[value] warning: out of bounds write. assert \valid(p); -tests/non-free/strchr.c:386:[value] warning: out of bounds write. assert \valid(p); -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:387. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ (char const *)&u }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [0..799] -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:388. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ (char const *)&r }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [0..803] -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:389. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ (char const *)&t }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [0..3999999] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:390:[value] Frama_C_show_each: [0..799], [0..803], [0..3999999] -tests/non-free/strchr.c:391:[value] assertion got status valid. -tests/non-free/strchr.c:392:[value] assertion got status valid. -tests/non-free/strchr.c:393:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:395. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &u + [0..4294967295] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:399:[value] warning: out of bounds write. assert \valid(p); +tests/non-free/strchr.c:401:[value] warning: out of bounds write. assert \valid(p); +tests/non-free/strchr.c:403:[value] warning: out of bounds write. assert \valid(p); +tests/non-free/strchr.c:404:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:404:[value] Call to builtin Frama_C_strchr(({{ (char const *)&u }},{0})) +tests/non-free/strchr.c:404:[value] builtin Frama_C_strchr: possibly reading indeterminate data +tests/non-free/strchr.c:404:[value] Frama_C_show_each_mystrchr: [0..799] +tests/non-free/strchr.c:405:[kernel] more than 200(201) locations to update in array. Approximating. +tests/non-free/strchr.c:405:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:405:[value] Call to builtin Frama_C_strchr(({{ (char const *)&r }},{0})) +tests/non-free/strchr.c:405:[value] builtin Frama_C_strchr: possibly reading indeterminate data +tests/non-free/strchr.c:405:[value] Frama_C_show_each_mystrchr: [0..803] +tests/non-free/strchr.c:406:[kernel] more than 200(1000000) locations to update in array. Approximating. +tests/non-free/strchr.c:406:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:406:[value] Call to builtin Frama_C_strchr(({{ (char const *)&t }},{0})) +tests/non-free/strchr.c:406:[value] builtin Frama_C_strchr: possibly reading indeterminate data +tests/non-free/strchr.c:406:[value] Frama_C_show_each_mystrchr: [0..3999999] +tests/non-free/strchr.c:407:[value] Frama_C_show_each: [0..799], [0..803], [0..3999999] +tests/non-free/strchr.c:408:[value] assertion got status valid. +tests/non-free/strchr.c:409:[value] assertion got status valid. +tests/non-free/strchr.c:410:[value] assertion got status valid. +tests/non-free/strchr.c:412:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:412:[value] Call to builtin Frama_C_strchr(({{ &u + [-2147483648..2147483647] }},{0})) +tests/non-free/strchr.c:412:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..799] -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:396. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &r + [0..4294967295] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:412:[value] Frama_C_show_each_mystrchr: [-1..799] +tests/non-free/strchr.c:413:[kernel] more than 200(201) locations to update in array. Approximating. +tests/non-free/strchr.c:413:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:413:[value] Call to builtin Frama_C_strchr(({{ &r + [-2147483648..2147483647] }},{0})) +tests/non-free/strchr.c:413:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..803] -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_big_array <- main. - Called from tests/non-free/strchr.c:397. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &t + [0..4294967295] }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: +tests/non-free/strchr.c:413:[value] Frama_C_show_each_mystrchr: [-1..803] +tests/non-free/strchr.c:414:[kernel] more than 200(1000000) locations to update in array. Approximating. +tests/non-free/strchr.c:414:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:414:[value] Call to builtin Frama_C_strchr(({{ &t + [-2147483648..2147483647] }},{0})) +tests/non-free/strchr.c:414:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..3999999] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:398:[value] Frama_C_show_each: [-1..799], [-1..803], [-1..3999999] -tests/non-free/strchr.c:399:[value] assertion got status valid. -tests/non-free/strchr.c:400:[value] assertion got status valid. -tests/non-free/strchr.c:401:[value] assertion got status valid. -tests/non-free/strchr.c:402:[value] warning: assertion 'refined' got status unknown. -tests/non-free/strchr.c:403:[value] warning: assertion 'refined' got status unknown. -tests/non-free/strchr.c:404:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:414:[value] Frama_C_show_each_mystrchr: [-1..3999999] +tests/non-free/strchr.c:415:[value] Frama_C_show_each: [-1..799], [-1..803], [-1..3999999] +tests/non-free/strchr.c:416:[value] assertion got status valid. +tests/non-free/strchr.c:417:[value] assertion got status valid. +tests/non-free/strchr.c:418:[value] assertion got status valid. +tests/non-free/strchr.c:419:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:420:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:421:[value] warning: assertion 'refined' got status unknown. [value] Recording results for strchr_big_array [value] Done for function strchr_big_array [value] computing for function strchr_no_zero_but_ok <- main. - Called from tests/non-free/strchr.c:550. -[value] computing for function my_strchr <- strchr_no_zero_but_ok <- main. - Called from tests/non-free/strchr.c:415. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &s[0] }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {10} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:416:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_no_zero_but_ok <- main. - Called from tests/non-free/strchr.c:417. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &s[0] }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {10} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:418:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_no_zero_but_ok <- main. - Called from tests/non-free/strchr.c:420. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &s{[1], [8]} }},{0})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {10} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:421:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_no_zero_but_ok <- main. - Called from tests/non-free/strchr.c:423. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &s{[7], [11]} }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {10; 14; 15; 16; 17; 18; 19} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:424:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_no_zero_but_ok <- main. - Called from tests/non-free/strchr.c:426. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &s{[7], [18]} }},{0})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {10; 18; 19} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:427:[value] assertion got status valid. + Called from tests/non-free/strchr.c:568. +tests/non-free/strchr.c:432:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:432:[value] Call to builtin Frama_C_strchr(({{ &s[0] }},{0})) +tests/non-free/strchr.c:432:[value] Frama_C_show_each_mystrchr: {10} +tests/non-free/strchr.c:433:[value] assertion got status valid. +tests/non-free/strchr.c:434:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:434:[value] Call to builtin Frama_C_strchr(({{ &s[0] }},{0})) +tests/non-free/strchr.c:434:[value] Frama_C_show_each_mystrchr: {10} +tests/non-free/strchr.c:435:[value] assertion got status valid. +tests/non-free/strchr.c:437:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:437:[value] Call to builtin Frama_C_strchr(({{ &s{[1], [8]} }},{0})) +tests/non-free/strchr.c:437:[value] Frama_C_show_each_mystrchr: {10} +tests/non-free/strchr.c:438:[value] assertion got status valid. +tests/non-free/strchr.c:440:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:440:[value] Call to builtin Frama_C_strchr(({{ &s{[7], [11]} }},{0})) +tests/non-free/strchr.c:440:[value] builtin Frama_C_strchr: possibly reading indeterminate data +tests/non-free/strchr.c:440:[value] Frama_C_show_each_mystrchr: {10; 14; 15; 16; 17; 18; 19} +tests/non-free/strchr.c:441:[value] assertion got status valid. +tests/non-free/strchr.c:443:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:443:[value] Call to builtin Frama_C_strchr(({{ &s{[7], [18]} }},{0})) +tests/non-free/strchr.c:443:[value] builtin Frama_C_strchr: possibly reading indeterminate data +tests/non-free/strchr.c:443:[value] Frama_C_show_each_mystrchr: {10; 18; 19} +tests/non-free/strchr.c:444:[value] assertion got status valid. [value] Recording results for strchr_no_zero_but_ok [value] Done for function strchr_no_zero_but_ok [value] computing for function strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:551. -tests/non-free/strchr.c:455:[value] Frama_C_show_each_c: {97} + Called from tests/non-free/strchr.c:569. +tests/non-free/strchr.c:473:[value] Frama_C_show_each_c: {97} [value] computing for function strchr_small_sets_no_assertions <- strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:456. -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:435. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{97})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 0} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:438. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{97})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:440. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "" }},{97})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:443. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{97})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1} -[value] Recording results for my_strchr -[value] Done for function my_strchr + Called from tests/non-free/strchr.c:474. +tests/non-free/strchr.c:452:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:452:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{97})) +tests/non-free/strchr.c:452:[value] Frama_C_show_each_mystrchr: {-1; 0} +tests/non-free/strchr.c:455:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:455:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{97})) +tests/non-free/strchr.c:455:[value] builtin Frama_C_strchr: reading indeterminate data +tests/non-free/strchr.c:455:[value] Frama_C_show_each_mystrchr: {-1} +tests/non-free/strchr.c:457:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:457:[value] Call to builtin Frama_C_strchr(({{ "" }},{97})) +tests/non-free/strchr.c:457:[value] builtin Frama_C_strchr: reading indeterminate data +tests/non-free/strchr.c:457:[value] Frama_C_show_each_mystrchr: {-1} +tests/non-free/strchr.c:460:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:460:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{97})) +tests/non-free/strchr.c:460:[value] builtin Frama_C_strchr: reading indeterminate data +tests/non-free/strchr.c:460:[value] Frama_C_show_each_mystrchr: {-1} +tests/non-free/strchr.c:465:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:465:[value] Call to builtin Frama_C_strchr(({{ &t[0] }},{97})) +tests/non-free/strchr.c:465:[value] Frama_C_show_each_mystrchr: {-1; 0; 1} [value] Recording results for strchr_small_sets_no_assertions [value] Done for function strchr_small_sets_no_assertions -tests/non-free/strchr.c:457:[value] Frama_C_show_each_res: {-1; 0}, {-1}, {-1}, {-1}, Bottom -tests/non-free/strchr.c:458:[value] assertion got status valid. -tests/non-free/strchr.c:459:[value] assertion got status valid. -tests/non-free/strchr.c:460:[value] assertion got status valid. -tests/non-free/strchr.c:461:[value] assertion got status valid. -tests/non-free/strchr.c:462:[value] warning: assertion got status unknown. +tests/non-free/strchr.c:475:[value] Frama_C_show_each_res: {-1; 0}, {-1}, {-1}, {-1}, {-1; 0; 1} +tests/non-free/strchr.c:476:[value] assertion got status valid. +tests/non-free/strchr.c:477:[value] assertion got status valid. +tests/non-free/strchr.c:478:[value] assertion got status valid. +tests/non-free/strchr.c:479:[value] assertion got status valid. +tests/non-free/strchr.c:480:[value] warning: assertion got status unknown. [value] computing for function strchr_small_sets_no_assertions <- strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:465. -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:435. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{98})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:438. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{98})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:440. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "" }},{98})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:443. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{98})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 0} -[value] Recording results for my_strchr -[value] Done for function my_strchr + Called from tests/non-free/strchr.c:483. +tests/non-free/strchr.c:452:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{98})) +tests/non-free/strchr.c:452:[value] Frama_C_show_each_mystrchr: {1} +tests/non-free/strchr.c:455:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{98})) +tests/non-free/strchr.c:455:[value] Frama_C_show_each_mystrchr: {-1; 1} +tests/non-free/strchr.c:457:[value] Call to builtin Frama_C_strchr(({{ "" }},{98})) +tests/non-free/strchr.c:457:[value] builtin Frama_C_strchr: reading indeterminate data +tests/non-free/strchr.c:457:[value] Frama_C_show_each_mystrchr: {-1} +tests/non-free/strchr.c:460:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{98})) +tests/non-free/strchr.c:460:[value] Frama_C_show_each_mystrchr: {-1; 0} +tests/non-free/strchr.c:465:[value] Call to builtin Frama_C_strchr(({{ &t[0] }},{98})) +tests/non-free/strchr.c:465:[value] Frama_C_show_each_mystrchr: {-1; 0; 1} [value] Recording results for strchr_small_sets_no_assertions [value] Done for function strchr_small_sets_no_assertions -tests/non-free/strchr.c:466:[value] Frama_C_show_each_res: {1}, {-1; 1}, {-1}, {-1; 0}, Bottom -tests/non-free/strchr.c:467:[value] assertion got status valid. -tests/non-free/strchr.c:468:[value] assertion got status valid. -tests/non-free/strchr.c:469:[value] assertion got status valid. -tests/non-free/strchr.c:470:[value] assertion got status valid. -tests/non-free/strchr.c:471:[value] warning: assertion got status unknown. -tests/non-free/strchr.c:474:[value] Frama_C_show_each_c: {97; 98} +tests/non-free/strchr.c:484:[value] Frama_C_show_each_res: {1}, {-1; 1}, {-1}, {-1; 0}, {-1; 0; 1} +tests/non-free/strchr.c:485:[value] assertion got status valid. +tests/non-free/strchr.c:486:[value] assertion got status valid. +tests/non-free/strchr.c:487:[value] assertion got status valid. +tests/non-free/strchr.c:488:[value] assertion got status valid. +tests/non-free/strchr.c:489:[value] warning: assertion got status unknown. +tests/non-free/strchr.c:492:[value] Frama_C_show_each_c: {97; 98} [value] computing for function strchr_small_sets_no_assertions <- strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:475. -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:435. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{97; 98})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 0; 1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:438. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{97; 98})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:440. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "" }},{97; 98})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:443. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{97; 98})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 0} -[value] Recording results for my_strchr -[value] Done for function my_strchr + Called from tests/non-free/strchr.c:493. +tests/non-free/strchr.c:452:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{97; 98})) +tests/non-free/strchr.c:452:[value] Frama_C_show_each_mystrchr: {-1; 0; 1} +tests/non-free/strchr.c:455:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{97; 98})) +tests/non-free/strchr.c:455:[value] Frama_C_show_each_mystrchr: {-1; 1} +tests/non-free/strchr.c:457:[value] Call to builtin Frama_C_strchr(({{ "" }},{97; 98})) +tests/non-free/strchr.c:457:[value] builtin Frama_C_strchr: reading indeterminate data +tests/non-free/strchr.c:457:[value] Frama_C_show_each_mystrchr: {-1} +tests/non-free/strchr.c:460:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{97; 98})) +tests/non-free/strchr.c:460:[value] Frama_C_show_each_mystrchr: {-1; 0} +tests/non-free/strchr.c:465:[value] Call to builtin Frama_C_strchr(({{ &t[0] }},{97; 98})) +tests/non-free/strchr.c:465:[value] Frama_C_show_each_mystrchr: {-1; 0; 1} [value] Recording results for strchr_small_sets_no_assertions [value] Done for function strchr_small_sets_no_assertions -tests/non-free/strchr.c:476:[value] Frama_C_show_each_res: {-1; 0; 1}, {-1; 1}, {-1}, {-1; 0}, Bottom -tests/non-free/strchr.c:478:[value] assertion got status valid. -tests/non-free/strchr.c:479:[value] assertion got status valid. -tests/non-free/strchr.c:480:[value] assertion got status valid. -tests/non-free/strchr.c:481:[value] assertion got status valid. -tests/non-free/strchr.c:482:[value] warning: assertion got status unknown. -tests/non-free/strchr.c:485:[value] Frama_C_show_each_c: {98; 99} +tests/non-free/strchr.c:494:[value] Frama_C_show_each_res: {-1; 0; 1}, {-1; 1}, {-1}, {-1; 0}, {-1; 0; 1} +tests/non-free/strchr.c:496:[value] assertion got status valid. +tests/non-free/strchr.c:497:[value] assertion got status valid. +tests/non-free/strchr.c:498:[value] assertion got status valid. +tests/non-free/strchr.c:499:[value] assertion got status valid. +tests/non-free/strchr.c:500:[value] warning: assertion got status unknown. +tests/non-free/strchr.c:503:[value] Frama_C_show_each_c: {98; 99} [value] computing for function strchr_small_sets_no_assertions <- strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:486. -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:435. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{98; 99})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 1; 2} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:438. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{98; 99})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 1; 2} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:440. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "" }},{98; 99})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:443. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{98; 99})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 0; 2} -[value] Recording results for my_strchr -[value] Done for function my_strchr + Called from tests/non-free/strchr.c:504. +tests/non-free/strchr.c:452:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{98; 99})) +tests/non-free/strchr.c:452:[value] Frama_C_show_each_mystrchr: {-1; 1; 2} +tests/non-free/strchr.c:455:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{98; 99})) +tests/non-free/strchr.c:455:[value] Frama_C_show_each_mystrchr: {-1; 1; 2} +tests/non-free/strchr.c:457:[value] Call to builtin Frama_C_strchr(({{ "" }},{98; 99})) +tests/non-free/strchr.c:457:[value] builtin Frama_C_strchr: reading indeterminate data +tests/non-free/strchr.c:457:[value] Frama_C_show_each_mystrchr: {-1} +tests/non-free/strchr.c:460:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{98; 99})) +tests/non-free/strchr.c:460:[value] Frama_C_show_each_mystrchr: {-1; 0; 2} +tests/non-free/strchr.c:465:[value] Call to builtin Frama_C_strchr(({{ &t[0] }},{98; 99})) +tests/non-free/strchr.c:465:[value] Frama_C_show_each_mystrchr: {-1; 0; 1} [value] Recording results for strchr_small_sets_no_assertions [value] Done for function strchr_small_sets_no_assertions -tests/non-free/strchr.c:487:[value] Frama_C_show_each_res: {-1; 1; 2}, {-1; 1; 2}, {-1}, {-1; 0; 2}, Bottom -tests/non-free/strchr.c:488:[value] assertion got status valid. -tests/non-free/strchr.c:489:[value] warning: assertion 'refined' got status unknown. -tests/non-free/strchr.c:490:[value] assertion got status valid. -tests/non-free/strchr.c:491:[value] assertion got status valid. -tests/non-free/strchr.c:492:[value] assertion got status valid. -tests/non-free/strchr.c:493:[value] warning: assertion got status unknown. -tests/non-free/strchr.c:496:[value] Frama_C_show_each_c: {0; 98; 99} +tests/non-free/strchr.c:505:[value] Frama_C_show_each_res: {-1; 1; 2}, {-1; 1; 2}, {-1}, {-1; 0; 2}, {-1; 0; 1} +tests/non-free/strchr.c:506:[value] assertion got status valid. +tests/non-free/strchr.c:507:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:508:[value] assertion got status valid. +tests/non-free/strchr.c:509:[value] assertion got status valid. +tests/non-free/strchr.c:510:[value] assertion got status valid. +tests/non-free/strchr.c:511:[value] warning: assertion got status unknown. +tests/non-free/strchr.c:514:[value] Frama_C_show_each_c: {0; 98; 99} [value] computing for function strchr_small_sets_no_assertions <- strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:497. -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:435. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{0; 98; 99})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 1; 2; 3} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:438. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{0; 98; 99})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 0; 1; 2; 3} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:440. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "" }},{0; 98; 99})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 0} -[value] Recording results for my_strchr -[value] Done for function my_strchr -[value] computing for function my_strchr <- strchr_small_sets_no_assertions <- - strchr_small_sets_chars <- main. - Called from tests/non-free/strchr.c:443. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{0; 98; 99})) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 0; 1; 2; 3} -[value] Recording results for my_strchr -[value] Done for function my_strchr + Called from tests/non-free/strchr.c:515. +tests/non-free/strchr.c:452:[value] Call to builtin Frama_C_strchr(({{ "abc" + {0; 1} }},{0; 98; 99})) +tests/non-free/strchr.c:452:[value] Frama_C_show_each_mystrchr: {-1; 1; 2; 3} +tests/non-free/strchr.c:455:[value] Call to builtin Frama_C_strchr(({{ "\000bc" + {0; 1} }},{0; 98; 99})) +tests/non-free/strchr.c:455:[value] Frama_C_show_each_mystrchr: {-1; 0; 1; 2; 3} +tests/non-free/strchr.c:457:[value] Call to builtin Frama_C_strchr(({{ "" }},{0; 98; 99})) +tests/non-free/strchr.c:457:[value] Frama_C_show_each_mystrchr: {-1; 0} +tests/non-free/strchr.c:460:[value] Call to builtin Frama_C_strchr(({{ "b\000c" + {0; 2} }},{0; 98; 99})) +tests/non-free/strchr.c:460:[value] Frama_C_show_each_mystrchr: {-1; 0; 1; 2; 3} +tests/non-free/strchr.c:465:[value] Call to builtin Frama_C_strchr(({{ &t[0] }},{0; 98; 99})) +tests/non-free/strchr.c:465:[value] Frama_C_show_each_mystrchr: {-1; 0; 1; 2; 3} [value] Recording results for strchr_small_sets_no_assertions [value] Done for function strchr_small_sets_no_assertions -tests/non-free/strchr.c:498:[value] Frama_C_show_each_res: - {-1; 1; 2; 3}, {-1; 0; 1; 2; 3}, {-1; 0}, {-1; 0; 1; 2; 3}, Bottom -tests/non-free/strchr.c:499:[value] assertion got status valid. -tests/non-free/strchr.c:500:[value] warning: assertion 'refined' got status unknown. -tests/non-free/strchr.c:501:[value] assertion got status valid. -tests/non-free/strchr.c:502:[value] assertion got status valid. -tests/non-free/strchr.c:503:[value] assertion got status valid. -tests/non-free/strchr.c:504:[value] warning: assertion got status unknown. +tests/non-free/strchr.c:516:[value] Frama_C_show_each_res: + {-1; 1; 2; 3}, {-1; 0; 1; 2; 3}, {-1; 0}, {-1; 0; 1; 2; 3}, {-1; 0; 1; 2; 3} +tests/non-free/strchr.c:517:[value] assertion got status valid. +tests/non-free/strchr.c:518:[value] warning: assertion 'refined' got status unknown. +tests/non-free/strchr.c:519:[value] assertion got status valid. +tests/non-free/strchr.c:520:[value] assertion got status valid. +tests/non-free/strchr.c:521:[value] assertion got status valid. +tests/non-free/strchr.c:522:[value] warning: assertion got status unknown. [value] Recording results for strchr_small_sets_chars [value] Done for function strchr_small_sets_chars [value] computing for function strchr_unbounded <- main. - Called from tests/non-free/strchr.c:552. -[value] computing for function my_strchr <- strchr_unbounded <- main. - Called from tests/non-free/strchr.c:511. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ "abcd" }},[-128..127])) -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1; 0; 1; 2; 3; 4} -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:512:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_unbounded <- main. - Called from tests/non-free/strchr.c:516. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &t[0] ; "ABCDEFGHIJKLMNOPQRSTUVWXYZ" }}, + Called from tests/non-free/strchr.c:570. +tests/non-free/strchr.c:529:[value] function strchr: precondition 'valid_string_src' got status valid. +tests/non-free/strchr.c:529:[value] Call to builtin Frama_C_strchr(({{ "abcd" }},[-128..127])) +tests/non-free/strchr.c:529:[value] Frama_C_show_each_mystrchr: {-1; 0; 1; 2; 3; 4} +tests/non-free/strchr.c:530:[value] assertion got status valid. +tests/non-free/strchr.c:534:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:534:[value] Call to builtin Frama_C_strchr(({{ &t[0] ; "ABCDEFGHIJKLMNOPQRSTUVWXYZ" }}, [-128..127])) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..26] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:517:[value] assertion got status valid. +tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: reading indeterminate data +tests/non-free/strchr.c:534:[value] warning: pointer subtraction. assert \base_addr(_ss_0) ≡ \base_addr(s); +tests/non-free/strchr.c:534:[value] Frama_C_show_each_mystrchr: [-1..26] +tests/non-free/strchr.c:535:[value] assertion got status valid. [value] computing for function init_array_nondet <- strchr_unbounded <- main. - Called from tests/non-free/strchr.c:518. -tests/non-free/strchr.c:180:[value] Call to builtin memset(({{ (void *)&t }},{0; 1},{30})) + Called from tests/non-free/strchr.c:536. +tests/non-free/strchr.c:199:[value] Call to builtin memset(({{ (void *)&t }},{0; 1},{30})) [value] Recording results for init_array_nondet [value] Done for function init_array_nondet -[value] computing for function my_strchr <- strchr_unbounded <- main. - Called from tests/non-free/strchr.c:519. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &t[0] ; "ABCDEFGHIJKLMNOPQRSTUVWXYZ" }}, +tests/non-free/strchr.c:537:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:537:[value] Call to builtin Frama_C_strchr(({{ &t[0] ; "ABCDEFGHIJKLMNOPQRSTUVWXYZ" }}, [-128..127])) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..29] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:520:[value] assertion got status valid. -[value] computing for function my_strchr <- strchr_unbounded <- main. - Called from tests/non-free/strchr.c:521. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ &t + [0..4294967295] ; +tests/non-free/strchr.c:537:[value] builtin Frama_C_strchr: possibly reading indeterminate data +tests/non-free/strchr.c:537:[value] warning: pointer subtraction. assert \base_addr(_ss_1) ≡ \base_addr(s); +tests/non-free/strchr.c:537:[value] Frama_C_show_each_mystrchr: [-1..29] +tests/non-free/strchr.c:538:[value] assertion got status valid. +tests/non-free/strchr.c:539:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:539:[value] Call to builtin Frama_C_strchr(({{ &t + [-2147483648..2147483647] ; "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + - [0..4294967295] }},[-128..127])) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: + [-2147483648..2147483647] }},[-128..127])) +tests/non-free/strchr.c:539:[value] builtin Frama_C_strchr: range too large and/or imprecise, approximating possible uninitialized values possible escaping addresses possibly reading indeterminate data -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: [-1..29] -[value] Recording results for my_strchr -[value] Done for function my_strchr -tests/non-free/strchr.c:522:[value] assertion got status valid. +tests/non-free/strchr.c:539:[value] warning: pointer subtraction. assert \base_addr(_ss_2) ≡ \base_addr(s); +tests/non-free/strchr.c:539:[value] Frama_C_show_each_mystrchr: [-1..29] +tests/non-free/strchr.c:540:[value] assertion got status valid. [value] Recording results for strchr_unbounded [value] Done for function strchr_unbounded [value] computing for function strchr_invalid <- main. - Called from tests/non-free/strchr.c:553. -[value] computing for function my_strchr <- strchr_invalid <- main. - Called from tests/non-free/strchr.c:528. -tests/non-free/strchr.c:49:[value] Call to builtin Frama_C_strchr(({{ garbled mix of &{s; "hello"} + Called from tests/non-free/strchr.c:571. +tests/non-free/strchr.c:546:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:546:[value] Call to builtin Frama_C_strchr(({{ garbled mix of &{s; "hello"} (origin: Arithmetic - {tests/non-free/strchr.c:49}) }},{1})) -tests/non-free/strchr.c:49:[value] builtin Frama_C_strchr: + {tests/non-free/strchr.c:546}) }},{1})) +tests/non-free/strchr.c:546:[value] builtin Frama_C_strchr: string argument is too imprecise, cannot compute a useful result. -tests/non-free/strchr.c:56:[value] Frama_C_show_each_mystrchr: {-1} -[value] Recording results for my_strchr -[value] Done for function my_strchr +tests/non-free/strchr.c:546:[value] warning: pointer subtraction. assert \base_addr(_ss) ≡ \base_addr(s); +tests/non-free/strchr.c:546:[value] Frama_C_show_each_mystrchr: {-1} [value] Recording results for strchr_invalid [value] Done for function strchr_invalid [value] computing for function strchr_garbled_mix_in_char <- main. - Called from tests/non-free/strchr.c:554. -tests/non-free/strchr.c:533:[value] Assigning imprecise value to garbled. - The imprecision originates from Arithmetic {tests/non-free/strchr.c:533} -tests/non-free/strchr.c:534:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. -tests/non-free/strchr.c:534:[value] Call to builtin Frama_C_strchr(({{ garbled mix of &{x} + Called from tests/non-free/strchr.c:572. +tests/non-free/strchr.c:551:[value] Assigning imprecise value to garbled. + The imprecision originates from Arithmetic {tests/non-free/strchr.c:551} +tests/non-free/strchr.c:552:[value] warning: function strchr: precondition 'valid_string_src' got status unknown. +tests/non-free/strchr.c:552:[value] Call to builtin Frama_C_strchr(({{ garbled mix of &{x} (origin: Arithmetic - {tests/non-free/strchr.c:533}) }}, + {tests/non-free/strchr.c:551}) }}, {{ garbled mix of &{x} (origin: Arithmetic - {tests/non-free/strchr.c:533}) }})) -tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: + {tests/non-free/strchr.c:551}) }})) +tests/non-free/strchr.c:552:[value] builtin Frama_C_strchr: assert(no address in second argument of Frama_C_strchr) [value] Recording results for strchr_garbled_mix_in_char [value] Done for function strchr_garbled_mix_in_char [value] Recording results for main [value] done for function main -[scope:rm_asserts] removing 3 assertion(s) +tests/non-free/strchr.c:546:[value] assertion 'Value,differing_blocks' got final status invalid. [value] ====== VALUES COMPUTED ====== [value:final-states] Values at end of function init_array_nondet: from ∈ {-1} @@ -965,31 +694,6 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: r[0..200] ∈ {0; 16843009; 270729319} or UNINITIALIZED t[0..999999] ∈ {0; 16843009; 270729319} or UNINITIALIZED t[0..29] ∈ {0; 1} -[value:final-states] Values at end of function my_strchr: - ss ∈ - {{ NULL ; &t{[0], [1]} ; &empty_or_non_terminated[0] ; - &empty_or_uninitialized[0] ; &s[1] ; &t[3] ; &s + {2} ; &a + [0..99] ; - &a + [0..79] ; &s[0] ; &maybe_init[1] ; &u + [0..799] ; - &r + [0..803] ; &t + [0..3999999] ; - &s{[10], [14], [15], [16], [17], [18], [19]} ; &t + [0..29] ; - "" ; "a" + {1} ; "aa" + {2} ; "aaa" + {3} ; "aaaa" + {4} ; - "aaaaa" + {5} ; "aaaaaa" + {6} ; "aaaaaaaaa" + {9} ; - "aaaaaaaaaa" + {10} ; "aaaaaaaaaaa" + {11} ; "aaaaaaaaaaaa" + {12} ; - "aaaaaaaaaaaaa" + {13} ; "abc" + {3} ; "\000bc" + {0; 3} ; "" ; - "b\000c" + {1; 3} ; "Hello World\n" + {12} ; - "abc\000\000\000abc" + {3; 4; 5; 9} ; "Bonjour Monde\n" + {14} ; - "mno\000pqr" + {3; 7} ; "MNOP\000QRS" + {4; 8} ; - "abc" + {0; 1; 2; 3} ; "\000bc" + {0; 1; 2; 3} ; "" ; - "b\000c" + {0; 1; 2; 3} ; "abcd" + {0; 1; 2; 3; 4} ; - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + [0..26] }} - res ∈ [-1..3999999] -[value:final-states] Values at end of function my_strchr2: - p ∈ - {{ &x + {0; 3} ; "abc" + {0; 1} ; "ABCD" + {0; 1} ; "efg" + {1; 2} ; - "EFGH" + {1; 2} }} - s ∈ - {{ (char *)&x ; "abc" + {3} ; "ABCD" + {4} ; "efg" + {3} ; "EFGH" + {4} }} - res ∈ {0; 3; 4} [value:final-states] Values at end of function strchr_big_array: c ∈ {0} u[0..199] ∈ {0; 16843009; 270729319} @@ -1024,7 +728,7 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: [value:final-states] Values at end of function strchr_garbled_mix_in_char: garbled ∈ {{ garbled mix of &{x} - (origin: Arithmetic {tests/non-free/strchr.c:533}) }} + (origin: Arithmetic {tests/non-free/strchr.c:551}) }} [value:final-states] Values at end of function strchr_initialization: c ∈ {0} empty_or_uninitialized[0] ∈ {0} or UNINITIALIZED @@ -1038,6 +742,7 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: z3 ∈ {3} [value:final-states] Values at end of function strchr_invalid: s ∈ {{ "hello" }} + unused ∈ {-1} [value:final-states] Values at end of function strchr_large: Frama_C_entropy_source ∈ [--..--] c ∈ {0} @@ -1071,12 +776,6 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: loc_char_array[0..2] ∈ UNINITIALIZED [3] ∈ {0} [4] ∈ UNINITIALIZED - sz1 ∈ {12; 14} - sz2 ∈ {0} - sz4a ∈ {3} - sz4b ∈ {4} - sz4c ∈ {5} - sz4d ∈ {9} x ∈ {-1412567296} str ∈ {{ (char *)&x }} unterminated_string[0] ∈ {117} @@ -1091,17 +790,22 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: [9] ∈ {116} [10] ∈ {101} [11] ∈ {100} + sz1 ∈ {12; 14} + sz2 ∈ {0} + sz4a ∈ {3} + sz4b ∈ {4} + sz4c ∈ {5} + sz4d ∈ {9} static_str ∈ {{ "Hello World\n" }} zero_str ∈ {{ "abc\000\000\000abc" }} [value:final-states] Values at end of function strchr_misc2: c ∈ {0} + s1 ∈ {{ "mno\000pqr" ; "MNOP\000QRS" }} sz5 ∈ {3; 4} sz6 ∈ {3; 4} - sz7 ∈ {3; 4; 7; 8} or UNINITIALIZED - sz8 ∈ {1} - s1 ∈ {{ "mno\000pqr" ; "MNOP\000QRS" }} maybe_init[0] ∈ {65} or UNINITIALIZED [1] ∈ {0} + sz8 ∈ {1} [value:final-states] Values at end of function strchr_misc_array: Frama_C_entropy_source ∈ [--..--] c ∈ {0} @@ -1134,11 +838,11 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: s ∈ {{ "b\000c" }} o ∈ {0; 2} t[0..1] ∈ {0; 1; 97; 98; 99} - [2..3] ∈ {1} + [2] ∈ {1} + [3] ∈ {0} res[0..1] ∈ {-1; 0; 1; 2; 3} [2] ∈ {-1; 0} - [3] ∈ {-1; 0; 1; 2; 3} - [4] ∈ UNINITIALIZED + [3..4] ∈ {-1; 0; 1; 2; 3} __retres ∈ {0} [value:final-states] Values at end of function strchr_small_sets_chars: c ∈ {0; 98; 99} @@ -1146,7 +850,7 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: [1] ∈ {-1; 0; 1; 2; 3} [2] ∈ {-1; 0} [3] ∈ {-1; 0; 1; 2; 3} - [4] ∈ UNINITIALIZED + [4] ∈ {-1; 0; 1; 3} [value:final-states] Values at end of function strchr_unbounded: c ∈ [--..--] s ∈ {{ &t[0] ; "ABCDEFGHIJKLMNOPQRSTUVWXYZ" }} @@ -1174,13 +878,9 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: [from] Computing for function memset <-init_array_nondet [from] Done for function memset [from] Done for function init_array_nondet -[from] Computing for function my_strchr -[from] Computing for function strchr <-my_strchr -[from] Done for function strchr -[from] Done for function my_strchr -[from] Computing for function my_strchr2 -[from] Done for function my_strchr2 [from] Computing for function strchr_big_array +[from] Computing for function strchr <-strchr_big_array +[from] Done for function strchr [from] Done for function strchr_big_array [from] Computing for function strchr_bitfields [from] Done for function strchr_bitfields @@ -1246,46 +946,9 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: uninitialized[0]; s[0..1]; t[0..3]; s; s; a[0..99]; a[0..99]; s[0..3]; loc_char_array[0..4]; x; unterminated_string[0..11]; maybe_init[0..1]; u[0..199]; r[0..200]; t[0..999999]; - s[0..19]; t[0..29]; s; x; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; - "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; - ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "abc"; "ABCD"[bits 0 to 39]; - "efg"; "EFGH"[bits 0 to 39]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; - "b\000c"; "abcd"[bits 0 to 39]; - "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] -[from] Function my_strchr: - \result FROM s; offs; c; t[0..3]; empty_or_non_terminated[0]; - non_terminated[0]; non_terminated2[0..3]; - empty_or_uninitialized[0]; uninitialized[0]; s[0..1]; - t[0..3]; s; a[0..99]; a[0..99]; s[0..3]; loc_char_array[0..4]; - x; unterminated_string[0..11]; maybe_init[0..1]; u[0..199]; - r[0..200]; t[0..999999]; s[0..19]; t[0..29]; s; - ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; - "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; - "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "abc"; "ABCD"[bits 0 to 39]; - "efg"; "EFGH"[bits 0 to 39]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; - "b\000c"; "abcd"[bits 0 to 39]; - "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] -[from] Function my_strchr2: - \result FROM base; offs1; offs2; c; loc_char_array[0..4]; x; - unterminated_string[0..11]; maybe_init[0..1]; nondet; - ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; - "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; + s[0..19]; t[0..3]; t[0..29]; s; x; ""[bits 0 to 7]; + "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; + "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; @@ -1328,7 +991,7 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: [from] Function strchr_small_sets: NO EFFECTS [from] Function strchr_small_sets_no_assertions: - res{[0..1]; [3]} + res{[0..1]; [3..4]} FROM c; res; nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; @@ -1373,248 +1036,100 @@ tests/non-free/strchr.c:534:[value] builtin Frama_C_strchr: r[0..200]; t[0..999999]; t[0..29] [inout] Inputs for function init_array_nondet: nondet -[inout] Out (internal) for function my_strchr: - ss; res -[inout] Inputs for function my_strchr: - t[0..3]; empty_or_non_terminated[0]; non_terminated[0]; - non_terminated2[0..3]; empty_or_uninitialized[0]; uninitialized[0]; - s[0..1]; t[0..3]; s; a[0..99]; a[0..99]; s[0..3]; loc_char_array[0..4]; - unterminated_string[0..11]; maybe_init[0..1]; u[0..199]; r[0..200]; - t[0..999999]; s[0..19]; t[0..29]; s; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; - ""[bits 0 to 7]; "b\000c"; "abcd"[bits 0 to 39]; - "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; "hello"[bits 0 to 47] -[inout] Out (internal) for function my_strchr2: - p; tmp; s; res -[inout] Inputs for function my_strchr2: - x; nondet; "abc"; "ABCD"[bits 0 to 39]; "efg"[bits 8 to 31]; - "EFGH"[bits 8 to 39] [inout] Out (internal) for function strchr_big_array: - c; u[0..199]; r[0..200]; t[0..999999]; p; len_u; len_r; len_t + c; u[0..199]; r[0..200]; t[0..999999]; p; len_u; len_r; len_t; _ss; + _res; _ss_0; _res_0; _ss_1; _res_1; _ss_2; _res_2; _ss_3; _res_3; _ss_4; + _res_4; _ss_5; _res_5; _ss_6; _res_6; _ss_7; _res_7; _ss_8; _res_8; + _ss_9; _res_9; _ss_10; _res_10 [inout] Inputs for function strchr_big_array: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + nondet [inout] Out (internal) for function strchr_bitfields: c; s{{.a; .b}; .c}; p [inout] Inputs for function strchr_bitfields: nondet [inout] Out (internal) for function strchr_bitfields2: - c; s{.a; .b; .c}; p; z1 + c; s{.a; .b; .c}; p; z1; _ss; _res [inout] Inputs for function strchr_bitfields2: - ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + \nothing [inout] Out (internal) for function strchr_escaping: - c; s[0..3]; z1; z2 + c; s[0..3]; z1; _ss; _res; z2; _ss_0; _res_0 [inout] Inputs for function strchr_escaping: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + nondet [inout] Out (internal) for function strchr_garbled_mix_in_char: garbled [inout] Inputs for function strchr_garbled_mix_in_char: \nothing [inout] Out (internal) for function strchr_initialization: - c; empty_or_uninitialized[0]; z1; s[0..1]; z2; t[0..3]; z3 + c; empty_or_uninitialized[0]; z1; _ss; _res; s[0..1]; z2; _ss_0; _res_0; + t[0..3]; z3; _ss_1; _res_1 [inout] Inputs for function strchr_initialization: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + nondet [inout] Out (internal) for function strchr_invalid: - s + s; unused; _ss; _res [inout] Inputs for function strchr_invalid: - ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; "hello"[bits 0 to 47] [inout] Out (internal) for function strchr_large: - Frama_C_entropy_source; c; a[0..99]; offset; z1; z2; z3; z4; z5 + Frama_C_entropy_source; c; a[0..99]; offset; z1; _ss; _res; z2; _ss_0; + _res_0; z3; _ss_1; _res_1; z4; _ss_2; _res_2; z5; _ss_3; _res_3 [inout] Inputs for function strchr_large: - Frama_C_entropy_source; nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; - ""[bits 0 to 7]; "b\000c"; "abcd"[bits 0 to 39]; - "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; "hello"[bits 0 to 47] + Frama_C_entropy_source; nondet [inout] Out (internal) for function strchr_large_uninit: - Frama_C_entropy_source; c; a{[0..39]; [50..94]; [98]}; offset; z1; z2; z3 + Frama_C_entropy_source; c; a{[0..39]; [50..94]; [98]}; offset; z1; + _ss; _res; z2; _ss_0; _res_0; z3; _ss_1; _res_1 [inout] Inputs for function strchr_large_uninit: - Frama_C_entropy_source; nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; - ""[bits 0 to 7]; "b\000c"; "abcd"[bits 0 to 39]; - "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; "hello"[bits 0 to 47] + Frama_C_entropy_source; nondet [inout] Out (internal) for function strchr_misc: - c; loc_str; loc_char_array[3]; sz1; sz2; sz4a; sz4b; sz4c; sz4d; x; - str; unterminated_string[0..11]; static_str; zero_str + c; loc_str; loc_char_array[3]; x; str; unterminated_string[0..11]; + sz1; _ss; _res; sz2; _p; tmp_0; _s; _res_0; sz4a; _ss_0; _res_1; sz4b; + _ss_1; _res_2; sz4c; _ss_2; _res_3; sz4d; _ss_3; _res_4; static_str; + zero_str [inout] Inputs for function strchr_misc: - nondet; static_str; zero_str; ""[bits 0 to 7]; "a"[bits 0 to 15]; - "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "abc"; "ABCD"[bits 0 to 39]; "efg"[bits 8 to 31]; "EFGH"[bits 8 to 39]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; - ""[bits 0 to 7]; "b\000c"; "abcd"[bits 0 to 39]; - "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; "hello"[bits 0 to 47] + nondet; static_str; zero_str; "Hello World\n"[bits 0 to 103]; + "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119] [inout] Out (internal) for function strchr_misc2: - c; sz5; sz6; sz7; sz8; s1; j; maybe_init[0..1] + c; s1; sz5; _p; tmp; _s; _res; sz6; _p_0; tmp_1; _s_0; _res_0; j; sz7; + _ss; _res_1; maybe_init[0..1]; sz8; _ss_0; _res_2 [inout] Inputs for function strchr_misc2: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "abc"; "ABCD"[bits 0 to 39]; - "efg"[bits 8 to 31]; "EFGH"[bits 8 to 39]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + nondet; "abc"; "ABCD"[bits 0 to 39]; "efg"[bits 8 to 31]; + "EFGH"[bits 8 to 39]; "mno\000pqr"[bits 0 to 63]; + "MNOP\000QRS"[bits 0 to 71] [inout] Out (internal) for function strchr_misc_array: - Frama_C_entropy_source; c; i; sz3 + Frama_C_entropy_source; c; i; sz3; _ss; _res [inout] Inputs for function strchr_misc_array: Frama_C_entropy_source; tab_str[0..11]; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; - "\000bc"; ""[bits 0 to 7]; "b\000c"; "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; "Bonjour Monde\n"[bits 0 to 119]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; - ""[bits 0 to 7]; "b\000c"; "abcd"[bits 0 to 39]; - "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; "hello"[bits 0 to 47] + "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111] [inout] Out (internal) for function strchr_no_zero_but_ok: - c; s[0..19]; z1; z2; offs; tmp_1; z3; z4; z5 + c; s[0..19]; z1; _ss; _res; z2; _ss_0; _res_0; offs; tmp_1; z3; _ss_1; + _res_1; z4; _ss_2; _res_2; z5; _ss_3; _res_3 [inout] Inputs for function strchr_no_zero_but_ok: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + nondet [inout] Out (internal) for function strchr_small_sets: - c; s; o; tmp; z1; z2; z3; z4; t[0..3]; z5 + c; s; o; tmp; z1; _ss; _res; z2; _ss_0; _res_0; z3; _ss_1; _res_1; + z4; _ss_2; _res_2; t[0..3]; z5; _ss_3; _res_3 [inout] Inputs for function strchr_small_sets: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + nondet; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" [inout] Out (internal) for function strchr_small_sets_no_assertions: - s; o; tmp; t[0..3]; res[0..3]; __retres + s; o; tmp; _ss; _res; _ss_0; _res_0; _ss_1; _res_1; _ss_2; _res_2; + t[0..3]; _ss_3; _res_3; res[0..4]; __retres [inout] Inputs for function strchr_small_sets_no_assertions: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + nondet; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" [inout] Out (internal) for function strchr_small_sets_chars: - c; res[0..3] + c; res[0..4] [inout] Inputs for function strchr_small_sets_chars: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + nondet; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" [inout] Out (internal) for function strchr_unbounded: - c; s; u1; t[0..29]; u2; u3; u4 + c; s; u1; _ss; _res; t[0..29]; u2; _ss_0; _res_0; u3; _ss_1; _res_1; + u4; _ss_2; _res_2 [inout] Inputs for function strchr_unbounded: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + nondet; "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215] [inout] Out (internal) for function strchr_zero_termination: - c; empty_or_non_terminated[0]; z1; non_terminated[0]; + c; empty_or_non_terminated[0]; z1; _ss; _res; non_terminated[0]; non_terminated2[0..3]; o; tmp_0 [inout] Inputs for function strchr_zero_termination: - nondet; ""[bits 0 to 7]; "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; "aaaaaa"[bits 0 to 55]; - "aaaaaaaaa"[bits 0 to 79]; "aaaaaaaaaa"[bits 0 to 87]; - "aaaaaaaaaaa"[bits 0 to 95]; "aaaaaaaaaaaa"[bits 0 to 103]; - "aaaaaaaaaaaaa"[bits 0 to 111]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Hello World\n"[bits 0 to 103]; "abc\000\000\000abc"[bits 0 to 79]; - "Bonjour Monde\n"[bits 0 to 119]; "mno\000pqr"[bits 0 to 63]; - "MNOP\000QRS"[bits 0 to 71]; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "abcd"[bits 0 to 39]; "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[bits 0 to 215]; - "hello"[bits 0 to 47] + nondet [inout] Out (internal) for function main: Frama_C_entropy_source; static_str; zero_str; __retres [inout] Inputs for function main: diff --git a/tests/non-free/oracle/strlen.res.oracle b/tests/non-free/oracle/strlen.res.oracle index a6e977055acba6834f78ec067dc05810ac3ced70..ffb4b24f9f459bce6475db55a0056da77ee9afd9 100644 --- a/tests/non-free/oracle/strlen.res.oracle +++ b/tests/non-free/oracle/strlen.res.oracle @@ -63,32 +63,18 @@ tests/non-free/strlen.c:97:[value] warning: function strlen: precondition 'valid [value] Done for function zero_termination [value] computing for function strlen_initialization <- main. Called from tests/non-free/strlen.c:336. -[value] computing for function my_strlen <- strlen_initialization <- main. - Called from tests/non-free/strlen.c:105. -tests/non-free/strlen.c:54:[value] warning: function strlen: precondition 'valid_string_src' got status unknown. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &empty_or_uninitialized[0] }})) -tests/non-free/strlen.c:54:[value] builtin Frama_C_strlen: possible uninitialized values -[value] Recording results for my_strlen -[value] Done for function my_strlen +tests/non-free/strlen.c:105:[value] warning: function strlen: precondition 'valid_string_src' got status unknown. +tests/non-free/strlen.c:105:[value] Call to builtin Frama_C_strlen(({{ &empty_or_uninitialized[0] }})) +tests/non-free/strlen.c:105:[value] builtin Frama_C_strlen: possible uninitialized values tests/non-free/strlen.c:106:[value] assertion got status valid. -[value] computing for function my_strlen <- strlen_initialization <- main. - Called from tests/non-free/strlen.c:109. -tests/non-free/strlen.c:54:[value] warning: function strlen: precondition 'valid_string_src' got status invalid. -[value] Recording results for my_strlen -[value] Done for function my_strlen -[value] computing for function my_strlen <- strlen_initialization <- main. - Called from tests/non-free/strlen.c:116. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &s[0] }})) -tests/non-free/strlen.c:54:[value] builtin Frama_C_strlen: possible uninitialized values -[value] Recording results for my_strlen -[value] Done for function my_strlen +tests/non-free/strlen.c:109:[value] warning: function strlen: precondition 'valid_string_src' got status invalid. +tests/non-free/strlen.c:116:[value] warning: function strlen: precondition 'valid_string_src' got status unknown. +tests/non-free/strlen.c:116:[value] Call to builtin Frama_C_strlen(({{ &s[0] }})) +tests/non-free/strlen.c:116:[value] builtin Frama_C_strlen: possible uninitialized values tests/non-free/strlen.c:117:[value] assertion got status valid. -[value] computing for function my_strlen <- strlen_initialization <- main. - Called from tests/non-free/strlen.c:124. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &t[0] }})) -tests/non-free/strlen.c:54:[value] builtin Frama_C_strlen: possible uninitialized values -[value] Recording results for my_strlen -[value] Done for function my_strlen +tests/non-free/strlen.c:124:[value] warning: function strlen: precondition 'valid_string_src' got status unknown. +tests/non-free/strlen.c:124:[value] Call to builtin Frama_C_strlen(({{ &t[0] }})) +tests/non-free/strlen.c:124:[value] builtin Frama_C_strlen: possible uninitialized values tests/non-free/strlen.c:125:[value] assertion got status valid. [value] Recording results for strlen_initialization [value] Done for function strlen_initialization @@ -105,43 +91,30 @@ tests/non-free/strlen.c:161:[value] Call to builtin memset(({{ (void *)&a }},{1; [value] using specification for function Frama_C_interval tests/non-free/strlen.c:171:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strlen <- strlen_large <- main. - Called from tests/non-free/strlen.c:172. -tests/non-free/strlen.c:54:[value] function strlen: precondition 'valid_string_src' got status valid. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &a + [3..30] }})) -[value] Recording results for my_strlen -[value] Done for function my_strlen +tests/non-free/strlen.c:172:[value] function strlen: precondition 'valid_string_src' got status valid. +tests/non-free/strlen.c:172:[value] Call to builtin Frama_C_strlen(({{ &a + [3..30] }})) tests/non-free/strlen.c:173:[value] assertion got status valid. [value] computing for function Frama_C_interval <- strlen_large <- main. Called from tests/non-free/strlen.c:175. tests/non-free/strlen.c:175:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strlen <- strlen_large <- main. - Called from tests/non-free/strlen.c:176. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &a + [5..17] }})) -[value] Recording results for my_strlen -[value] Done for function my_strlen +tests/non-free/strlen.c:176:[value] function strlen: precondition 'valid_string_src' got status valid. +tests/non-free/strlen.c:176:[value] Call to builtin Frama_C_strlen(({{ &a + [5..17] }})) tests/non-free/strlen.c:177:[value] assertion got status valid. [value] computing for function Frama_C_interval <- strlen_large <- main. Called from tests/non-free/strlen.c:179. tests/non-free/strlen.c:179:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strlen <- strlen_large <- main. - Called from tests/non-free/strlen.c:180. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &a + [60..74] }})) -[value] Recording results for my_strlen -[value] Done for function my_strlen +tests/non-free/strlen.c:180:[value] function strlen: precondition 'valid_string_src' got status valid. +tests/non-free/strlen.c:180:[value] Call to builtin Frama_C_strlen(({{ &a + [60..74] }})) tests/non-free/strlen.c:181:[value] assertion got status valid. [value] computing for function Frama_C_interval <- strlen_large <- main. Called from tests/non-free/strlen.c:183. tests/non-free/strlen.c:183:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strlen <- strlen_large <- main. - Called from tests/non-free/strlen.c:184. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &a + [63..80] }})) -tests/non-free/strlen.c:54:[value] builtin Frama_C_strlen: possibly reading indeterminate data -[value] Recording results for my_strlen -[value] Done for function my_strlen +tests/non-free/strlen.c:184:[value] warning: function strlen: precondition 'valid_string_src' got status unknown. +tests/non-free/strlen.c:184:[value] Call to builtin Frama_C_strlen(({{ &a + [63..80] }})) +tests/non-free/strlen.c:184:[value] builtin Frama_C_strlen: possibly reading indeterminate data tests/non-free/strlen.c:185:[value] assertion got status valid. [value] computing for function init_array_nondet <- strlen_large <- main. Called from tests/non-free/strlen.c:187. @@ -152,12 +125,9 @@ tests/non-free/strlen.c:161:[value] Call to builtin memset(({{ (void *)&a }},{0; Called from tests/non-free/strlen.c:188. tests/non-free/strlen.c:188:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strlen <- strlen_large <- main. - Called from tests/non-free/strlen.c:189. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &a + [50..70] }})) -tests/non-free/strlen.c:54:[value] builtin Frama_C_strlen: possibly reading indeterminate data -[value] Recording results for my_strlen -[value] Done for function my_strlen +tests/non-free/strlen.c:189:[value] warning: function strlen: precondition 'valid_string_src' got status unknown. +tests/non-free/strlen.c:189:[value] Call to builtin Frama_C_strlen(({{ &a + [50..70] }})) +tests/non-free/strlen.c:189:[value] builtin Frama_C_strlen: possibly reading indeterminate data tests/non-free/strlen.c:190:[value] assertion got status valid. [value] Recording results for strlen_large [value] Done for function strlen_large @@ -177,36 +147,27 @@ tests/non-free/strlen.c:161:[value] Call to builtin memset(({{ (void *)&a[50] }} Called from tests/non-free/strlen.c:202. tests/non-free/strlen.c:202:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strlen <- strlen_large_uninit <- main. - Called from tests/non-free/strlen.c:203. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &a + [3..30] }})) -tests/non-free/strlen.c:54:[value] builtin Frama_C_strlen: possibly reading indeterminate data -[value] Recording results for my_strlen -[value] Done for function my_strlen +tests/non-free/strlen.c:203:[value] warning: function strlen: precondition 'valid_string_src' got status unknown. +tests/non-free/strlen.c:203:[value] Call to builtin Frama_C_strlen(({{ &a + [3..30] }})) +tests/non-free/strlen.c:203:[value] builtin Frama_C_strlen: possibly reading indeterminate data tests/non-free/strlen.c:204:[value] assertion got status valid. [value] computing for function Frama_C_interval <- strlen_large_uninit <- main. Called from tests/non-free/strlen.c:207. tests/non-free/strlen.c:207:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strlen <- strlen_large_uninit <- main. - Called from tests/non-free/strlen.c:208. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &a + [63..80] }})) -tests/non-free/strlen.c:54:[value] builtin Frama_C_strlen: possibly reading indeterminate data -[value] Recording results for my_strlen -[value] Done for function my_strlen +tests/non-free/strlen.c:208:[value] warning: function strlen: precondition 'valid_string_src' got status unknown. +tests/non-free/strlen.c:208:[value] Call to builtin Frama_C_strlen(({{ &a + [63..80] }})) +tests/non-free/strlen.c:208:[value] builtin Frama_C_strlen: possibly reading indeterminate data tests/non-free/strlen.c:209:[value] assertion got status valid. [value] computing for function Frama_C_interval <- strlen_large_uninit <- main. Called from tests/non-free/strlen.c:211. tests/non-free/strlen.c:211:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_strlen <- strlen_large_uninit <- main. - Called from tests/non-free/strlen.c:212. -tests/non-free/strlen.c:54:[value] Call to builtin Frama_C_strlen(({{ &a + [45..55] }})) -tests/non-free/strlen.c:54:[value] builtin Frama_C_strlen: +tests/non-free/strlen.c:212:[value] warning: function strlen: precondition 'valid_string_src' got status unknown. +tests/non-free/strlen.c:212:[value] Call to builtin Frama_C_strlen(({{ &a + [45..55] }})) +tests/non-free/strlen.c:212:[value] builtin Frama_C_strlen: possible uninitialized values possibly reading indeterminate data -[value] Recording results for my_strlen -[value] Done for function my_strlen tests/non-free/strlen.c:213:[value] assertion got status valid. [value] Recording results for strlen_large_uninit [value] Done for function strlen_large_uninit @@ -435,8 +396,6 @@ tests/non-free/strlen.c:329:[value] builtin Frama_C_strlen: s2 ∈ {{ "efg" + {1; 2} ; "EFGH" + {1; 2} }} maybe_init[0] ∈ {65} or UNINITIALIZED [1] ∈ {0} -[value:final-states] Values at end of function my_strlen: - __retres ∈ [0..54] [value:final-states] Values at end of function negative_offsets: Frama_C_entropy_source ∈ [--..--] buf[0..98] ∈ {65} or UNINITIALIZED @@ -528,8 +487,6 @@ tests/non-free/strlen.c:329:[value] builtin Frama_C_strlen: [from] Computing for function Frama_C_interval <-misc [from] Done for function Frama_C_interval [from] Done for function misc -[from] Computing for function my_strlen -[from] Done for function my_strlen [from] Computing for function negative_offsets [from] Done for function negative_offsets [from] Computing for function small_sets @@ -584,20 +541,6 @@ tests/non-free/strlen.c:329:[value] builtin Frama_C_strlen: NO EFFECTS [from] Function misc: Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) -[from] Function my_strlen: - \result FROM unterminated_string[0..11]; empty_or_uninitialized[0]; - uninitialized[0]; s[0..1]; t[0..3]; a[3..99]; a[3..99]; - "Hello World\n"[bits 0 to 103]; - "abc\000\000\000abc"[bits 0 to 79]; ""[bits 0 to 7]; - "a"[bits 0 to 15]; "aa"[bits 0 to 23]; "aaa"; - "aaaa"[bits 0 to 39]; "aaaaa"[bits 0 to 47]; - "aaaaaa"[bits 0 to 55]; "aaaaaaaaa"[bits 0 to 79]; - "aaaaaaaaaa"[bits 0 to 87]; "aaaaaaaaaaa"[bits 0 to 95]; - "aaaaaaaaaaaa"[bits 0 to 103]; "aaaaaaaaaaaaa"[bits 0 to 111]; - "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c"; - "Bonjour Monde\n"[bits 0 to 119]; "abc"; "ABCD"[bits 0 to 39]; - "efg"[bits 8 to 31]; "EFGH"[bits 8 to 39]; - "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71] [from] Function negative_offsets: Frama_C_entropy_source FROM Frama_C_entropy_source; nondet (and SELF) [from] Function small_sets: @@ -649,11 +592,6 @@ tests/non-free/strlen.c:329:[value] builtin Frama_C_strlen: "Bonjour Monde\n"[bits 0 to 119]; "abc"; "ABCD"[bits 0 to 39]; "efg"[bits 8 to 31]; "EFGH"[bits 8 to 39]; "mno\000pqr"[bits 0 to 63]; "MNOP\000QRS"[bits 0 to 71] -[inout] Out (internal) for function my_strlen: - tmp; __retres -[inout] Inputs for function my_strlen: - empty_or_uninitialized[0]; uninitialized[0]; s[0..1]; t[0..3]; a[0..99]; - a[0..99] [inout] Out (internal) for function negative_offsets: Frama_C_entropy_source; buf[0..99]; i; len1; len2; len3; len4; len5; len6; offset1; offset2; offset3; offset4; offset5; offset6; p @@ -664,15 +602,18 @@ tests/non-free/strlen.c:329:[value] builtin Frama_C_strlen: [inout] Inputs for function small_sets: nondet; "abc"; "\000bc"; ""[bits 0 to 7]; "b\000c" [inout] Out (internal) for function strlen_initialization: - empty_or_uninitialized[0]; z1; s[0..1]; p; z2; t[0..3]; z3 + empty_or_uninitialized[0]; z1; tmp; s[0..1]; p; z2; tmp_0; t[0..3]; + z3; tmp_1 [inout] Inputs for function strlen_initialization: nondet [inout] Out (internal) for function strlen_large: - Frama_C_entropy_source; a[0..99]; offset; z1; z2; z3; z4; z5 + Frama_C_entropy_source; a[0..99]; offset; z1; tmp_0; z2; tmp_1; z3; + tmp_2; z4; tmp_3; z5; tmp_4 [inout] Inputs for function strlen_large: Frama_C_entropy_source; nondet [inout] Out (internal) for function strlen_large_uninit: - Frama_C_entropy_source; a{[0..39]; [50..94]; [98]}; offset; z1; z2; z3 + Frama_C_entropy_source; a{[0..39]; [50..94]; [98]}; offset; z1; tmp_0; + z2; tmp_1; z3; tmp_2 [inout] Inputs for function strlen_large_uninit: Frama_C_entropy_source; nondet [inout] Out (internal) for function zero_termination: diff --git a/tests/non-free/oracle/wcslen.res.oracle b/tests/non-free/oracle/wcslen.res.oracle index 1bd97b734e390886162835e36e4d3fa0e85d68ee..50346b1d2ae391b5db037c82f2723e11524201c6 100644 --- a/tests/non-free/oracle/wcslen.res.oracle +++ b/tests/non-free/oracle/wcslen.res.oracle @@ -66,32 +66,18 @@ tests/non-free/wcslen.c:97:[value] warning: function wcslen: precondition got st [value] Done for function zero_termination [value] computing for function wcslen_initialization <- main. Called from tests/non-free/wcslen.c:341. -[value] computing for function my_wcslen <- wcslen_initialization <- main. - Called from tests/non-free/wcslen.c:105. -tests/non-free/wcslen.c:54:[value] warning: function wcslen: precondition got status unknown. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &empty_or_uninitialized[0] }})) -tests/non-free/wcslen.c:54:[value] builtin Frama_C_wcslen: possible uninitialized values -[value] Recording results for my_wcslen -[value] Done for function my_wcslen +tests/non-free/wcslen.c:105:[value] warning: function wcslen: precondition got status unknown. +tests/non-free/wcslen.c:105:[value] Call to builtin Frama_C_wcslen(({{ &empty_or_uninitialized[0] }})) +tests/non-free/wcslen.c:105:[value] builtin Frama_C_wcslen: possible uninitialized values tests/non-free/wcslen.c:106:[value] assertion got status valid. -[value] computing for function my_wcslen <- wcslen_initialization <- main. - Called from tests/non-free/wcslen.c:109. -tests/non-free/wcslen.c:54:[value] warning: function wcslen: precondition got status invalid. -[value] Recording results for my_wcslen -[value] Done for function my_wcslen -[value] computing for function my_wcslen <- wcslen_initialization <- main. - Called from tests/non-free/wcslen.c:116. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &s[0] }})) -tests/non-free/wcslen.c:54:[value] builtin Frama_C_wcslen: possible uninitialized values -[value] Recording results for my_wcslen -[value] Done for function my_wcslen +tests/non-free/wcslen.c:109:[value] warning: function wcslen: precondition got status invalid. +tests/non-free/wcslen.c:116:[value] warning: function wcslen: precondition got status unknown. +tests/non-free/wcslen.c:116:[value] Call to builtin Frama_C_wcslen(({{ &s[0] }})) +tests/non-free/wcslen.c:116:[value] builtin Frama_C_wcslen: possible uninitialized values tests/non-free/wcslen.c:117:[value] assertion got status valid. -[value] computing for function my_wcslen <- wcslen_initialization <- main. - Called from tests/non-free/wcslen.c:124. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &t[0] }})) -tests/non-free/wcslen.c:54:[value] builtin Frama_C_wcslen: possible uninitialized values -[value] Recording results for my_wcslen -[value] Done for function my_wcslen +tests/non-free/wcslen.c:124:[value] warning: function wcslen: precondition got status unknown. +tests/non-free/wcslen.c:124:[value] Call to builtin Frama_C_wcslen(({{ &t[0] }})) +tests/non-free/wcslen.c:124:[value] builtin Frama_C_wcslen: possible uninitialized values tests/non-free/wcslen.c:125:[value] assertion got status valid. [value] Recording results for wcslen_initialization [value] Done for function wcslen_initialization @@ -108,43 +94,30 @@ tests/non-free/wcslen.c:161:[value] Call to builtin memset(({{ (void *)&a }},{1; [value] using specification for function Frama_C_interval tests/non-free/wcslen.c:171:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_wcslen <- wcslen_large <- main. - Called from tests/non-free/wcslen.c:172. -tests/non-free/wcslen.c:54:[value] function wcslen: precondition got status valid. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &a + [12..120],0%4 }})) -[value] Recording results for my_wcslen -[value] Done for function my_wcslen +tests/non-free/wcslen.c:172:[value] function wcslen: precondition got status valid. +tests/non-free/wcslen.c:172:[value] Call to builtin Frama_C_wcslen(({{ &a + [12..120],0%4 }})) tests/non-free/wcslen.c:173:[value] assertion got status valid. [value] computing for function Frama_C_interval <- wcslen_large <- main. Called from tests/non-free/wcslen.c:175. tests/non-free/wcslen.c:175:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_wcslen <- wcslen_large <- main. - Called from tests/non-free/wcslen.c:176. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &a + [20..68],0%4 }})) -[value] Recording results for my_wcslen -[value] Done for function my_wcslen +tests/non-free/wcslen.c:176:[value] function wcslen: precondition got status valid. +tests/non-free/wcslen.c:176:[value] Call to builtin Frama_C_wcslen(({{ &a + [20..68],0%4 }})) tests/non-free/wcslen.c:177:[value] assertion got status valid. [value] computing for function Frama_C_interval <- wcslen_large <- main. Called from tests/non-free/wcslen.c:179. tests/non-free/wcslen.c:179:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_wcslen <- wcslen_large <- main. - Called from tests/non-free/wcslen.c:180. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &a + [240..296],0%4 }})) -[value] Recording results for my_wcslen -[value] Done for function my_wcslen +tests/non-free/wcslen.c:180:[value] function wcslen: precondition got status valid. +tests/non-free/wcslen.c:180:[value] Call to builtin Frama_C_wcslen(({{ &a + [240..296],0%4 }})) tests/non-free/wcslen.c:181:[value] assertion got status valid. [value] computing for function Frama_C_interval <- wcslen_large <- main. Called from tests/non-free/wcslen.c:183. tests/non-free/wcslen.c:183:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_wcslen <- wcslen_large <- main. - Called from tests/non-free/wcslen.c:184. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &a + [252..320],0%4 }})) -tests/non-free/wcslen.c:54:[value] builtin Frama_C_wcslen: possibly reading indeterminate data -[value] Recording results for my_wcslen -[value] Done for function my_wcslen +tests/non-free/wcslen.c:184:[value] warning: function wcslen: precondition got status unknown. +tests/non-free/wcslen.c:184:[value] Call to builtin Frama_C_wcslen(({{ &a + [252..320],0%4 }})) +tests/non-free/wcslen.c:184:[value] builtin Frama_C_wcslen: possibly reading indeterminate data tests/non-free/wcslen.c:185:[value] assertion got status valid. [value] computing for function init_array_nondet <- wcslen_large <- main. Called from tests/non-free/wcslen.c:187. @@ -155,12 +128,9 @@ tests/non-free/wcslen.c:161:[value] Call to builtin memset(({{ (void *)&a }},{0; Called from tests/non-free/wcslen.c:188. tests/non-free/wcslen.c:188:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_wcslen <- wcslen_large <- main. - Called from tests/non-free/wcslen.c:189. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &a + [200..280],0%4 }})) -tests/non-free/wcslen.c:54:[value] builtin Frama_C_wcslen: possibly reading indeterminate data -[value] Recording results for my_wcslen -[value] Done for function my_wcslen +tests/non-free/wcslen.c:189:[value] warning: function wcslen: precondition got status unknown. +tests/non-free/wcslen.c:189:[value] Call to builtin Frama_C_wcslen(({{ &a + [200..280],0%4 }})) +tests/non-free/wcslen.c:189:[value] builtin Frama_C_wcslen: possibly reading indeterminate data tests/non-free/wcslen.c:190:[value] assertion got status valid. [value] Recording results for wcslen_large [value] Done for function wcslen_large @@ -180,36 +150,27 @@ tests/non-free/wcslen.c:161:[value] Call to builtin memset(({{ (void *)&a[50] }} Called from tests/non-free/wcslen.c:202. tests/non-free/wcslen.c:202:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_wcslen <- wcslen_large_uninit <- main. - Called from tests/non-free/wcslen.c:203. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &a + [12..120],0%4 }})) -tests/non-free/wcslen.c:54:[value] builtin Frama_C_wcslen: possibly reading indeterminate data -[value] Recording results for my_wcslen -[value] Done for function my_wcslen +tests/non-free/wcslen.c:203:[value] warning: function wcslen: precondition got status unknown. +tests/non-free/wcslen.c:203:[value] Call to builtin Frama_C_wcslen(({{ &a + [12..120],0%4 }})) +tests/non-free/wcslen.c:203:[value] builtin Frama_C_wcslen: possibly reading indeterminate data tests/non-free/wcslen.c:204:[value] assertion got status valid. [value] computing for function Frama_C_interval <- wcslen_large_uninit <- main. Called from tests/non-free/wcslen.c:207. tests/non-free/wcslen.c:207:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_wcslen <- wcslen_large_uninit <- main. - Called from tests/non-free/wcslen.c:208. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &a + [252..320],0%4 }})) -tests/non-free/wcslen.c:54:[value] builtin Frama_C_wcslen: possibly reading indeterminate data -[value] Recording results for my_wcslen -[value] Done for function my_wcslen +tests/non-free/wcslen.c:208:[value] warning: function wcslen: precondition got status unknown. +tests/non-free/wcslen.c:208:[value] Call to builtin Frama_C_wcslen(({{ &a + [252..320],0%4 }})) +tests/non-free/wcslen.c:208:[value] builtin Frama_C_wcslen: possibly reading indeterminate data tests/non-free/wcslen.c:209:[value] assertion got status valid. [value] computing for function Frama_C_interval <- wcslen_large_uninit <- main. Called from tests/non-free/wcslen.c:211. tests/non-free/wcslen.c:211:[value] function Frama_C_interval: precondition got status valid. [value] Done for function Frama_C_interval -[value] computing for function my_wcslen <- wcslen_large_uninit <- main. - Called from tests/non-free/wcslen.c:212. -tests/non-free/wcslen.c:54:[value] Call to builtin Frama_C_wcslen(({{ &a + [180..220],0%4 }})) -tests/non-free/wcslen.c:54:[value] builtin Frama_C_wcslen: +tests/non-free/wcslen.c:212:[value] warning: function wcslen: precondition got status unknown. +tests/non-free/wcslen.c:212:[value] Call to builtin Frama_C_wcslen(({{ &a + [180..220],0%4 }})) +tests/non-free/wcslen.c:212:[value] builtin Frama_C_wcslen: possible uninitialized values possibly reading indeterminate data -[value] Recording results for my_wcslen -[value] Done for function my_wcslen tests/non-free/wcslen.c:213:[value] assertion got status valid. [value] Recording results for wcslen_large_uninit [value] Done for function wcslen_large_uninit @@ -448,8 +409,6 @@ tests/non-free/wcslen.c:333:[value] builtin Frama_C_wcslen: s2 ∈ {{ L"efg" + {4; 8} ; L"EFGH" + {4; 8} }} maybe_init[0] ∈ {65} or UNINITIALIZED [1] ∈ {0} -[value:final-states] Values at end of function my_wcslen: - __retres ∈ [0..54] [value:final-states] Values at end of function negative_offsets: Frama_C_entropy_source ∈ [--..--] buf[0..88] ∈ {65} or UNINITIALIZED @@ -542,8 +501,6 @@ tests/non-free/wcslen.c:333:[value] builtin Frama_C_wcslen: [from] Computing for function Frama_C_interval <-misc [from] Done for function Frama_C_interval [from] Done for function misc -[from] Computing for function my_wcslen -[from] Done for function my_wcslen [from] Computing for function negative_offsets [from] Done for function negative_offsets [from] Computing for function small_sets @@ -600,22 +557,6 @@ tests/non-free/wcslen.c:333:[value] builtin Frama_C_wcslen: NO EFFECTS [from] Function misc: Frama_C_entropy_source FROM Frama_C_entropy_source (and SELF) -[from] Function my_wcslen: - \result FROM unterminated_string[0..11]; empty_or_uninitialized[0]; - uninitialized[0]; s[0..1]; t[0..3]; a[3..99]; a[3..99]; - L"Hello World\n"[bits 0 to 415]; - L"abc\000\000\000abc"[bits 0 to 319]; L""; L"a"[bits 0 to 63]; - L"aa"[bits 0 to 95]; L"aaa"[bits 0 to 127]; - L"aaaa"[bits 0 to 159]; L"aaaaa"[bits 0 to 191]; - L"aaaaaa"[bits 0 to 223]; L"aaaaaaaaa"[bits 0 to 319]; - L"aaaaaaaaaa"[bits 0 to 351]; L"aaaaaaaaaaa"[bits 0 to 383]; - L"aaaaaaaaaaaa"[bits 0 to 415]; - L"aaaaaaaaaaaaa"[bits 0 to 447]; L"abc"[bits 0 to 127]; - L"\000bc"[bits 0 to 127]; L""; L"b\000c"[bits 0 to 127]; - L"Bonjour Monde\n"[bits 0 to 479]; L"abc"[bits 0 to 127]; - L"ABCD"[bits 0 to 159]; L"efg"[bits 32 to 127]; - L"EFGH"[bits 32 to 159]; L"mno\000pqr"[bits 0 to 255]; - L"MNOP\000QRS"[bits 0 to 287] [from] Function negative_offsets: Frama_C_entropy_source FROM Frama_C_entropy_source; nondet (and SELF) [from] Function small_sets: @@ -668,11 +609,6 @@ tests/non-free/wcslen.c:333:[value] builtin Frama_C_wcslen: L"abc"[bits 0 to 127]; L"ABCD"[bits 0 to 159]; L"efg"[bits 32 to 127]; L"EFGH"[bits 32 to 159]; L"mno\000pqr"[bits 0 to 255]; L"MNOP\000QRS"[bits 0 to 287] -[inout] Out (internal) for function my_wcslen: - tmp; __retres -[inout] Inputs for function my_wcslen: - empty_or_uninitialized[0]; uninitialized[0]; s[0..1]; t[0..3]; a[0..99]; - a[0..99] [inout] Out (internal) for function negative_offsets: Frama_C_entropy_source; buf[0..99]; i; len1; len2; len3; len4; len5; len6; offset1; offset2; offset3; offset4; offset5; offset6; p @@ -684,15 +620,18 @@ tests/non-free/wcslen.c:333:[value] builtin Frama_C_wcslen: nondet; L"abc"[bits 0 to 127]; L"\000bc"[bits 0 to 127]; L""; L"b\000c"[bits 0 to 127] [inout] Out (internal) for function wcslen_initialization: - empty_or_uninitialized[0]; z1; s[0..1]; p; z2; t[0..3]; z3 + empty_or_uninitialized[0]; z1; tmp; s[0..1]; p; z2; tmp_0; t[0..3]; + z3; tmp_1 [inout] Inputs for function wcslen_initialization: nondet [inout] Out (internal) for function wcslen_large: - Frama_C_entropy_source; a[0..99]; offset; z1; z2; z3; z4; z5 + Frama_C_entropy_source; a[0..99]; offset; z1; tmp_0; z2; tmp_1; z3; + tmp_2; z4; tmp_3; z5; tmp_4 [inout] Inputs for function wcslen_large: Frama_C_entropy_source; nondet [inout] Out (internal) for function wcslen_large_uninit: - Frama_C_entropy_source; a{[0..39]; [50..94]; [98]}; offset; z1; z2; z3 + Frama_C_entropy_source; a{[0..39]; [50..94]; [98]}; offset; z1; tmp_0; + z2; tmp_1; z3; tmp_2 [inout] Inputs for function wcslen_large_uninit: Frama_C_entropy_source; nondet [inout] Out (internal) for function zero_termination: diff --git a/tests/non-free/strchr.c b/tests/non-free/strchr.c index 3464a03ff391bd066795e96eea629ea8118e9757..03fc74d4c519ec45e2323e75af0f9d4b8baeaa39 100644 --- a/tests/non-free/strchr.c +++ b/tests/non-free/strchr.c @@ -45,30 +45,49 @@ const char* tab_str[TSZ] = "aaaaaaaaaaaa" , "aaaaaaaaaaaaa" }; // 13 -int my_strchr(const char *s, size_t offs, int c) { - char *ss = strchr(s+offs,c); - int res; - if (ss == 0) { - res = -1; - } else { - res = ss - s; - } - Frama_C_show_each_mystrchr(res); - return res; -} - -int my_strchr2(const void *base, size_t offs1, size_t offs2, int c) { - const char *p = ((const char *)base)+NONDET(offs1, offs2); - char *s = strchr(p,c); - int res; - if (s == 0) { - res = -1; - } else { - res = s - (char*)base; - } - Frama_C_show_each_mystrchr2(res); - return res; -} +#define STRCHR(lv_type, lv_var, _s, _offs, _c) \ + lv_type lv_var; \ + do { \ + char *_ss = strchr(_s+_offs,_c); \ + int _res; \ + if (_ss == 0) { \ + _res = -1; \ + } else { \ + _res = _ss - _s; \ + } \ + Frama_C_show_each_mystrchr(_res); \ + lv_var = _res; \ + } while (0) \ + +#define STRCHR_no_decl(lv_var, _s, _offs, _c) \ + do { \ + char *_ss = strchr(_s+_offs,_c); \ + int _res; \ + if (_ss == 0) { \ + _res = -1; \ + } else { \ + _res = _ss - _s; \ + } \ + Frama_C_show_each_mystrchr(_res); \ + lv_var = _res; \ + } while (0) \ + +#define STRCHR_bottom(s, offs, c) assert_bottom(strchr(s+offs,c), s) + +#define STRCHR2(lv_type, lv_var, _base, _offs1, _offs2, _c) \ + lv_type lv_var; \ + do { \ + const char *_p = ((const char *)_base)+NONDET(_offs1, _offs2); \ + char *_s = strchr(_p,_c); \ + int _res; \ + if (_s == 0) { \ + _res = -1; \ + } else { \ + _res = _s - (char*)_base; \ + } \ + Frama_C_show_each_mystrchr2(_res); \ + lv_var = _res; \ + } while (0) \ //DELPHIC_TEST void strchr_small_sets() { @@ -76,23 +95,23 @@ void strchr_small_sets() { CHAR_PTR(s); STRING(s,"abc"); Ival o = NONDET(0, 1); - RES z1 = my_strchr(s, o, c); + STRCHR(RES, z1, s, o, c); //@ assert (z1 == 3); STRING(s,"\0bc"); o = NONDET(0,1); - RES z2 = my_strchr(s, o, c); + STRCHR(RES, z2, s, o, c); //@ assert (z2 == 0 || z2 == 3); STRING(s,""); - RES z3 = my_strchr(s, 0, c); + STRCHR(RES, z3, s, 0, c); //@ assert (z3 == 0); STRING(s,"b\0c"); o = NONDET(0,2); - RES z4 = my_strchr(s, o, c); + STRCHR(RES, z4, s, o, c); //@ assert (z4 == 1 || z4 == 3); CHAR_ARRAY(t, 4); t[0] = t[1] = NONDET(0, 1); t[2] = t[3] = 1; - RES z5 = my_strchr(t, 0, c); // warning + STRCHR(RES, z5, t, 0, c); // warning //@ assert (z5 == -1 || z5 == 0 || z5 == 1); } @@ -101,18 +120,18 @@ void strchr_zero_termination() { CHAR c = 0; CHAR_ARRAY(empty_or_non_terminated, 1); empty_or_non_terminated[0] = NONDET(0, 100); - RES z1 = my_strchr(empty_or_non_terminated, 0, c); // alarm + STRCHR(RES, z1, empty_or_non_terminated, 0, c); // alarm //@ assert (z1 == -1 || z1 == 0); CHAR_ARRAY(non_terminated, 1); non_terminated[0] = 'X'; - assert_bottom(my_strchr(non_terminated, 0, c), non_terminated); + STRCHR_bottom(non_terminated, 0, c); CHAR_ARRAY(non_terminated2, 4); non_terminated2[0] = 76; non_terminated2[1] = 0; non_terminated2[2] = 28; non_terminated2[3] = 14; Ival o = NONDET(2, 3); - assert_bottom(my_strchr(non_terminated2, 2, c), non_terminated2); + STRCHR_bottom(non_terminated2, 2, c); } //DELPHIC_TEST @@ -120,23 +139,23 @@ void strchr_initialization() { CHAR c = 0; CHAR_ARRAY(empty_or_uninitialized, 1); IF_NONDET(empty_or_uninitialized[0], 0); - RES z1 = my_strchr(empty_or_uninitialized, 0, c); // alarm + STRCHR(RES, z1, empty_or_uninitialized, 0, c); // alarm //@ assert (z1 == 0); CHAR_ARRAY(uninitialized, 1); - assert_bottom(my_strchr(uninitialized, 0, c),uninitialized); + STRCHR_bottom(uninitialized, 0, c); CHAR_ARRAY(s, 2); IF_NONDET(s[0], 1); s[1] = 0; - RES z2 = my_strchr(s, 0, c); // alarm + STRCHR(RES, z2, s, 0, c); // alarm //@ assert (z2 == 1); CHAR_ARRAY(t,4); t[0] = t[1] = 10; IF_NONDET(t[2], 10); t[3] = 0; - RES z3 = my_strchr(t, 0, c); // alarm + STRCHR(RES, z3, t, 0, c); // alarm //@ assert (z3 == 3); } @@ -171,7 +190,7 @@ void strchr_bitfields2() { s.c = 7; CHAR_PTR(p); p = &s; - RES z1 = my_strchr(p, 0, c); + STRCHR(RES, z1, p, 0, c); //@assert (z1 == 2); } @@ -189,27 +208,27 @@ void strchr_large() { a[20] = 0; a[75] = 0; Ival offset = RANGE(3, 30); - RES z1 = my_strchr(a, offset, c); + STRCHR(RES, z1, a, offset, c); //@ assert (z1 == 20 || z1 <= 75); offset = RANGE(5, 17); - RES z2 = my_strchr(a, offset, c); + STRCHR(RES, z2, a, offset, c); //@ assert (z2 >= -1 && z2 <= 20); //@ assert refined: (z2 == 20); offset = RANGE(60, 74); - RES z3 = my_strchr(a, offset, c); + STRCHR(RES, z3, a, offset, c); //@ assert (z3 >= -1 && z3 <= 75); //@ assert refined: (z3 == 75); offset = RANGE(63, 80); - RES z4 = my_strchr(a, offset, c); + STRCHR(RES, z4, a, offset, c); // alarm //@ assert (z4 >= -1 && z4 <= 79); //@ assert refined: (z4 == 75); init_array_nondet(a, 0, 99, 0, 2); offset = RANGE(50, 70); - RES z5 = my_strchr(a, offset, c); + STRCHR(RES, z5, a, offset, c); // alarm //@ assert (z5 >= -1 && z5 <= 99); } @@ -223,18 +242,18 @@ void strchr_large_uninit() { a[75] = 0; Ival offset = RANGE(3, 30); - RES z1 = my_strchr(a, offset, c); // alarm: Uninit + STRCHR(RES, z1, a, offset, c); // alarm: Uninit //@ assert (z1 >= -1 && z1 <= 29); //@ assert refined: (z1 == 20); a[98] = 0; offset = RANGE(63, 80); - RES z2 = my_strchr(a, offset, c); // alarm: Uninit + STRCHR(RES, z2, a, offset, c); // alarm: Uninit //@ assert (z2 >= -1 && z2 <= 79); //@ assert refined: (z2 == 75); offset = RANGE(45, 55); - RES z3 = my_strchr(a, offset, c); // alarm: Uninit + STRCHR(RES, z3, a, offset, c); // alarm: Uninit //@ assert (z3 >= -1 && z3 <= 75); //@ assert refined: (z3 == 75); @@ -249,17 +268,17 @@ void strchr_escaping() { *((int *)s) = &x; } IF_NONDET(s[0], 0); - RES z1 = my_strchr(s, 0, c); // alarm + STRCHR(RES, z1, s, 0, c); // alarm //@ assert (z1 == 0); s[0] = 0; - RES z2 = my_strchr(s, 0, c); // no alarm + STRCHR(RES, z2, s, 0, c); // no alarm //@ assert (z2 == 0); } void strchr_misc_array() { CHAR c = 0; Ival i = RANGE(0,TSZ-1); - RES sz3 = my_strchr(tab_str[i], 0, c); + STRCHR(RES, sz3, tab_str[i], 0, c); //@ assert (sz3 >= 0 && sz3 <= 13); } @@ -273,7 +292,6 @@ void strchr_misc() { CHAR_PTR(loc_str); STRING(loc_str, "Bonjour Monde\n"); CHAR_ARRAY(loc_char_array, 5); - RES sz1,sz2,sz4a,sz4b,sz4c,sz4d; int x = 0xabcdef00; CHAR_PTR(str); CHAR_ARRAY(unterminated_string, 12); @@ -290,49 +308,48 @@ void strchr_misc() { unterminated_string[10] = 'e'; unterminated_string[11] = 'd'; - assert_bottom(my_strchr(unterminated_string, 0, c),unterminated_string); + STRCHR_bottom(unterminated_string, 0, c); str = NONDET_STR2(static_str, loc_str); - sz1 = my_strchr(str, 0, c); + STRCHR(RES, sz1, str, 0, c); // false alarm (pointers from 2 bases) //@ assert(sz1 == 12 || sz1 == 14); str = &x; - sz2 = my_strchr2(str, 0, 3, c); + STRCHR2(RES, sz2, str, 0, 3, c); //@ assert(sz2 == 0); // alarm loc_char_array[3] = '\0'; - assert_bottom(my_strchr(loc_char_array, 0, c),loc_char_array); - sz4a = my_strchr(zero_str, 0, c); + STRCHR_bottom(loc_char_array, 0, c); + STRCHR(RES, sz4a, zero_str, 0, c); //@ assert(sz4a == 3); - sz4b = my_strchr(zero_str, 4, c); + STRCHR(RES, sz4b, zero_str, 4, c); //@ assert(sz4b == 4); - sz4c = my_strchr(zero_str, 5, c); + STRCHR(RES, sz4c, zero_str, 5, c); //@ assert(sz4c == 5); - sz4d = my_strchr(zero_str, 6, c); + STRCHR(RES, sz4d, zero_str, 6, c); //@ assert(sz4d == 9); } //DELPHIC_TEST void strchr_misc2() { CHAR c = 0; - RES sz5,sz6,sz7,sz8; CHAR_PTR(s1); s1 = NONDET_STR("abc", "ABCD"); - sz5 = my_strchr2(s1, 0, 1, c); + STRCHR2(RES, sz5, s1, 0, 1, c); //@ assert (sz5 == 3 || sz5 == 4); s1 = NONDET_STR("efg", "EFGH"); - sz6 = my_strchr2(s1, 1, 2, c); + STRCHR2(RES, sz6, s1, 1, 2, c); //@ assert (sz6 == 3 || sz6 == 4); s1 = NONDET_STR("mno\0pqr", "MNOP\0QRS"); for (int j = 0; j < 8; j++) { - sz7 = my_strchr(s1, j, c); + STRCHR(RES, sz7, s1, j, c); //@ assert (sz7 == 3 || sz7 == 4 || sz7 == 7 || sz7 == 8); } CHAR_ARRAY(maybe_init, 2); maybe_init[1] = '\0'; IF_NONDET(maybe_init[0], 'A'); - sz8 = my_strchr(maybe_init, 0, c); // alarm + STRCHR(RES, sz8, maybe_init, 0, c); // alarm //@ assert(sz8 == 1); } @@ -354,19 +371,19 @@ void strchr_big_array () { long len_u; long len_r; long len_t; - + // All strchr calls in this function emit alarms due to preconditions. // without initialization, most accesses are invalid, so the result is precise - len_u = my_strchr((char const *)u, 0, c); // below plevel; precise - len_r = my_strchr((char const *)r, 0, c); // above plevel; imprecise - len_t = my_strchr((char const *)t, 0, c); // *far* above plevel + STRCHR_no_decl(len_u, (char const *)u, 0, c); // below plevel; precise + STRCHR_no_decl(len_r, (char const *)r, 0, c); // above plevel; imprecise + STRCHR_no_decl(len_t, (char const *)t, 0, c); // *far* above plevel Frama_C_show_each(len_u, len_r, len_t); //@ assert (len_u == 1); //@ assert (len_r == 1); //@ assert (len_t == 1); - len_u = my_strchr((char const *)u, nondet, c); // should be precise - len_r = my_strchr((char const *)r, nondet, c); - len_t = my_strchr((char const *)t, nondet, c); + STRCHR_no_decl(len_u, (char const *)u, nondet, c); // should be precise + STRCHR_no_decl(len_r, (char const *)r, nondet, c); + STRCHR_no_decl(len_t, (char const *)t, nondet, c); Frama_C_show_each(len_u, len_r, len_t); //@ assert (len_u >= -1 && len_u <= 799); //@ assert (len_r >= -1 && len_r <= 803); @@ -384,17 +401,17 @@ void strchr_big_array () { *p = 0x10230067; p = &t[nondet]; *p = 0x10230067; - len_u = my_strchr((char const *)u, 0, c); // below plevel; precise - len_r = my_strchr((char const *)r, 0, c); // above plevel; imprecise - len_t = my_strchr((char const *)t, 0, c); // *far* above plevel + STRCHR_no_decl(len_u, (char const *)u, 0, c); // below plevel; precise + STRCHR_no_decl(len_r, (char const *)r, 0, c); // above plevel; imprecise + STRCHR_no_decl(len_t, (char const *)t, 0, c); // *far* above plevel Frama_C_show_each(len_u, len_r, len_t); //@ assert (len_u >= 0 && len_u <= 799); //@ assert (len_r >= 0 && len_r <= 803); //@ assert (len_t >= 0 && len_t <= 3999999); - len_u = my_strchr((char const *)u, nondet, c); // should be precise - len_r = my_strchr((char const *)r, nondet, c); - len_t = my_strchr((char const *)t, nondet, c); + STRCHR_no_decl(len_u, (char const *)u, nondet, c); // should be precise + STRCHR_no_decl(len_r, (char const *)r, nondet, c); + STRCHR_no_decl(len_t, (char const *)t, nondet, c); Frama_C_show_each(len_u, len_r, len_t); //@ assert (len_u >= -1 && len_u <= 799); //@ assert (len_r >= -1 && len_r <= 803); @@ -412,18 +429,18 @@ void strchr_no_zero_but_ok() { s[10] = 0; s[11] = s[12] = s[13] = 1; s[14] = s[15] = s[16] = s[17] = s[18] = s[19] = NONDET(1, 0); - RES z1 = my_strchr(s, 0, c); + STRCHR(RES, z1, s, 0, c); //@assert (z1 == 10); - RES z2 = my_strchr(s, 0, c); + STRCHR(RES, z2, s, 0, c); //@assert (z2 == 10); Ival offs = NONDET(1, 8); - RES z3 = my_strchr(s, offs, c); + STRCHR(RES, z3, s, offs, c); //@assert (z3 == 10); offs = NONDET(7, 11); - RES z4 = my_strchr(s, offs, c); + STRCHR(RES, z4, s, offs, c); // alarm //@assert (z4 >= -1 && z4 <= 19); offs = NONDET(7, 18); - RES z5 = my_strchr(s, offs, c); + STRCHR(RES, z5, s, offs, c); // alarm //@assert (z5 == -1 || z5 == 10 || z5 == 18 || z5 == 19); } @@ -432,19 +449,20 @@ int strchr_small_sets_no_assertions(CHAR c, RES *res) { CHAR_PTR(s); STRING(s,"abc"); Ival o = NONDET(0, 1); - res[0] = my_strchr(s, o, c); + STRCHR_no_decl(res[0], s, o, c); STRING(s,"\0bc"); o = NONDET(0,1); - res[1] = my_strchr(s, o, c); + STRCHR_no_decl(res[1], s, o, c); STRING(s,""); - res[2] = my_strchr(s, 0, c); + STRCHR_no_decl(res[2], s, 0, c); STRING(s,"b\0c"); o = NONDET(0,2); - res[3] = my_strchr(s, o, c); + STRCHR_no_decl(res[3], s, o, c); CHAR_ARRAY(t, 4); t[0] = t[1] = NONDET(c, 1); - t[2] = t[3] = 1; - /* res[4] = my_strchr(t, 0, c); Invalid: t is not a string */ + t[2] = 1; + t[3] = 0; + STRCHR_no_decl(res[4], t, 0, c); return 0; } @@ -501,31 +519,31 @@ void strchr_small_sets_chars() { //@ assert (res[1] >= -1 && res[1] <= 3); // no alarm //@ assert (res[2] == -1 || res[2] == 0); // no alarm //@ assert (res[3] >= -1 && res[3] <= 3); // no alarm - //@ assert (res[4] == -1 || res[4] == 0 || res[4] == 1); // alarm + //@ assert (res[4] == -1 || res[4] == 0 || res[4] == 1 || res[4] == 3); // alarm } void strchr_unbounded() { CHAR c = nondet; CHAR_PTR(s); STRING(s,"abcd"); - RES u1 = my_strchr(s, 0, c); + STRCHR(RES, u1, s, 0, c); //@ assert (u1 >= -1 && u1 <= 4); // no alarm STRING(s,"ABCDEFGHIJKLMNOPQRSTUVWXYZ"); CHAR_ARRAY(t,30); // uninitialized IF_NONDET(s, t); - RES u2 = my_strchr(s, 0, c); + STRCHR(RES, u2, s, 0, c); // alarm //@ assert (u2 >= -1 && u2 <= 26); // alarm init_array_nondet(t, 0, 29, 0, 1); - RES u3 = my_strchr(s, 0, c); + STRCHR(RES, u3, s, 0, c); // alarm //@ assert (u3 >= -1 && u3 <= 29); // alarm - RES u4 = my_strchr(s, nondet, c); + STRCHR(RES, u4, s, nondet, c); // alarm //@ assert (u4 >= -1 && u4 <= 29); // alarm } void strchr_invalid() { CHAR_PTR(s); STRING(s,"hello"); - my_strchr(s, (unsigned int)&s, 1); + STRCHR(RES, unused, s, (unsigned int)&s, 1); // alarm } void strchr_garbled_mix_in_char() { diff --git a/tests/non-free/strlen.c b/tests/non-free/strlen.c index 3b0e9a7916d2a9870b34bb953291805fd2d01f49..91cf082a9ab75f2a1500cd3170dc0fafe4569e32 100644 --- a/tests/non-free/strlen.c +++ b/tests/non-free/strlen.c @@ -50,9 +50,9 @@ const char* tab_str[TSZ] = char unterminated_string[12] = "unterminated"; -int my_strlen(const char *s, size_t offs) { - return strlen(s+offs); -} +#define STRLEN(s, offs) strlen(s+offs) + + void small_sets() { char *s = "abc"; @@ -102,18 +102,18 @@ void zero_termination() { void strlen_initialization() { CHAR_ARRAY(empty_or_uninitialized, 1); IF_NONDET(empty_or_uninitialized[0], 0); - RES z1 = my_strlen(empty_or_uninitialized, 0); + RES z1 = STRLEN(empty_or_uninitialized, 0); // alarm //@ assert (z1 == 0); CHAR_ARRAY(uninitialized, 1); - assert_bottom(my_strlen(uninitialized, 0), uninitialized); + assert_bottom(STRLEN(uninitialized, 0), uninitialized); CHAR_ARRAY(s, 2); IF_NONDET(s[0], 1); s[1] = 0; CHAR_PTR(p); p = s; - RES z2 = my_strlen(p, 0); + RES z2 = STRLEN(p, 0); // alarm //@ assert (z2 == 1); CHAR_ARRAY(t, 4); @@ -121,7 +121,7 @@ void strlen_initialization() { IF_NONDET(t[2], 10); t[3] = 0; p = t; - RES z3 = my_strlen(p, 0); + RES z3 = STRLEN(p, 0); // alarm //@ assert (z3 == 3); } @@ -169,24 +169,24 @@ void strlen_large() { a[20] = 0; a[75] = 0; Ival offset = RANGE(3, 30); - RES z1 = my_strlen(a, offset); + RES z1 = STRLEN(a, offset); //@ assert (z1 >= 0 && z1 <= 54); offset = RANGE(5, 17); - RES z2 = my_strlen(a, offset); + RES z2 = STRLEN(a, offset); //@ assert (z2 >= 3 && z2 <= 15); offset = RANGE(60, 74); - RES z3 = my_strlen(a, offset); + RES z3 = STRLEN(a, offset); //@ assert (z3 >= 1 && z3 <= 15); offset = RANGE(63, 80); - RES z4 = my_strlen(a, offset); + RES z4 = STRLEN(a, offset); // alarm //@ assert (z4 >= 0 && z4 <= 12); init_array_nondet(a, 0, 99, 0, 2); offset = RANGE(50, 70); - RES z5 = my_strlen(a, offset); + RES z5 = STRLEN(a, offset); // alarm //@ assert (z5 >= 0 && z5 <= 49); } @@ -200,16 +200,16 @@ void strlen_large_uninit() { a[75] = 0; Ival offset = RANGE(3, 30); - RES z1 = my_strlen(a, offset); + RES z1 = STRLEN(a, offset); // alarm //@ assert (z1 >= 0 && z1 <= 17); a[98] = 0; offset = RANGE(63, 80); - RES z2 = my_strlen(a, offset); + RES z2 = STRLEN(a, offset); // alarm //@ assert (z2 >= 0 && z2 <= 12); offset = RANGE(45, 55); - RES z3 = my_strlen(a, offset); + RES z3 = STRLEN(a, offset); // alarm //@ assert (z3 >= 20 && z3 <= 25); offset = 0; // avoid oracle diffs when changed diff --git a/tests/non-free/strnlen2.c b/tests/non-free/strnlen2.c index 6f3fe740a583f5c0baab2eb818acd8ab500bee19..577a532d5a5692a03441a148a55c56b8362ac5dc 100644 --- a/tests/non-free/strnlen2.c +++ b/tests/non-free/strnlen2.c @@ -15,7 +15,7 @@ typedef int Ival; #define NONDET(a,b) (nondet ? (a) : (b)) #define IF_NONDET(var,val) if (nondet) var = val #define RANGE(from,to) Frama_C_interval(from,to) -#define my_strnlen(base,offs,n) strnlen(base+offs,n) +#define STRNLEN(base,offs,n) strnlen(base+offs,n) #define CHAR_ARRAY(var,n) char var[n] #define CHAR_PTR(var) char *var #define STRING(var,str) var = str; @@ -42,41 +42,41 @@ void small_sets() { CHAR_PTR(s); STRING(s,"abc"); Ival o = NONDET(0, 1); - RES z1 = my_strnlen(s, o, 3); + RES z1 = STRNLEN(s, o, 3); //@ assert (z1 == 2 || z1 == 3); STRING(s,"\0bc"); o = NONDET(0,1); - RES z2 = my_strnlen(s, o, 2); + RES z2 = STRNLEN(s, o, 2); //@ assert (z2 == 0 || z2 == 2); STRING(s,""); - RES z3 = my_strnlen(s, 0, 0); + RES z3 = STRNLEN(s, 0, 0); //@ assert (z3 == 0); STRING(s,"b\0c"); o = NONDET(0,2); - RES z4 = my_strnlen(s, o, 2); + RES z4 = STRNLEN(s, o, 2); //@ assert (z4 == 1); CHAR_ARRAY(t, 4); t[0] = t[1] = NONDET(0, 1); t[2] = t[3] = 1; - RES z5 = my_strnlen(t, 0, 4); // no warning + RES z5 = STRNLEN(t, 0, 4); // no warning //@ assert z5 == 0 || z5 == 1 || z5 == 4; } void zero_termination() { CHAR_ARRAY(empty_or_non_terminated, 1); empty_or_non_terminated[0] = NONDET(0, 100); - RES z1 = my_strnlen(empty_or_non_terminated, 0, 1); + RES z1 = STRNLEN(empty_or_non_terminated, 0, 1); //@ assert z1 == 0 || z1 == 1; CHAR_ARRAY(non_terminated, 1); non_terminated[0] = 'X'; - assert_bottom(my_strnlen(non_terminated, 0, 2), non_terminated); + assert_bottom(STRNLEN(non_terminated, 0, 2), non_terminated); CHAR_ARRAY(non_terminated2, 4); non_terminated2[0] = 76; non_terminated2[1] = 0; non_terminated2[2] = 28; non_terminated2[3] = 14; Ival o = NONDET(2, 3); - assert_bottom(my_strnlen(non_terminated2, o, 4), non_terminated2); + assert_bottom(STRNLEN(non_terminated2, o, 4), non_terminated2); } void initialization() { @@ -145,24 +145,24 @@ void large() { a[20] = 0; a[75] = 0; Ival offset = RANGE(3, 30); - RES z1 = my_strnlen(a, offset, 100); + RES z1 = STRNLEN(a, offset, 100); //@ assert (z1 >= 0 && z1 <= 54); offset = RANGE(5, 17); - RES z2 = my_strnlen(a, offset, 100); + RES z2 = STRNLEN(a, offset, 100); //@ assert (z2 >= 3 && z2 <= 15); offset = RANGE(60, 74); - RES z3 = my_strnlen(a, offset, 100); + RES z3 = STRNLEN(a, offset, 100); //@ assert (z3 >= 1 && z3 <= 15); offset = RANGE(63, 80); - RES z4 = my_strnlen(a, offset, 100); + RES z4 = STRNLEN(a, offset, 100); //@ assert (z4 >= 0 && z4 <= 12); init_array_nondet(a, 0, 99, 0, 2); offset = RANGE(50, 70); - RES z5 = my_strnlen(a, offset, 100); + RES z5 = STRNLEN(a, offset, 100); //@ assert (z5 >= 0 && z5 <= 49); } @@ -174,16 +174,16 @@ void large_uninit() { a[75] = 0; Ival offset = RANGE(3, 30); - RES z1 = my_strnlen(a, offset, 100); + RES z1 = STRNLEN(a, offset, 100); //@ assert (z1 >= 0 && z1 <= 17); a[98] = 0; offset = RANGE(63, 80); - RES z2 = my_strnlen(a, offset, 100); + RES z2 = STRNLEN(a, offset, 100); //@ assert (z2 >= 0 && z2 <= 12); offset = RANGE(45, 55); - RES z3 = my_strnlen(a, offset, 100); + RES z3 = STRNLEN(a, offset, 100); //@ assert (z3 >= 20 && z3 <= 25); offset = 0; // avoid oracle diffs when changed @@ -376,42 +376,42 @@ void large_n() { a[75] = 0; Ival offset = RANGE(3, 30); Ival n = RANGE(10, 20); - RES z1 = my_strnlen(a, offset, n); + RES z1 = STRNLEN(a, offset, n); //@assert z1 <= 12; a[28] = 1; a[29] = 0; - RES z2 = my_strnlen(a, offset, n); + RES z2 = STRNLEN(a, offset, n); //@assert z2 <= 13; a[40] = 1; - RES z3 = my_strnlen(a, offset, n); // no alarm + RES z3 = STRNLEN(a, offset, n); // no alarm //@assert z3 <= 20; offset = RANGE(5, 17); - RES z4 = my_strnlen(a, offset, n); + RES z4 = STRNLEN(a, offset, n); //@assert z4 <= 13; offset = RANGE(60, 74); - RES z5 = my_strnlen(a, offset, n); + RES z5 = STRNLEN(a, offset, n); //@assert z5 >= 1 && z5 <= 15; offset = RANGE(63, 80); - RES z6 = my_strnlen(a, offset, n); // no alarm + RES z6 = STRNLEN(a, offset, n); // no alarm //@assert z6 <= 20; init_array_nondet(a, 0, 99, 0, 2); offset = RANGE(50, 70); - RES z7 = my_strnlen(a, offset, n); + RES z7 = STRNLEN(a, offset, n); //@assert z7 <= 20; n = RANGE(0, 100); - RES z8 = my_strnlen(a, offset, n); // alarm + RES z8 = STRNLEN(a, offset, n); // alarm //@assert z8 <= 50; offset = RANGE(0, 10); n = RANGE(0, 90); - RES z9 = my_strnlen(a, offset, n); // no alarm + RES z9 = STRNLEN(a, offset, n); // no alarm //@assert z9 <= 90; } @@ -440,47 +440,47 @@ void intervals() { Ival offset = RANGE(0,9); Ival n = RANGE(0, 9); - RES z1 = my_strnlen(a, offset, n); + RES z1 = STRNLEN(a, offset, n); //@ assert z1 >= 0 && z1 <= 9; offset = RANGE(3,9); n = RANGE(2,10); - RES z2 = my_strnlen(a, offset, n); + RES z2 = STRNLEN(a, offset, n); //@ assert z2 >= 0 && z2 <= 7; offset = RANGE(3,9); n = RANGE(0,11); - RES z3 = my_strnlen(a, offset, n); + RES z3 = STRNLEN(a, offset, n); //@ assert z3 >= 0 && z3 <= 7; offset = RANGE(3,10); n = RANGE(0,9); - RES z4 = my_strnlen(a, offset, n); + RES z4 = STRNLEN(a, offset, n); //@ assert z4 >= 0 && z4 <= 7; offset = RANGE(3,10); n = RANGE(0,10); - RES z5 = my_strnlen(a, offset, n); + RES z5 = STRNLEN(a, offset, n); //@ assert z5 >= 0 && z5 <= 7; offset = RANGE(3,10); n = RANGE(0,11); - RES z6 = my_strnlen(a, offset, n); + RES z6 = STRNLEN(a, offset, n); //@ assert z6 >= 0 && z6 <= 7; offset = RANGE(3,11); n = RANGE(0,9); - RES z7 = my_strnlen(a, offset, n); + RES z7 = STRNLEN(a, offset, n); //@ assert z7 >= 0 && z7 <= 9; offset = RANGE(3,11); n = RANGE(0,10); - RES z8 = my_strnlen(a, offset, n); + RES z8 = STRNLEN(a, offset, n); //@ assert z8 >= 0 && z8 <= 9; offset = RANGE(3,11); n = RANGE(0,11); - RES z9 = my_strnlen(a, offset, n); + RES z9 = STRNLEN(a, offset, n); //@ assert z9 >= 0 && z9 <= 9; } diff --git a/tests/non-free/wcslen.c b/tests/non-free/wcslen.c index f3bf937c7170bf68bab98dc9e3d05fa302c6f0db..906cc2d487f187e2fb1c8c90de19bea7bed56419 100644 --- a/tests/non-free/wcslen.c +++ b/tests/non-free/wcslen.c @@ -50,9 +50,9 @@ const wchar_t* tab_str[TSZ] = wchar_t unterminated_string[12] = L"unterminated"; -int my_wcslen(const wchar_t *s, size_t offs) { - return wcslen(s+offs); -} +#define WCSLEN(s, offs) wcslen(s+offs) + + void small_sets() { wchar_t *s = L"abc"; @@ -102,18 +102,18 @@ void zero_termination() { void wcslen_initialization() { CHAR_ARRAY(empty_or_uninitialized, 1); IF_NONDET(empty_or_uninitialized[0], 0); - RES z1 = my_wcslen(empty_or_uninitialized, 0); + RES z1 = WCSLEN(empty_or_uninitialized, 0); // alarm //@ assert (z1 == 0); CHAR_ARRAY(uninitialized, 1); - assert_bottom(my_wcslen(uninitialized, 0), uninitialized); + assert_bottom(WCSLEN(uninitialized, 0), uninitialized); CHAR_ARRAY(s, 2); IF_NONDET(s[0], 1); s[1] = 0; CHAR_PTR(p); p = s; - RES z2 = my_wcslen(p, 0); + RES z2 = WCSLEN(p, 0); // alarm //@ assert (z2 == 1); CHAR_ARRAY(t, 4); @@ -121,7 +121,7 @@ void wcslen_initialization() { IF_NONDET(t[2], 10); t[3] = 0; p = t; - RES z3 = my_wcslen(p, 0); + RES z3 = WCSLEN(p, 0); // alarm //@ assert (z3 == 3); } @@ -169,24 +169,24 @@ void wcslen_large() { a[20] = 0; a[75] = 0; Ival offset = RANGE(3, 30); - RES z1 = my_wcslen(a, offset); + RES z1 = WCSLEN(a, offset); //@ assert (z1 >= 0 && z1 <= 54); offset = RANGE(5, 17); - RES z2 = my_wcslen(a, offset); + RES z2 = WCSLEN(a, offset); //@ assert (z2 >= 3 && z2 <= 15); offset = RANGE(60, 74); - RES z3 = my_wcslen(a, offset); + RES z3 = WCSLEN(a, offset); //@ assert (z3 >= 1 && z3 <= 15); offset = RANGE(63, 80); - RES z4 = my_wcslen(a, offset); + RES z4 = WCSLEN(a, offset); // alarm //@ assert (z4 >= 0 && z4 <= 12); init_array_nondet(a, 0, 99, 0, 2); offset = RANGE(50, 70); - RES z5 = my_wcslen(a, offset); + RES z5 = WCSLEN(a, offset); // alarm //@ assert (z5 >= 0 && z5 <= 49); } @@ -200,16 +200,16 @@ void wcslen_large_uninit() { a[75] = 0; Ival offset = RANGE(3, 30); - RES z1 = my_wcslen(a, offset); + RES z1 = WCSLEN(a, offset); // alarm //@ assert (z1 >= 0 && z1 <= 17); a[98] = 0; offset = RANGE(63, 80); - RES z2 = my_wcslen(a, offset); + RES z2 = WCSLEN(a, offset); // alarm //@ assert (z2 >= 0 && z2 <= 12); offset = RANGE(45, 55); - RES z3 = my_wcslen(a, offset); + RES z3 = WCSLEN(a, offset); // alarm //@ assert (z3 >= 20 && z3 <= 25); offset = 0; // avoid oracle diffs when changed