From a807820899cecbef20617b66a14034c7d97a1c24 Mon Sep 17 00:00:00 2001 From: Julien Signoles <julien.signoles@cea.fr> Date: Mon, 16 Jun 2014 18:40:05 +0200 Subject: [PATCH] update code and oracles according to Frama-C changes, in particular interpretation of \valid in presence of const --- src/plugins/e-acsl/TODO | 1 + src/plugins/e-acsl/share/e-acsl/e_acsl_gmp.h | 36 +++++++++---------- .../tests/e-acsl-runtime/oracle/gen_arith2.c | 28 +++++++-------- .../tests/e-acsl-runtime/oracle/gen_array2.c | 4 +-- .../tests/e-acsl-runtime/oracle/gen_at2.c | 10 +++--- .../e-acsl-runtime/oracle/gen_bts13072.c | 12 +++---- .../e-acsl-runtime/oracle/gen_bts13242.c | 16 ++++----- .../e-acsl-runtime/oracle/gen_bts13262.c | 12 +++---- .../e-acsl-runtime/oracle/gen_bts13902.c | 12 +++---- .../e-acsl-runtime/oracle/gen_bts13992.c | 10 +++--- .../e-acsl-runtime/oracle/gen_bts14782.c | 4 +-- .../tests/e-acsl-runtime/oracle/gen_cast2.c | 6 ++-- .../e-acsl-runtime/oracle/gen_comparison2.c | 6 ++-- .../oracle/gen_function_contract2.c | 8 ++--- .../tests/e-acsl-runtime/oracle/gen_ghost2.c | 4 +-- .../oracle/gen_integer_constant.c | 4 +-- .../oracle/gen_integer_constant2.c | 4 +-- .../e-acsl-runtime/oracle/gen_invariant2.c | 4 +-- .../e-acsl-runtime/oracle/gen_labeled_stmt2.c | 4 +-- .../tests/e-acsl-runtime/oracle/gen_lazy2.c | 10 +++--- .../oracle/gen_linear_search2.c | 12 +++---- .../oracle/gen_literal_string2.c | 4 +-- .../e-acsl-runtime/oracle/gen_longlong.c | 18 +++++----- .../e-acsl-runtime/oracle/gen_longlong2.c | 16 ++++----- .../tests/e-acsl-runtime/oracle/gen_loop2.c | 16 ++++----- .../oracle/gen_nested_code_annot2.c | 4 +-- .../tests/e-acsl-runtime/oracle/gen_not2.c | 4 +-- .../oracle/gen_other_constants2.c | 4 +-- .../tests/e-acsl-runtime/oracle/gen_ptr2.c | 22 ++++++------ .../e-acsl-runtime/oracle/gen_quantif2.c | 22 ++++++------ .../tests/e-acsl-runtime/oracle/gen_result2.c | 10 +++--- .../tests/e-acsl-runtime/oracle/gen_sizeof2.c | 4 +-- .../oracle/gen_stmt_contract2.c | 8 ++--- .../e-acsl-runtime/oracle/gen_typedef2.c | 4 +-- .../e-acsl-runtime/oracle/gen_valid_alias2.c | 4 +-- .../tests/e-acsl-runtime/oracle/gen_vector2.c | 4 +-- src/plugins/e-acsl/typing.ml | 5 ++- 37 files changed, 178 insertions(+), 178 deletions(-) diff --git a/src/plugins/e-acsl/TODO b/src/plugins/e-acsl/TODO index d6ebf7ed7d8..efbbd3c6aa1 100644 --- a/src/plugins/e-acsl/TODO +++ b/src/plugins/e-acsl/TODO @@ -80,6 +80,7 @@ (voir aussi result.i et ./at_stmt_contract.i) - interprétation des tableaux logiques [Dillon] Windows +- \valid(p) is not true if p is a const pointer [to be check]: no call to full_init or initialize for the assigned result of a function call diff --git a/src/plugins/e-acsl/share/e-acsl/e_acsl_gmp.h b/src/plugins/e-acsl/share/e-acsl/e_acsl_gmp.h index 7ef14b60c2a..7df9fcdec54 100644 --- a/src/plugins/e-acsl/share/e-acsl/e_acsl_gmp.h +++ b/src/plugins/e-acsl/share/e-acsl/e_acsl_gmp.h @@ -43,7 +43,7 @@ extern void __gmpz_init(mpz_t z) __attribute__((FC_BUILTIN)); -/*@ requires \valid(z_orig); +/*@ requires \valid_read(z_orig); @ requires ! \initialized(z); @ allocates z; @ ensures \valid(z); @@ -91,7 +91,7 @@ extern void __gmpz_import (mpz_t z, size_t, int, size_t, int, size_t, const void /* Assignments */ /***************/ -/*@ requires \valid(z_orig); +/*@ requires \valid_read(z_orig); @ requires \valid(z); // @ ensures z->n == z_orig->n; @ assigns *z \from *z_orig; */ @@ -124,8 +124,8 @@ extern void __gmpz_clear(mpz_t x) /* Logical operator */ /********************/ -/*@ requires \valid(z1); - @ requires \valid(z2); +/*@ requires \valid_read(z1); + @ requires \valid_read(z2); @ assigns \result \from *z1, *z2; */ extern int __gmpz_cmp(const mpz_t z1, const mpz_t z2) __attribute__((FC_BUILTIN)); @@ -135,42 +135,42 @@ extern int __gmpz_cmp(const mpz_t z1, const mpz_t z2) /************************/ /*@ requires \valid(z1); - @ requires \valid(z2); + @ requires \valid_read(z2); @ assigns *z1 \from *z2; */ extern void __gmpz_neg(mpz_t z1, const mpz_t z2) __attribute__((FC_BUILTIN)); /*@ requires \valid(z1); - @ requires \valid(z2); - @ requires \valid(z3); + @ requires \valid_read(z2); + @ requires \valid_read(z3); @ assigns *z1 \from *z2, *z3; */ extern void __gmpz_add(mpz_t z1, const mpz_t z2, const mpz_t z3) __attribute__((FC_BUILTIN)); /*@ requires \valid(z1); - @ requires \valid(z2); - @ requires \valid(z3); + @ requires \valid_read(z2); + @ requires \valid_read(z3); @ assigns *z1 \from *z2, *z3; */ extern void __gmpz_sub(mpz_t z1, const mpz_t z2, const mpz_t z3) __attribute__((FC_BUILTIN)); /*@ requires \valid(z1); - @ requires \valid(z2); - @ requires \valid(z3); + @ requires \valid_read(z2); + @ requires \valid_read(z3); @ assigns *z1 \from *z2, *z3; */ extern void __gmpz_mul(mpz_t z1, const mpz_t z2, const mpz_t z3) __attribute__((FC_BUILTIN)); /*@ requires \valid(z1); - @ requires \valid(z2); - @ requires \valid(z3); + @ requires \valid_read(z2); + @ requires \valid_read(z3); @ assigns *z1 \from *z2, *z3; */ extern void __gmpz_tdiv_q(mpz_t z1, const mpz_t z2, const mpz_t z3) __attribute__((FC_BUILTIN)); /*@ requires \valid(z1); - @ requires \valid(z2); - @ requires \valid(z3); + @ requires \valid_read(z2); + @ requires \valid_read(z3); @ assigns *z1 \from *z2, *z3; */ extern void __gmpz_tdiv_r(mpz_t z1, const mpz_t z2, const mpz_t z3) __attribute__((FC_BUILTIN)); @@ -180,7 +180,7 @@ extern void __gmpz_tdiv_r(mpz_t z1, const mpz_t z2, const mpz_t z3) /*********************/ /*@ requires \valid(z1); - @ requires \valid(z2); + @ requires \valid_read(z2); @ assigns *z1 \from *z2; @ assigns \result \from *z1,*z2; */ extern int __gmpz_com(mpz_t z1, const mpz_t z2) @@ -190,12 +190,12 @@ extern int __gmpz_com(mpz_t z1, const mpz_t z2) /* Coercions to C types */ /************************/ -/*@ requires \valid(z); +/*@ requires \valid_read(z); @ assigns \result \from *z; */ extern long __gmpz_get_si(const mpz_t z) __attribute__((FC_BUILTIN)); -/*@ requires \valid(z); +/*@ requires \valid_read(z); @ assigns \result \from *z; */ extern unsigned long __gmpz_get_ui(const mpz_t z) __attribute__((FC_BUILTIN)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c index 82008631711..f51c537f6c4 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith2.c @@ -67,8 +67,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_init_set_str(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -76,7 +76,7 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); + requires \valid_read(z2); assigns *z1; assigns *z1 \from *z2; */ @@ -84,8 +84,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_neg(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -94,8 +94,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -104,8 +104,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_sub(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -114,8 +114,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -124,8 +124,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]* __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -134,7 +134,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_r(__mpz_struct * /*[1]* __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); + requires \valid_read(z2); assigns *z1, \result; assigns *z1 \from *z2; assigns \result \from *z1, *z2; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c index bf258eef4aa..f20a0e8f72b 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array2.c @@ -47,8 +47,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c index c69173bbeae..679a07f8431 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at2.c @@ -40,7 +40,7 @@ axiomatic */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z); -/*@ requires \valid(z_orig); +/*@ requires \valid_read(z_orig); requires ¬\initialized(z); ensures \valid(\old(z)); assigns *z; @@ -65,8 +65,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -74,8 +74,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13072.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13072.c index 3b4af93775d..444d463a0d2 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13072.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13072.c @@ -40,7 +40,7 @@ axiomatic */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z); -/*@ requires \valid(z_orig); +/*@ requires \valid_read(z_orig); requires ¬\initialized(z); ensures \valid(\old(z)); assigns *z; @@ -65,8 +65,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -74,8 +74,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -83,7 +83,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]* __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z); +/*@ requires \valid_read(z); assigns \result; assigns \result \from *z; */ extern __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13242.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13242.c index 89edfb78504..a448bc0be51 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13242.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13242.c @@ -50,7 +50,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ requires \valid(z_orig); +/*@ requires \valid_read(z_orig); requires \valid(z); assigns *z; assigns *z \from *z_orig; @@ -63,8 +63,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -72,8 +72,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -82,8 +82,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -91,7 +91,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_sub(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z); +/*@ requires \valid_read(z); assigns \result; assigns \result \from *z; */ extern __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13262.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13262.c index 8c3ebbe9970..72b0e104ce9 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13262.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13262.c @@ -56,8 +56,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -65,8 +65,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -75,8 +75,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13902.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13902.c index b4ea1d9be57..a08c2a6692f 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13902.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13902.c @@ -60,7 +60,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_ui(__mpz_struct * / extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ requires \valid(z_orig); +/*@ requires \valid_read(z_orig); requires \valid(z); assigns *z; assigns *z \from *z_orig; @@ -73,8 +73,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -82,8 +82,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -91,7 +91,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z); +/*@ requires \valid_read(z); assigns \result; assigns \result \from *z; */ extern __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13992.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13992.c index 9b75f0ffe84..d265181dd9d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13992.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts13992.c @@ -116,8 +116,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -125,8 +125,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -134,7 +134,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]* __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z); +/*@ requires \valid_read(z); assigns \result; assigns \result \from *z; */ extern __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts14782.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts14782.c index 2f525371491..dfe69e1c88d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts14782.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_bts14782.c @@ -47,8 +47,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c index 291d9b6fdc6..98f8ec27baf 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast2.c @@ -69,15 +69,15 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_init_set_str(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); -/*@ requires \valid(z); +/*@ requires \valid_read(z); assigns \result; assigns \result \from *z; */ extern __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c index 57592073380..149fb7ae8e9 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison2.c @@ -55,8 +55,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -64,7 +64,7 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); + requires \valid_read(z2); assigns *z1; assigns *z1 \from *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c index 18ed30062a9..4fd16fafea5 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract2.c @@ -55,8 +55,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -64,8 +64,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost2.c index d117e37824f..edc38d0e77d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ghost2.c @@ -47,8 +47,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c index 596b7b58c76..8ce91c0dbef 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant.c @@ -49,8 +49,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_init_set_str(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c index 24f06299028..44899d75a9d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_integer_constant2.c @@ -59,8 +59,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_init_set_str(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c index 13d42707706..06994dd7f2e 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_invariant2.c @@ -47,8 +47,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c index 36cffb7e59c..7816d4df0c4 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_labeled_stmt2.c @@ -47,8 +47,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c index 7482fd27fd7..34ae8c2cefe 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy2.c @@ -40,7 +40,7 @@ axiomatic */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ z); -/*@ requires \valid(z_orig); +/*@ requires \valid_read(z_orig); requires ¬\initialized(z); ensures \valid(\old(z)); assigns *z; @@ -65,8 +65,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -74,8 +74,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c index 42e1ad14740..f844748eb6c 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_linear_search2.c @@ -50,7 +50,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ requires \valid(z_orig); +/*@ requires \valid_read(z_orig); requires \valid(z); assigns *z; assigns *z \from *z_orig; @@ -63,8 +63,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -72,8 +72,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -81,7 +81,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z); +/*@ requires \valid_read(z); assigns \result; assigns \result \from *z; */ extern __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c index 9f6168dcc9a..f1c4480d60e 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c @@ -47,8 +47,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong.c index c03705c4cf4..08df9312e66 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong.c @@ -68,8 +68,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_import(__mpz_struct * /*[1]* assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -77,8 +77,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -87,8 +87,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -97,8 +97,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -106,7 +106,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_r(__mpz_struct * /*[1]* __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z); +/*@ requires \valid_read(z); assigns \result; assigns \result \from *z; */ extern __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong2.c index 1adfb29a181..c83d640e113 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_longlong2.c @@ -68,8 +68,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_import(__mpz_struct * /*[1]* assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -77,8 +77,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -87,8 +87,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -97,8 +97,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop2.c index cad4c41a492..82cb91e3600 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_loop2.c @@ -50,7 +50,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ requires \valid(z_orig); +/*@ requires \valid_read(z_orig); requires \valid(z); assigns *z; assigns *z \from *z_orig; @@ -63,8 +63,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -72,8 +72,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -82,8 +82,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -91,7 +91,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z); +/*@ requires \valid_read(z); assigns \result; assigns \result \from *z; */ extern __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c index e44f41c1996..4b079ab0cc1 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot2.c @@ -47,8 +47,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c index 9a26741265b..a6009c1c2c4 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not2.c @@ -47,8 +47,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c index 3ad84cb6966..e25ff06fa59 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants2.c @@ -51,8 +51,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c index 44d9f3c173f..59051aa42d6 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr2.c @@ -55,8 +55,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -64,8 +64,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -74,8 +74,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -84,8 +84,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_sub(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -94,8 +94,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -103,7 +103,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]* __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z); +/*@ requires \valid_read(z); assigns \result; assigns \result \from *z; */ extern __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c index ee2348c85ab..648bbf06274 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_quantif2.c @@ -50,7 +50,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init(__mpz_struct * /*[1]*/ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * /*[1]*/ z, long n); -/*@ requires \valid(z_orig); +/*@ requires \valid_read(z_orig); requires \valid(z); assigns *z; assigns *z \from *z_orig; @@ -63,8 +63,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_set(__mpz_struct * /*[1]*/ z assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -72,8 +72,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -82,8 +82,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_add(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -92,8 +92,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_mul(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -102,8 +102,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_tdiv_q(__mpz_struct * /*[1]* __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c index 6ec0ed2c7c3..f1a59380544 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_result2.c @@ -55,8 +55,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -64,8 +64,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ @@ -73,7 +73,7 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_sub(__mpz_struct * /*[1]*/ z __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z); +/*@ requires \valid_read(z); assigns \result; assigns \result \from *z; */ extern __attribute__((__FC_BUILTIN__)) unsigned long __gmpz_get_ui(__mpz_struct const * /*[1]*/ z); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c index 9eb072c28e9..116f237427c 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof2.c @@ -47,8 +47,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c index b52f58679e5..a853808cb26 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract2.c @@ -55,8 +55,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ @@ -64,8 +64,8 @@ extern __attribute__((__FC_BUILTIN__)) int __gmpz_cmp(__mpz_struct const * /*[1 __mpz_struct const * /*[1]*/ z2); /*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); + requires \valid_read(z2); + requires \valid_read(z3); assigns *z1; assigns *z1 \from *z2, *z3; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c index 624b42cfe88..e245eae9e7c 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_typedef2.c @@ -58,8 +58,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias2.c index 13210971418..1923735970b 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_valid_alias2.c @@ -92,8 +92,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector2.c index e7645e29a74..a69e887eaab 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_vector2.c @@ -92,8 +92,8 @@ extern __attribute__((__FC_BUILTIN__)) void __gmpz_init_set_si(__mpz_struct * / assigns *x \from *x; */ extern __attribute__((__FC_BUILTIN__)) void __gmpz_clear(__mpz_struct * /*[1]*/ x); -/*@ requires \valid(z1); - requires \valid(z2); +/*@ requires \valid_read(z1); + requires \valid_read(z2); assigns \result; assigns \result \from *z1, *z2; */ diff --git a/src/plugins/e-acsl/typing.ml b/src/plugins/e-acsl/typing.ml index 615d30efd7e..11fc2f5e576 100644 --- a/src/plugins/e-acsl/typing.ml +++ b/src/plugins/e-acsl/typing.ml @@ -214,9 +214,8 @@ let type_constant ty = function if Cil.fitsInInt ILongLong n || Cil.fitsInInt IULongLong n then Interv(n, n) else Z | LChr c -> - (match Cil.charConstToInt c with - | CInt64(n, _, _) -> Interv(n, n) - | _ -> assert false) + let n = Cil.charConstToInt c in + Interv(n, n) | LStr _ | LWStr _ | LReal _ | LEnum _ -> No_integral ty let size_of ty = -- GitLab