From f6ac1ca92f95dd708a58586f61636555b3fe93f9 Mon Sep 17 00:00:00 2001 From: Julien Signoles <julien.signoles@cea.fr> Date: Wed, 23 Nov 2011 10:28:37 +0000 Subject: [PATCH] [e-acsl] tests compatible with strange behavior of gcc 4.6 (linking order) [e-acsl] all tests are now executed with gcc [e-acsl] fix bug with integer division and modulo [e-acsl] untested support of most logic labels [e-acsl] --- src/plugins/e-acsl/TODO | 5 +- src/plugins/e-acsl/env.ml | 18 + src/plugins/e-acsl/env.mli | 2 + src/plugins/e-acsl/share/e-acsl/e_acsl_gmp.h | 4 +- .../e-acsl/tests/e-acsl-runtime/arith.i | 2 +- .../e-acsl/tests/e-acsl-runtime/array.i | 2 +- src/plugins/e-acsl/tests/e-acsl-runtime/at.i | 3 +- .../e-acsl/tests/e-acsl-runtime/cast.i | 2 +- .../e-acsl/tests/e-acsl-runtime/comparison.i | 2 +- .../tests/e-acsl-runtime/function_contract.i | 2 +- .../tests/e-acsl-runtime/integer_constant.i | 2 +- .../e-acsl/tests/e-acsl-runtime/lazy.i | 2 +- .../tests/e-acsl-runtime/nested_code_annot.i | 2 +- .../e-acsl/tests/e-acsl-runtime/null.i | 2 +- .../e-acsl-runtime/oracle/arith.res.oracle | 531 ++++++++++-------- .../e-acsl-runtime/oracle/array.res.oracle | 30 +- .../tests/e-acsl-runtime/oracle/at.res.oracle | 101 ++-- .../e-acsl-runtime/oracle/cast.res.oracle | 32 +- .../oracle/comparison.res.oracle | 195 ++++--- .../e-acsl-runtime/oracle/false.res.oracle | 4 +- .../oracle/function_contract.res.oracle | 405 +++++++------ .../tests/e-acsl-runtime/oracle/gen_addrOf.c | 101 +++- .../tests/e-acsl-runtime/oracle/gen_arith.c | 249 +++++--- .../tests/e-acsl-runtime/oracle/gen_array.c | 117 +++- .../tests/e-acsl-runtime/oracle/gen_at.c | 126 +++-- .../tests/e-acsl-runtime/oracle/gen_cast.c | 115 ++-- .../e-acsl-runtime/oracle/gen_comparison.c | 146 +++-- .../tests/e-acsl-runtime/oracle/gen_false.c | 105 +++- .../oracle/gen_function_contract.c | 216 +++++-- .../oracle/gen_integer_constant.c | 108 +++- .../tests/e-acsl-runtime/oracle/gen_lazy.c | 155 +++-- .../oracle/gen_nested_code_annot.c | 154 +++-- .../tests/e-acsl-runtime/oracle/gen_not.c | 101 +++- .../tests/e-acsl-runtime/oracle/gen_null.c | 101 +++- .../oracle/gen_other_constants.c | 105 +++- .../tests/e-acsl-runtime/oracle/gen_ptr.c | 179 ++++-- .../tests/e-acsl-runtime/oracle/gen_sizeof.c | 123 ++-- .../e-acsl-runtime/oracle/gen_stmt_contract.c | 227 ++++++-- .../tests/e-acsl-runtime/oracle/gen_true.c | 101 +++- .../oracle/integer_constant.res.oracle | 15 +- .../e-acsl-runtime/oracle/lazy.res.oracle | 174 +++--- .../oracle/nested_code_annot.res.oracle | 125 +++-- .../oracle/other_constants.res.oracle | 14 +- .../e-acsl-runtime/oracle/ptr.res.oracle | 364 ++++++------ .../e-acsl-runtime/oracle/sizeof.res.oracle | 51 +- .../oracle/stmt_contract.res.oracle | 397 +++++++------ .../tests/e-acsl-runtime/other_constants.i | 2 +- src/plugins/e-acsl/tests/e-acsl-runtime/ptr.i | 2 +- .../e-acsl/tests/e-acsl-runtime/sizeof.i | 5 +- .../tests/e-acsl-runtime/stmt_contract.i | 2 +- src/plugins/e-acsl/visit.ml | 10 +- 51 files changed, 3305 insertions(+), 1733 deletions(-) diff --git a/src/plugins/e-acsl/TODO b/src/plugins/e-acsl/TODO index 4e5823c9269..1e2f8cd0034 100644 --- a/src/plugins/e-acsl/TODO +++ b/src/plugins/e-acsl/TODO @@ -1,7 +1,6 @@ à traiter avant la 1ère release: - quantifications sans exentension de syntaxe - \return -- \old et \at ######## # CODE # @@ -20,11 +19,15 @@ - constante entière longue: utiliser la représentation sous forme de string et rechercher la base appropriée. - introduire feature wishes Bernard (voir mail du 9 juin) +- arithmetic overflows ######### # TESTS # ######### +- plus de tests de divisions et modulos entières +- exécuter rte +- testing logic labels - tester plusieurs fonctions contenant des annotations - améliorer test "integer_constant.i" quand bug fixed #745 - test sizeof.i devraient être plus précis quand logic_typing plus précis diff --git a/src/plugins/e-acsl/env.ml b/src/plugins/e-acsl/env.ml index 7a1c717eb58..4802eae6c52 100644 --- a/src/plugins/e-acsl/env.ml +++ b/src/plugins/e-acsl/env.ml @@ -215,6 +215,24 @@ let pop_and_get env stmt ~global_clear where = let get_generated_variables env = List.rev env.new_global_vars +let stmt_of_label env = function + | StmtLabel { contents = stmt } -> stmt + | LogicLabel(_, label) when label = "Here" -> + (match env.visitor#current_stmt with + | None -> Misc.not_yet "label \"Here\" in function contract" + | Some s -> s) + | LogicLabel(_, label) when label = "Old" || label = "Pre" -> + (try + Kernel_function.find_first_stmt (Extlib.the env.visitor#current_kf) + with Kernel_function.No_Statement -> + Misc.not_yet (Format.sprintf "label %S in function without code" label)) + | LogicLabel(_, label) when label = "Post" -> + (try + Kernel_function.find_return (Extlib.the env.visitor#current_kf) + with Kernel_function.No_Statement -> + Misc.not_yet "label \"Post\" in function without code") + | LogicLabel(_, _label) -> assert false + (* Local Variables: compile-command: "make" diff --git a/src/plugins/e-acsl/env.mli b/src/plugins/e-acsl/env.mli index 48372d074a3..4d56dd6a070 100644 --- a/src/plugins/e-acsl/env.mli +++ b/src/plugins/e-acsl/env.mli @@ -78,6 +78,8 @@ val get_generated_variables: t -> varinfo list val get_visitor: t -> Visitor.generic_frama_c_visitor +val stmt_of_label: t -> logic_label -> stmt + (* Local Variables: compile-command: "make" 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 f9a3f179ca4..5290f586777 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 @@ -70,13 +70,13 @@ extern void mpz_mul(mpz_t z1, const mpz_t z2, const mpz_t z3); @ requires \valid(z2); @ requires \valid(z3); @ assigns *z1; */ -extern void mpz_cdiv_q(mpz_t z1, const mpz_t z2, const mpz_t z3); +extern void mpz_tdiv_q(mpz_t z1, const mpz_t z2, const mpz_t z3); /*@ requires \valid(z1); @ requires \valid(z2); @ requires \valid(z3); @ assigns *z1; */ -extern void mpz_mod(mpz_t z1, const mpz_t z2, const mpz_t z3); +extern void mpz_tdiv_r(mpz_t z1, const mpz_t z2, const mpz_t z3); // coercions to C int diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/arith.i b/src/plugins/e-acsl/tests/e-acsl-runtime/arith.i index 4bb84237ff3..bb4f376fc7b 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/arith.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/arith.i @@ -1,7 +1,7 @@ /* run.config COMMENT: arithmetic operations COMMENT: add the last assertion when fixing BTS #751 - EXECNOW: LOG gen_arith.c BIN gen_arith.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/arith.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_arith.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_arith.out -lgmp ./tests/e-acsl-runtime/result/gen_arith.c + EXECNOW: LOG gen_arith.c BIN gen_arith.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/arith.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_arith.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_arith.out ./tests/e-acsl-runtime/result/gen_arith.c -lgmp && ./tests/e-acsl-runtime/result/gen_arith.out */ int main(void) { diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/array.i b/src/plugins/e-acsl/tests/e-acsl-runtime/array.i index daca1bb83b9..4c688bfe8d0 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/array.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/array.i @@ -1,6 +1,6 @@ /* run.config COMMENT: arrays - EXECNOW: LOG gen_array.c BIN gen_array.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/array.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_array.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_array.out -lgmp ./tests/e-acsl-runtime/result/gen_array.c && ./tests/e-acsl-runtime/result/gen_array.out + EXECNOW: LOG gen_array.c BIN gen_array.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/array.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_array.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_array.out ./tests/e-acsl-runtime/result/gen_array.c -lgmp && ./tests/e-acsl-runtime/result/gen_array.out */ int T1[3],T2[4]; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/at.i b/src/plugins/e-acsl/tests/e-acsl-runtime/at.i index acb467ed941..4ee9f57e13c 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/at.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/at.i @@ -1,6 +1,6 @@ /* run.config COMMENT: \at - EXECNOW: LOG gen_at.c BIN gen_at.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/at.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_at.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_at.out -lgmp ./tests/e-acsl-runtime/result/gen_at.c && ./tests/e-acsl-runtime/result/gen_at.out + EXECNOW: LOG gen_at.c BIN gen_at.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/at.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_at.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_at.out ./tests/e-acsl-runtime/result/gen_at.c -lgmp && ./tests/e-acsl-runtime/result/gen_at.out */ int main(void) { @@ -10,6 +10,7 @@ int main(void) { x = 0; L: /*@ assert x == 0; */ x = 1; x = 2; + /*@ assert \at(x,L) == 0; */ /*@ assert \at(x+1,L) == 1; */ /*@ assert \at(x,L)+1 == 1; */ diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/cast.i b/src/plugins/e-acsl/tests/e-acsl-runtime/cast.i index 0fd9b5f0a69..ebd2e6d97c0 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/cast.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/cast.i @@ -1,6 +1,6 @@ /* run.config COMMENT: cast - EXECNOW: LOG gen_cast.c BIN gen_cast.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/cast.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_cast.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_cast.out -lgmp ./tests/e-acsl-runtime/result/gen_cast.c && ./tests/e-acsl-runtime/result/gen_cast.out + EXECNOW: LOG gen_cast.c BIN gen_cast.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/cast.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_cast.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_cast.out ./tests/e-acsl-runtime/result/gen_cast.c -lgmp && ./tests/e-acsl-runtime/result/gen_cast.out */ int main(void) { diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/comparison.i b/src/plugins/e-acsl/tests/e-acsl-runtime/comparison.i index 96b7e95cf59..b3b772e3767 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/comparison.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/comparison.i @@ -1,6 +1,6 @@ /* run.config COMMENT: comparison operators - EXECNOW: LOG gen_comparison.c BIN gen_comparison.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/comparison.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_comparison.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_comparison.out -lgmp ./tests/e-acsl-runtime/result/gen_comparison.c && ./tests/e-acsl-runtime/result/gen_comparison.out + EXECNOW: LOG gen_comparison.c BIN gen_comparison.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/comparison.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_comparison.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_comparison.out ./tests/e-acsl-runtime/result/gen_comparison.c -lgmp && ./tests/e-acsl-runtime/result/gen_comparison.out */ int main(void) { diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i b/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i index f82d2d40472..d60e8c729b1 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/function_contract.i @@ -1,6 +1,6 @@ /* run.config COMMENT: function contract - EXECNOW: LOG gen_function_contract.c BIN gen_function_contract.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/function_contract.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_function_contract.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_function_contract.out -lgmp ./tests/e-acsl-runtime/result/gen_function_contract.c && ./tests/e-acsl-runtime/result/gen_function_contract.out + EXECNOW: LOG gen_function_contract.c BIN gen_function_contract.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/function_contract.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_function_contract.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_function_contract.out ./tests/e-acsl-runtime/result/gen_function_contract.c -lgmp && ./tests/e-acsl-runtime/result/gen_function_contract.out */ int X = 0, Y = 2; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/integer_constant.i b/src/plugins/e-acsl/tests/e-acsl-runtime/integer_constant.i index ecbe431cb85..ad3b125def1 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/integer_constant.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/integer_constant.i @@ -1,7 +1,7 @@ /* run.config COMMENT: integer constant + a stmt after the assertion COMMENT: waiting for fixing BTS #745 - EXECNOW: LOG gen_integer_constant.c BIN gen_integer_constant.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/integer_constant.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_integer_constant.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_integer_constant.out -lgmp ./tests/e-acsl-runtime/result/gen_integer_constant.c && ./tests/e-acsl-runtime/result/gen_integer_constant.out + EXECNOW: LOG gen_integer_constant.c BIN gen_integer_constant.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/integer_constant.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_integer_constant.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_integer_constant.out ./tests/e-acsl-runtime/result/gen_integer_constant.c -lgmp && ./tests/e-acsl-runtime/result/gen_integer_constant.out */ int main(void) { int x; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/lazy.i b/src/plugins/e-acsl/tests/e-acsl-runtime/lazy.i index 8faa4e72823..df25a0847f1 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/lazy.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/lazy.i @@ -1,6 +1,6 @@ /* run.config COMMENT: predicate using lazy operators - EXECNOW: LOG gen_lazy.c BIN gen_lazy.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/lazy.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_lazy.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_lazy.out -lgmp ./tests/e-acsl-runtime/result/gen_lazy.c 2> /dev/null && ./tests/e-acsl-runtime/result/gen_lazy.out + EXECNOW: LOG gen_lazy.c BIN gen_lazy.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/lazy.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_lazy.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_lazy.out ./tests/e-acsl-runtime/result/gen_lazy.c -lgmp 2> /dev/null && ./tests/e-acsl-runtime/result/gen_lazy.out */ int main(void) { diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/nested_code_annot.i b/src/plugins/e-acsl/tests/e-acsl-runtime/nested_code_annot.i index 3b524ce7828..3d3b2ef6960 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/nested_code_annot.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/nested_code_annot.i @@ -1,6 +1,6 @@ /* run.config COMMENT: structured stmt with several code annotations inside - EXECNOW: LOG gen_nested_code_annot.c BIN gen_nested_code_annot.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/nested_code_annot.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_nested_code_annot.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_nested_code_annot.out -lgmp ./tests/e-acsl-runtime/result/gen_nested_code_annot.c && ./tests/e-acsl-runtime/result/gen_nested_code_annot.out + EXECNOW: LOG gen_nested_code_annot.c BIN gen_nested_code_annot.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/nested_code_annot.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_nested_code_annot.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_nested_code_annot.out ./tests/e-acsl-runtime/result/gen_nested_code_annot.c -lgmp && ./tests/e-acsl-runtime/result/gen_nested_code_annot.out */ int main(void) { diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/null.i b/src/plugins/e-acsl/tests/e-acsl-runtime/null.i index 3ffb6169483..32f28ac1131 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/null.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/null.i @@ -1,6 +1,6 @@ /* run.config COMMENT: assert \null == 0 - EXECNOW: LOG gen_null.c BIN gen_null.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/null.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_null.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_null.out -lgmp ./tests/e-acsl-runtime/result/gen_null.c && ./tests/e-acsl-runtime/result/gen_null.out + EXECNOW: LOG gen_null.c BIN gen_null.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/null.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_null.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_null.out ./tests/e-acsl-runtime/result/gen_null.c -lgmp && ./tests/e-acsl-runtime/result/gen_null.out */ int main(void) { diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle index 781df5b3ebc..da3dcf24e6c 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/arith.res.oracle @@ -5,28 +5,28 @@ [value] Values of globals at initialization PROJECT_FILE.i:138:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:144. PROJECT_FILE.i:33:[value] Function mpz_init_set_si: postcondition got status valid. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:145. PROJECT_FILE.i:21:[value] Function mpz_init: postcondition got status valid. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:141. + Called from PROJECT_FILE.i:146. PROJECT_FILE.i:59:[value] Function mpz_neg: precondition got status valid. PROJECT_FILE.i:60:[value] Function mpz_neg: precondition got status valid. [value] Done for function mpz_neg [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:141. + Called from PROJECT_FILE.i:147. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:142. + Called from PROJECT_FILE.i:148. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:143. + Called from PROJECT_FILE.i:149. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -37,33 +37,33 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:143. + Called from PROJECT_FILE.i:150. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:144. + Called from PROJECT_FILE.i:151. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:144. + Called from PROJECT_FILE.i:152. [value] Done for function mpz_clear -PROJECT_FILE.i:147:[value] Assertion got status valid. +PROJECT_FILE.i:156:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:149. + Called from PROJECT_FILE.i:162. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:149. + Called from PROJECT_FILE.i:163. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:150. + Called from PROJECT_FILE.i:164. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:150. + Called from PROJECT_FILE.i:165. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:151. + Called from PROJECT_FILE.i:166. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:152. + Called from PROJECT_FILE.i:167. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -73,30 +73,30 @@ PROJECT_FILE.i:147:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:152. + Called from PROJECT_FILE.i:168. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:153. + Called from PROJECT_FILE.i:169. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:153. + Called from PROJECT_FILE.i:170. [value] Done for function mpz_clear -PROJECT_FILE.i:156:[value] Assertion got status valid. +PROJECT_FILE.i:174:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:158. + Called from PROJECT_FILE.i:179. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:158. + Called from PROJECT_FILE.i:180. [value] Done for function mpz_init [value] computing for function mpz_com <- main. - Called from PROJECT_FILE.i:159. + Called from PROJECT_FILE.i:181. [kernel] warning: No code for function mpz_com, default assigns generated [value] Done for function mpz_com [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:160. + Called from PROJECT_FILE.i:182. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:161. + Called from PROJECT_FILE.i:183. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -106,41 +106,41 @@ PROJECT_FILE.i:156:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:162. + Called from PROJECT_FILE.i:184. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:162. + Called from PROJECT_FILE.i:185. [value] Done for function mpz_clear -PROJECT_FILE.i:165:[value] Assertion got status valid. +PROJECT_FILE.i:189:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:167. + Called from PROJECT_FILE.i:197. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:168. + Called from PROJECT_FILE.i:198. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:168. + Called from PROJECT_FILE.i:199. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:169. + Called from PROJECT_FILE.i:200. PROJECT_FILE.i:64:[value] Function mpz_add: precondition got status valid. PROJECT_FILE.i:65:[value] Function mpz_add: precondition got status valid. PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Done for function mpz_add [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:169. + Called from PROJECT_FILE.i:201. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:170. + Called from PROJECT_FILE.i:202. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:170. + Called from PROJECT_FILE.i:203. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:171. + Called from PROJECT_FILE.i:204. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:172. + Called from PROJECT_FILE.i:205. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -150,50 +150,50 @@ PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:173. + Called from PROJECT_FILE.i:206. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:173. + Called from PROJECT_FILE.i:207. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:173. + Called from PROJECT_FILE.i:208. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:174. + Called from PROJECT_FILE.i:209. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:174. + Called from PROJECT_FILE.i:210. [value] Done for function mpz_clear -PROJECT_FILE.i:177:[value] Assertion got status valid. +PROJECT_FILE.i:214:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:179. + Called from PROJECT_FILE.i:222. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:180. + Called from PROJECT_FILE.i:223. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:180. + Called from PROJECT_FILE.i:224. [value] Done for function mpz_init [value] computing for function mpz_sub <- main. - Called from PROJECT_FILE.i:181. + Called from PROJECT_FILE.i:225. PROJECT_FILE.i:70:[value] Function mpz_sub: precondition got status valid. PROJECT_FILE.i:71:[value] Function mpz_sub: precondition got status valid. PROJECT_FILE.i:72:[value] Function mpz_sub: precondition got status valid. [value] Done for function mpz_sub [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:181. + Called from PROJECT_FILE.i:226. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:182. + Called from PROJECT_FILE.i:227. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:182. + Called from PROJECT_FILE.i:228. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:183. + Called from PROJECT_FILE.i:229. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:184. + Called from PROJECT_FILE.i:230. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -203,50 +203,50 @@ PROJECT_FILE.i:72:[value] Function mpz_sub: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:185. + Called from PROJECT_FILE.i:231. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:185. + Called from PROJECT_FILE.i:232. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:185. + Called from PROJECT_FILE.i:233. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:186. + Called from PROJECT_FILE.i:234. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:186. + Called from PROJECT_FILE.i:235. [value] Done for function mpz_clear -PROJECT_FILE.i:189:[value] Assertion got status valid. +PROJECT_FILE.i:239:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:191. + Called from PROJECT_FILE.i:247. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:192. + Called from PROJECT_FILE.i:248. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:192. + Called from PROJECT_FILE.i:249. [value] Done for function mpz_init [value] computing for function mpz_mul <- main. - Called from PROJECT_FILE.i:193. + Called from PROJECT_FILE.i:250. PROJECT_FILE.i:76:[value] Function mpz_mul: precondition got status valid. PROJECT_FILE.i:77:[value] Function mpz_mul: precondition got status valid. PROJECT_FILE.i:78:[value] Function mpz_mul: precondition got status valid. [value] Done for function mpz_mul [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:193. + Called from PROJECT_FILE.i:251. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:194. + Called from PROJECT_FILE.i:252. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:194. + Called from PROJECT_FILE.i:253. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:195. + Called from PROJECT_FILE.i:254. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:196. + Called from PROJECT_FILE.i:255. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -256,37 +256,37 @@ PROJECT_FILE.i:78:[value] Function mpz_mul: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:256. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:257. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:258. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:198. + Called from PROJECT_FILE.i:259. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:198. + Called from PROJECT_FILE.i:260. [value] Done for function mpz_clear -PROJECT_FILE.i:201:[value] Assertion got status valid. +PROJECT_FILE.i:264:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:204. + Called from PROJECT_FILE.i:273. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:204. + Called from PROJECT_FILE.i:274. [value] Done for function mpz_init_set_si [value] computing for function mpz_get_si <- main. - Called from PROJECT_FILE.i:205. + Called from PROJECT_FILE.i:275. PROJECT_FILE.i:96:[value] Function mpz_get_si: precondition got status valid. [value] Done for function mpz_get_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:205. + Called from PROJECT_FILE.i:276. [value] Done for function mpz_init -PROJECT_FILE.i:206:[value] Assertion got status valid. +PROJECT_FILE.i:277:[value] Assertion got status valid. [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:207. + Called from PROJECT_FILE.i:278. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -295,26 +295,26 @@ PROJECT_FILE.i:206:[value] Assertion got status valid. [value] Done for function exit [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail -[value] computing for function mpz_cdiv_q <- main. - Called from PROJECT_FILE.i:208. -PROJECT_FILE.i:82:[value] Function mpz_cdiv_q: precondition got status valid. -PROJECT_FILE.i:83:[value] Function mpz_cdiv_q: precondition got status valid. -PROJECT_FILE.i:84:[value] Function mpz_cdiv_q: precondition got status valid. -[value] Done for function mpz_cdiv_q +[value] computing for function mpz_tdiv_q <- main. + Called from PROJECT_FILE.i:279. +PROJECT_FILE.i:82:[value] Function mpz_tdiv_q: precondition got status valid. +PROJECT_FILE.i:83:[value] Function mpz_tdiv_q: precondition got status valid. +PROJECT_FILE.i:84:[value] Function mpz_tdiv_q: precondition got status valid. +[value] Done for function mpz_tdiv_q [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:208. + Called from PROJECT_FILE.i:280. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:209. + Called from PROJECT_FILE.i:281. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:209. + Called from PROJECT_FILE.i:282. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:210. + Called from PROJECT_FILE.i:283. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:211. + Called from PROJECT_FILE.i:284. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -324,37 +324,37 @@ PROJECT_FILE.i:84:[value] Function mpz_cdiv_q: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:285. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:286. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:287. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:213. + Called from PROJECT_FILE.i:288. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:213. + Called from PROJECT_FILE.i:289. [value] Done for function mpz_clear -PROJECT_FILE.i:216:[value] Assertion got status valid. +PROJECT_FILE.i:293:[value] Assertion got status valid. [value] computing for function mpz_init_set_str <- main. - Called from PROJECT_FILE.i:219. + Called from PROJECT_FILE.i:301. PROJECT_FILE.i:37:[value] Function mpz_init_set_str: postcondition got status valid. [value] Done for function mpz_init_set_str [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:220. + Called from PROJECT_FILE.i:302. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:221. + Called from PROJECT_FILE.i:303. [value] Done for function mpz_cmp [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:221. + Called from PROJECT_FILE.i:304. [value] Done for function mpz_init -PROJECT_FILE.i:222:[value] Assertion got status valid. +PROJECT_FILE.i:305:[value] Assertion got status valid. [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:223. + Called from PROJECT_FILE.i:306. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -363,17 +363,17 @@ PROJECT_FILE.i:222:[value] Assertion got status valid. [value] Done for function exit [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail -[value] computing for function mpz_cdiv_q <- main. - Called from PROJECT_FILE.i:224. -[value] Done for function mpz_cdiv_q +[value] computing for function mpz_tdiv_q <- main. + Called from PROJECT_FILE.i:307. +[value] Done for function mpz_tdiv_q [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:224. + Called from PROJECT_FILE.i:308. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:225. + Called from PROJECT_FILE.i:309. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:227. + Called from PROJECT_FILE.i:311. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -383,33 +383,33 @@ PROJECT_FILE.i:222:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:228. + Called from PROJECT_FILE.i:313. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:228. + Called from PROJECT_FILE.i:314. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:228. + Called from PROJECT_FILE.i:315. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:229. + Called from PROJECT_FILE.i:316. [value] Done for function mpz_clear -PROJECT_FILE.i:232:[value] Assertion got status valid. +PROJECT_FILE.i:320:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:235. + Called from PROJECT_FILE.i:329. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:235. + Called from PROJECT_FILE.i:330. [value] Done for function mpz_init_set_si [value] computing for function mpz_get_si <- main. - Called from PROJECT_FILE.i:236. + Called from PROJECT_FILE.i:331. [value] Done for function mpz_get_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:236. + Called from PROJECT_FILE.i:332. [value] Done for function mpz_init -PROJECT_FILE.i:237:[value] Assertion got status valid. +PROJECT_FILE.i:333:[value] Assertion got status valid. [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:238. + Called from PROJECT_FILE.i:334. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -418,24 +418,26 @@ PROJECT_FILE.i:237:[value] Assertion got status valid. [value] Done for function exit [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail -[value] computing for function mpz_mod_ui <- main. - Called from PROJECT_FILE.i:239. -[kernel] warning: No code for function mpz_mod_ui, default assigns generated -[value] Done for function mpz_mod_ui +[value] computing for function mpz_tdiv_r <- main. + Called from PROJECT_FILE.i:335. +PROJECT_FILE.i:88:[value] Function mpz_tdiv_r: precondition got status valid. +PROJECT_FILE.i:89:[value] Function mpz_tdiv_r: precondition got status valid. +PROJECT_FILE.i:90:[value] Function mpz_tdiv_r: precondition got status valid. +[value] Done for function mpz_tdiv_r [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:239. + Called from PROJECT_FILE.i:336. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:240. + Called from PROJECT_FILE.i:337. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:240. + Called from PROJECT_FILE.i:338. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:241. + Called from PROJECT_FILE.i:339. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:242. + Called from PROJECT_FILE.i:340. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -445,86 +447,86 @@ PROJECT_FILE.i:237:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:243. + Called from PROJECT_FILE.i:341. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:243. + Called from PROJECT_FILE.i:342. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:243. + Called from PROJECT_FILE.i:343. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:244. + Called from PROJECT_FILE.i:344. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:244. + Called from PROJECT_FILE.i:345. [value] Done for function mpz_clear -PROJECT_FILE.i:247:[value] Assertion got status valid. +PROJECT_FILE.i:349:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:251. + Called from PROJECT_FILE.i:365. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:252. + Called from PROJECT_FILE.i:366. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:252. + Called from PROJECT_FILE.i:367. [value] Done for function mpz_init [value] computing for function mpz_mul <- main. - Called from PROJECT_FILE.i:253. + Called from PROJECT_FILE.i:368. [value] Done for function mpz_mul [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:253. + Called from PROJECT_FILE.i:369. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:254. + Called from PROJECT_FILE.i:370. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:254. + Called from PROJECT_FILE.i:371. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:255. + Called from PROJECT_FILE.i:372. [value] Done for function mpz_add [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:255. + Called from PROJECT_FILE.i:373. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:256. + Called from PROJECT_FILE.i:374. [value] Done for function mpz_add [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:256. + Called from PROJECT_FILE.i:375. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:257. + Called from PROJECT_FILE.i:376. [value] Done for function mpz_init [value] computing for function mpz_sub <- main. - Called from PROJECT_FILE.i:257. + Called from PROJECT_FILE.i:377. [value] Done for function mpz_sub [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:258. + Called from PROJECT_FILE.i:378. [value] Done for function mpz_init [value] computing for function mpz_sub <- main. - Called from PROJECT_FILE.i:258. + Called from PROJECT_FILE.i:379. [value] Done for function mpz_sub [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:259. + Called from PROJECT_FILE.i:380. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:259. + Called from PROJECT_FILE.i:381. [value] Done for function mpz_add [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:260. + Called from PROJECT_FILE.i:382. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:260. + Called from PROJECT_FILE.i:383. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:261. + Called from PROJECT_FILE.i:384. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:262. + Called from PROJECT_FILE.i:385. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:263. + Called from PROJECT_FILE.i:386. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -534,63 +536,63 @@ PROJECT_FILE.i:247:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:264. + Called from PROJECT_FILE.i:388. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:264. + Called from PROJECT_FILE.i:389. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:264. + Called from PROJECT_FILE.i:390. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:265. + Called from PROJECT_FILE.i:391. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:265. + Called from PROJECT_FILE.i:392. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:265. + Called from PROJECT_FILE.i:393. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:266. + Called from PROJECT_FILE.i:394. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:266. + Called from PROJECT_FILE.i:395. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:266. + Called from PROJECT_FILE.i:396. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:267. + Called from PROJECT_FILE.i:397. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:267. + Called from PROJECT_FILE.i:398. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:267. + Called from PROJECT_FILE.i:399. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:268. + Called from PROJECT_FILE.i:400. [value] Done for function mpz_clear -PROJECT_FILE.i:271:[value] Assertion got status valid. -PROJECT_FILE.i:274:[value] Assertion got status valid. +PROJECT_FILE.i:404:[value] Assertion got status valid. +PROJECT_FILE.i:407:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:276. + Called from PROJECT_FILE.i:413. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:276. + Called from PROJECT_FILE.i:414. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:277. + Called from PROJECT_FILE.i:415. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:277. + Called from PROJECT_FILE.i:416. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:278. + Called from PROJECT_FILE.i:417. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:279. + Called from PROJECT_FILE.i:418. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -600,32 +602,32 @@ PROJECT_FILE.i:274:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:280. + Called from PROJECT_FILE.i:420. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:280. + Called from PROJECT_FILE.i:421. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:280. + Called from PROJECT_FILE.i:422. [value] Done for function mpz_clear -PROJECT_FILE.i:283:[value] Assertion got status valid. +PROJECT_FILE.i:426:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:285. + Called from PROJECT_FILE.i:432. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:285. + Called from PROJECT_FILE.i:433. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:286. + Called from PROJECT_FILE.i:434. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:286. + Called from PROJECT_FILE.i:435. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:287. + Called from PROJECT_FILE.i:436. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:289. + Called from PROJECT_FILE.i:438. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -635,16 +637,16 @@ PROJECT_FILE.i:283:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:290. + Called from PROJECT_FILE.i:440. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:290. + Called from PROJECT_FILE.i:441. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:290. + Called from PROJECT_FILE.i:442. [value] Done for function mpz_clear -PROJECT_FILE.i:293:[value] Assertion got status valid. -PROJECT_FILE.i:296:[value] Assertion got status valid. +PROJECT_FILE.i:446:[value] Assertion got status valid. +PROJECT_FILE.i:449:[value] Assertion got status valid. [value] Recording results for main [value] done for function main [value] ====== VALUES COMPUTED ====== @@ -715,7 +717,15 @@ extern void mpz_mul(__mpz_struct * /*[1]*/ z1, requires \valid(z3); assigns *z1; */ -extern void mpz_cdiv_q(__mpz_struct * /*[1]*/ z1, +extern void mpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void mpz_tdiv_r(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z); @@ -737,9 +747,6 @@ void e_acsl_fail(char *msg) /*@ behavior generated: assigns \at(\result,Post) \from \nothing; */ extern int ( /* missing proto */ mpz_com)(); -/*@ behavior generated: - assigns \at(\result,Post) \from \nothing; */ -extern int ( /* missing proto */ mpz_mod_ui)(); int main(void) { int __retres; @@ -748,7 +755,11 @@ int main(void) x = -3; y = 2; /*@ assert -3 ≡ x; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; mpz_t e_acsl_3; int e_acsl_4; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + mpz_t e_acsl_3; + int e_acsl_4; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)3); mpz_init((__mpz_struct *)(e_acsl_2)); mpz_neg((__mpz_struct *)(e_acsl_2),(__mpz_struct const *)(e_acsl_1)); @@ -762,7 +773,11 @@ int main(void) } /*@ assert x ≡ -3; */ ; - { mpz_t e_acsl_5; mpz_t e_acsl_6; mpz_t e_acsl_7; int e_acsl_8; + { + mpz_t e_acsl_5; + mpz_t e_acsl_6; + mpz_t e_acsl_7; + int e_acsl_8; mpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_6),(long)3); mpz_init((__mpz_struct *)(e_acsl_7)); @@ -776,9 +791,13 @@ int main(void) } /*@ assert 0 ≢ ~0; */ ; - { mpz_t e_acsl_9; mpz_t e_acsl_10; int e_acsl_11; + { + mpz_t e_acsl_9; + mpz_t e_acsl_10; + int e_acsl_11; mpz_init_set_si((__mpz_struct *)(e_acsl_9),(long)0); - mpz_init((__mpz_struct *)(e_acsl_10)); mpz_com(e_acsl_10,e_acsl_9); + mpz_init((__mpz_struct *)(e_acsl_10)); + mpz_com(e_acsl_10,e_acsl_9); e_acsl_11 = mpz_cmp((__mpz_struct const *)(e_acsl_9), (__mpz_struct const *)(e_acsl_10)); if (! (e_acsl_11 != 0)) { e_acsl_fail((char *)"(0 != ~0)"); } @@ -787,8 +806,13 @@ int main(void) } /*@ assert x+1 ≡ -2; */ ; - { mpz_t e_acsl_12; mpz_t e_acsl_13; mpz_t e_acsl_14; mpz_t e_acsl_15; - mpz_t e_acsl_16; int e_acsl_17; + { + mpz_t e_acsl_12; + mpz_t e_acsl_13; + mpz_t e_acsl_14; + mpz_t e_acsl_15; + mpz_t e_acsl_16; + int e_acsl_17; mpz_init_set_si((__mpz_struct *)(e_acsl_12),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_13),(long)1); mpz_init((__mpz_struct *)(e_acsl_14)); @@ -808,8 +832,13 @@ int main(void) } /*@ assert x-1 ≡ -4; */ ; - { mpz_t e_acsl_18; mpz_t e_acsl_19; mpz_t e_acsl_20; mpz_t e_acsl_21; - mpz_t e_acsl_22; int e_acsl_23; + { + mpz_t e_acsl_18; + mpz_t e_acsl_19; + mpz_t e_acsl_20; + mpz_t e_acsl_21; + mpz_t e_acsl_22; + int e_acsl_23; mpz_init_set_si((__mpz_struct *)(e_acsl_18),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_19),(long)1); mpz_init((__mpz_struct *)(e_acsl_20)); @@ -829,8 +858,13 @@ int main(void) } /*@ assert x*3 ≡ -9; */ ; - { mpz_t e_acsl_24; mpz_t e_acsl_25; mpz_t e_acsl_26; mpz_t e_acsl_27; - mpz_t e_acsl_28; int e_acsl_29; + { + mpz_t e_acsl_24; + mpz_t e_acsl_25; + mpz_t e_acsl_26; + mpz_t e_acsl_27; + mpz_t e_acsl_28; + int e_acsl_29; mpz_init_set_si((__mpz_struct *)(e_acsl_24),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_25),(long)3); mpz_init((__mpz_struct *)(e_acsl_26)); @@ -850,14 +884,21 @@ int main(void) } /*@ assert x/3 ≡ -1; */ ; - { mpz_t e_acsl_30; mpz_t e_acsl_31; int e_acsl_32; mpz_t e_acsl_33; - mpz_t e_acsl_34; mpz_t e_acsl_35; int e_acsl_36; + { + mpz_t e_acsl_30; + mpz_t e_acsl_31; + int e_acsl_32; + mpz_t e_acsl_33; + mpz_t e_acsl_34; + mpz_t e_acsl_35; + int e_acsl_36; mpz_init_set_si((__mpz_struct *)(e_acsl_30),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_31),(long)3); e_acsl_32 = (int)mpz_get_si((__mpz_struct const *)(e_acsl_31)); - mpz_init((__mpz_struct *)(e_acsl_33)); /*@ assert 3 ≢ 0; */ ; + mpz_init((__mpz_struct *)(e_acsl_33)); + /*@ assert 3 ≢ 0; */ ; if (e_acsl_32 == 0) { e_acsl_fail((char *)"(3 == 0)"); } - mpz_cdiv_q((__mpz_struct *)(e_acsl_33),(__mpz_struct const *)(e_acsl_30), + mpz_tdiv_q((__mpz_struct *)(e_acsl_33),(__mpz_struct const *)(e_acsl_30), (__mpz_struct const *)(e_acsl_31)); mpz_init_set_si((__mpz_struct *)(e_acsl_34),(long)1); mpz_init((__mpz_struct *)(e_acsl_35)); @@ -873,8 +914,13 @@ int main(void) } /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; - { mpz_t e_acsl_37; mpz_t e_acsl_38; int e_acsl_39; mpz_t e_acsl_40; - mpz_t e_acsl_41; int e_acsl_42; + { + mpz_t e_acsl_37; + mpz_t e_acsl_38; + int e_acsl_39; + mpz_t e_acsl_40; + mpz_t e_acsl_41; + int e_acsl_42; mpz_init_set_str((__mpz_struct *)(e_acsl_37),"17592186044415",10); mpz_init_set_si((__mpz_struct *)(e_acsl_38),(long)0); e_acsl_39 = mpz_cmp((__mpz_struct const *)(e_acsl_37), @@ -882,28 +928,37 @@ int main(void) mpz_init((__mpz_struct *)(e_acsl_40)); /*@ assert 0xfffffffffff ≢ 0; */ ; if (e_acsl_39 == 0) { e_acsl_fail((char *)"(0xfffffffffff == 0)"); } - mpz_cdiv_q((__mpz_struct *)(e_acsl_40),(__mpz_struct const *)(e_acsl_37), + mpz_tdiv_q((__mpz_struct *)(e_acsl_40),(__mpz_struct const *)(e_acsl_37), (__mpz_struct const *)(e_acsl_37)); mpz_init_set_si((__mpz_struct *)(e_acsl_41),(long)1); e_acsl_42 = mpz_cmp((__mpz_struct const *)(e_acsl_40), (__mpz_struct const *)(e_acsl_41)); if (! (e_acsl_42 == 0)) { e_acsl_fail((char *)"(0xfffffffffff/0xfffffffffff == 1)"); - } mpz_clear((__mpz_struct *)(e_acsl_37)); + } + mpz_clear((__mpz_struct *)(e_acsl_37)); mpz_clear((__mpz_struct *)(e_acsl_38)); mpz_clear((__mpz_struct *)(e_acsl_40)); mpz_clear((__mpz_struct *)(e_acsl_41)); } /*@ assert x%2 ≡ -1; */ ; - { mpz_t e_acsl_43; mpz_t e_acsl_44; int e_acsl_45; mpz_t e_acsl_46; - mpz_t e_acsl_47; mpz_t e_acsl_48; int e_acsl_49; + { + mpz_t e_acsl_43; + mpz_t e_acsl_44; + int e_acsl_45; + mpz_t e_acsl_46; + mpz_t e_acsl_47; + mpz_t e_acsl_48; + int e_acsl_49; mpz_init_set_si((__mpz_struct *)(e_acsl_43),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_44),(long)2); e_acsl_45 = (int)mpz_get_si((__mpz_struct const *)(e_acsl_44)); - mpz_init((__mpz_struct *)(e_acsl_46)); /*@ assert 2 ≢ 0; */ ; + mpz_init((__mpz_struct *)(e_acsl_46)); + /*@ assert 2 ≢ 0; */ ; if (e_acsl_45 == 0) { e_acsl_fail((char *)"(2 == 0)"); } - mpz_mod_ui(e_acsl_46,e_acsl_43,e_acsl_44); + mpz_tdiv_r((__mpz_struct *)(e_acsl_46),(__mpz_struct const *)(e_acsl_43), + (__mpz_struct const *)(e_acsl_44)); mpz_init_set_si((__mpz_struct *)(e_acsl_47),(long)1); mpz_init((__mpz_struct *)(e_acsl_48)); mpz_neg((__mpz_struct *)(e_acsl_48),(__mpz_struct const *)(e_acsl_47)); @@ -918,10 +973,21 @@ int main(void) } /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; - { mpz_t e_acsl_50; mpz_t e_acsl_51; mpz_t e_acsl_52; mpz_t e_acsl_53; - mpz_t e_acsl_54; mpz_t e_acsl_55; mpz_t e_acsl_56; mpz_t e_acsl_57; - mpz_t e_acsl_58; mpz_t e_acsl_59; mpz_t e_acsl_60; mpz_t e_acsl_61; - mpz_t e_acsl_62; int e_acsl_63; + { + mpz_t e_acsl_50; + mpz_t e_acsl_51; + mpz_t e_acsl_52; + mpz_t e_acsl_53; + mpz_t e_acsl_54; + mpz_t e_acsl_55; + mpz_t e_acsl_56; + mpz_t e_acsl_57; + mpz_t e_acsl_58; + mpz_t e_acsl_59; + mpz_t e_acsl_60; + mpz_t e_acsl_61; + mpz_t e_acsl_62; + int e_acsl_63; mpz_init_set_si((__mpz_struct *)(e_acsl_50),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_51),(long)2); mpz_init((__mpz_struct *)(e_acsl_52)); @@ -952,7 +1018,8 @@ int main(void) (__mpz_struct const *)(e_acsl_62)); if (! (e_acsl_63 == 0)) { e_acsl_fail((char *)"(((x*2+(3+y))-4)+(x-y) == -10)"); - } mpz_clear((__mpz_struct *)(e_acsl_50)); + } + mpz_clear((__mpz_struct *)(e_acsl_50)); mpz_clear((__mpz_struct *)(e_acsl_51)); mpz_clear((__mpz_struct *)(e_acsl_52)); mpz_clear((__mpz_struct *)(e_acsl_53)); @@ -972,7 +1039,11 @@ int main(void) e_acsl_fail((char *)"((0==1) == !(0==0))"); } /*@ assert (0≤-1) ≡ (0>0); */ ; - { mpz_t e_acsl_64; mpz_t e_acsl_65; mpz_t e_acsl_66; int e_acsl_67; + { + mpz_t e_acsl_64; + mpz_t e_acsl_65; + mpz_t e_acsl_66; + int e_acsl_67; mpz_init_set_si((__mpz_struct *)(e_acsl_64),(long)0); mpz_init_set_si((__mpz_struct *)(e_acsl_65),(long)1); mpz_init((__mpz_struct *)(e_acsl_66)); @@ -981,13 +1052,18 @@ int main(void) (__mpz_struct const *)(e_acsl_66)); if (! ((e_acsl_67 <= 0) == (0 > 0))) { e_acsl_fail((char *)"((0<=-1) == (0>0))"); - } mpz_clear((__mpz_struct *)(e_acsl_64)); + } + mpz_clear((__mpz_struct *)(e_acsl_64)); mpz_clear((__mpz_struct *)(e_acsl_65)); mpz_clear((__mpz_struct *)(e_acsl_66)); } /*@ assert (0≥-1) ≡ (0≤0); */ ; - { mpz_t e_acsl_68; mpz_t e_acsl_69; mpz_t e_acsl_70; int e_acsl_71; + { + mpz_t e_acsl_68; + mpz_t e_acsl_69; + mpz_t e_acsl_70; + int e_acsl_71; mpz_init_set_si((__mpz_struct *)(e_acsl_68),(long)0); mpz_init_set_si((__mpz_struct *)(e_acsl_69),(long)1); mpz_init((__mpz_struct *)(e_acsl_70)); @@ -996,7 +1072,8 @@ int main(void) (__mpz_struct const *)(e_acsl_70)); if (! ((e_acsl_71 >= 0) == (0 <= 0))) { e_acsl_fail((char *)"((0>=-1) == (0<=0))"); - } mpz_clear((__mpz_struct *)(e_acsl_68)); + } + mpz_clear((__mpz_struct *)(e_acsl_68)); mpz_clear((__mpz_struct *)(e_acsl_69)); mpz_clear((__mpz_struct *)(e_acsl_70)); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle index 7966f0e2238..71c56e656d7 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/array.res.oracle @@ -8,12 +8,12 @@ tests/e-acsl-runtime/array.i:14:[e-acsl] warning: missing guard for ensuring tha [value] Values of globals at initialization T1[0..2] ∈ {0} T2[0..3] ∈ {0} -PROJECT_FILE.i:136:[value] entering loop for the first time -PROJECT_FILE.i:136:[value] assigning non deterministic value for the first time -PROJECT_FILE.i:139:[value] entering loop for the first time -PROJECT_FILE.i:142:[value] Assertion got status unknown. +PROJECT_FILE.i:138:[value] entering loop for the first time +PROJECT_FILE.i:142:[value] assigning non deterministic value for the first time +PROJECT_FILE.i:147:[value] entering loop for the first time +PROJECT_FILE.i:154:[value] Assertion got status unknown. [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:143. + Called from PROJECT_FILE.i:155. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -23,9 +23,9 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Done for function exit [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail -PROJECT_FILE.i:145:[value] Assertion got status unknown. +PROJECT_FILE.i:157:[value] Assertion got status unknown. [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:146. + Called from PROJECT_FILE.i:158. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -64,10 +64,20 @@ int T2[4]; int main(void) { int __retres; - { int i; i = 0; while (1) { if (! (i < 3)) { break; } T1[i] = i; i ++; } } + { int i; + i = 0; + while (1) { + if (! (i < 3)) { break; } + T1[i] = i; + i ++; } } - { int i_0; i_0 = 0; - while (1) { if (! (i_0 < 4)) { break; } T2[i_0] = 2 * i_0; i_0 ++; } + { + int i_0; + i_0 = 0; + while (1) { + if (! (i_0 < 4)) { break; } + T2[i_0] = 2 * i_0; + i_0 ++; } } /*@ assert T1[0] ≡ T2[0]; */ ; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle index 46d637a5ee5..ade495e3beb 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/at.res.oracle @@ -3,50 +3,50 @@ [value] Initial state computed [value] Values of globals at initialization [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:142. + Called from PROJECT_FILE.i:145. PROJECT_FILE.i:33:[value] Function mpz_init_set_si: postcondition got status valid. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:142. + Called from PROJECT_FILE.i:146. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:143. + Called from PROJECT_FILE.i:147. PROJECT_FILE.i:21:[value] Function mpz_init: postcondition got status valid. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:143. + Called from PROJECT_FILE.i:148. PROJECT_FILE.i:64:[value] Function mpz_add: precondition got status valid. PROJECT_FILE.i:65:[value] Function mpz_add: precondition got status valid. PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Done for function mpz_add [value] computing for function mpz_init_set <- main. - Called from PROJECT_FILE.i:144. + Called from PROJECT_FILE.i:149. PROJECT_FILE.i:25:[value] Function mpz_init_set: postcondition got status valid. [value] Done for function mpz_init_set [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:144. + Called from PROJECT_FILE.i:150. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:145. + Called from PROJECT_FILE.i:151. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:145. + Called from PROJECT_FILE.i:152. [value] Done for function mpz_clear -PROJECT_FILE.i:149:[value] Assertion got status valid. +PROJECT_FILE.i:156:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:151. + Called from PROJECT_FILE.i:161. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:151. + Called from PROJECT_FILE.i:162. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:152. + Called from PROJECT_FILE.i:163. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:153. + Called from PROJECT_FILE.i:164. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -57,23 +57,23 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:153. + Called from PROJECT_FILE.i:165. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:154. + Called from PROJECT_FILE.i:166. [value] Done for function mpz_clear -PROJECT_FILE.i:159:[value] Assertion got status unknown. +PROJECT_FILE.i:172:[value] Assertion got status unknown. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:161. + Called from PROJECT_FILE.i:177. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:161. + Called from PROJECT_FILE.i:178. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:162. + Called from PROJECT_FILE.i:179. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:163. + Called from PROJECT_FILE.i:180. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -83,20 +83,20 @@ PROJECT_FILE.i:159:[value] Assertion got status unknown. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:164. + Called from PROJECT_FILE.i:181. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:164. + Called from PROJECT_FILE.i:182. [value] Done for function mpz_clear -PROJECT_FILE.i:167:[value] Assertion got status unknown. +PROJECT_FILE.i:186:[value] Assertion got status unknown. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:168. + Called from PROJECT_FILE.i:190. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:169. + Called from PROJECT_FILE.i:191. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:170. + Called from PROJECT_FILE.i:192. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -106,26 +106,26 @@ PROJECT_FILE.i:167:[value] Assertion got status unknown. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:171. + Called from PROJECT_FILE.i:193. [value] Done for function mpz_clear -PROJECT_FILE.i:174:[value] Assertion got status unknown. +PROJECT_FILE.i:197:[value] Assertion got status unknown. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:176. + Called from PROJECT_FILE.i:203. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:176. + Called from PROJECT_FILE.i:204. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:177. + Called from PROJECT_FILE.i:205. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:177. + Called from PROJECT_FILE.i:206. [value] Done for function mpz_add [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:178. + Called from PROJECT_FILE.i:207. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:179. + Called from PROJECT_FILE.i:208. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -135,16 +135,16 @@ PROJECT_FILE.i:174:[value] Assertion got status unknown. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:180. + Called from PROJECT_FILE.i:209. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:180. + Called from PROJECT_FILE.i:210. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:180. + Called from PROJECT_FILE.i:211. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:184. + Called from PROJECT_FILE.i:216. [value] Done for function mpz_clear [value] Recording results for main [value] done for function main @@ -214,7 +214,10 @@ int main(void) int e_acsl_14; x = 0; L: e_acsl_14 = x; - { mpz_t e_acsl_8; mpz_t e_acsl_9; mpz_t e_acsl_10; + { + mpz_t e_acsl_8; + mpz_t e_acsl_9; + mpz_t e_acsl_10; mpz_init_set_si((__mpz_struct *)(e_acsl_8),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_9),(long)1); mpz_init((__mpz_struct *)(e_acsl_10)); @@ -229,7 +232,10 @@ int main(void) e_acsl_4 = x; /*@ assert x ≡ 0; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)0); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -242,7 +248,10 @@ int main(void) x = 1; x = 2; /*@ assert \at(x,L) ≡ 0; */ ; - { mpz_t e_acsl_5; mpz_t e_acsl_6; int e_acsl_7; + { + mpz_t e_acsl_5; + mpz_t e_acsl_6; + int e_acsl_7; mpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)e_acsl_4); mpz_init_set_si((__mpz_struct *)(e_acsl_6),(long)0); e_acsl_7 = mpz_cmp((__mpz_struct const *)(e_acsl_5), @@ -253,7 +262,9 @@ int main(void) } /*@ assert \at(x+1,L) ≡ 1; */ ; - { mpz_t e_acsl_12; int e_acsl_13; + { + mpz_t e_acsl_12; + int e_acsl_13; mpz_init_set_si((__mpz_struct *)(e_acsl_12),(long)1); e_acsl_13 = mpz_cmp((__mpz_struct const *)(e_acsl_11), (__mpz_struct const *)(e_acsl_12)); @@ -262,7 +273,11 @@ int main(void) } /*@ assert \at(x,L)+1 ≡ 1; */ ; - { mpz_t e_acsl_15; mpz_t e_acsl_16; mpz_t e_acsl_17; int e_acsl_18; + { + mpz_t e_acsl_15; + mpz_t e_acsl_16; + mpz_t e_acsl_17; + int e_acsl_18; mpz_init_set_si((__mpz_struct *)(e_acsl_15),(long)e_acsl_14); mpz_init_set_si((__mpz_struct *)(e_acsl_16),(long)1); mpz_init((__mpz_struct *)(e_acsl_17)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.res.oracle index 37c29a46fae..aa0fd63006d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/cast.res.oracle @@ -6,15 +6,15 @@ tests/e-acsl-runtime/cast.i:18:[e-acsl] warning: missing guard for ensuring that [value] Values of globals at initialization PROJECT_FILE.i:138:[value] Assertion got status valid. [value] computing for function mpz_init_set_str <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:142. PROJECT_FILE.i:37:[value] Function mpz_init_set_str: postcondition got status valid. [value] Done for function mpz_init_set_str [value] computing for function mpz_get_si <- main. - Called from PROJECT_FILE.i:141. + Called from PROJECT_FILE.i:143. PROJECT_FILE.i:96:[value] Function mpz_get_si: precondition got status valid. [value] Done for function mpz_get_si [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:142. + Called from PROJECT_FILE.i:144. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -25,19 +25,19 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:143. + Called from PROJECT_FILE.i:145. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear -PROJECT_FILE.i:146:[value] Assertion got status valid. +PROJECT_FILE.i:149:[value] Assertion got status valid. [value] computing for function mpz_init_set_str <- main. - Called from PROJECT_FILE.i:148. + Called from PROJECT_FILE.i:153. [value] Done for function mpz_init_set_str [value] computing for function mpz_get_ui <- main. - Called from PROJECT_FILE.i:149. + Called from PROJECT_FILE.i:154. PROJECT_FILE.i:100:[value] Function mpz_get_ui: precondition got status valid. [value] Done for function mpz_get_ui [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:151. + Called from PROJECT_FILE.i:156. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -47,7 +47,7 @@ PROJECT_FILE.i:100:[value] Function mpz_get_ui: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:152. + Called from PROJECT_FILE.i:158. [value] Done for function mpz_clear [value] Recording results for main [value] done for function main @@ -100,21 +100,27 @@ int main(void) x = (long)0; y = 0; /*@ assert y ≢ (int)0xfffffffffffffff; */ ; - { mpz_t e_acsl_1; int e_acsl_2; + { + mpz_t e_acsl_1; + int e_acsl_2; mpz_init_set_str((__mpz_struct *)(e_acsl_1),"1152921504606846975",10); e_acsl_2 = (int)mpz_get_si((__mpz_struct const *)(e_acsl_1)); if (! (y != e_acsl_2)) { e_acsl_fail((char *)"(y != (int)0xfffffffffffffff)"); - } mpz_clear((__mpz_struct *)(e_acsl_1)); + } + mpz_clear((__mpz_struct *)(e_acsl_1)); } /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */ ; - { mpz_t e_acsl_3; unsigned int e_acsl_4; + { + mpz_t e_acsl_3; + unsigned int e_acsl_4; mpz_init_set_str((__mpz_struct *)(e_acsl_3),"1152921504606846975",10); e_acsl_4 = (unsigned int)mpz_get_ui((__mpz_struct const *)(e_acsl_3)); if (! ((unsigned int)y != e_acsl_4)) { e_acsl_fail((char *)"((unsigned int)y != (unsigned int)0xfffffffffffffff)"); - } mpz_clear((__mpz_struct *)(e_acsl_3)); + } + mpz_clear((__mpz_struct *)(e_acsl_3)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.res.oracle index 9870f828ee1..1bac2ca8dcc 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/comparison.res.oracle @@ -6,19 +6,19 @@ PROJECT_FILE.i:139:[value] Assertion got status valid. PROJECT_FILE.i:142:[value] Assertion got status valid. PROJECT_FILE.i:145:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:147. + Called from PROJECT_FILE.i:150. PROJECT_FILE.i:33:[value] Function mpz_init_set_si: postcondition got status valid. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:147. + Called from PROJECT_FILE.i:151. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:148. + Called from PROJECT_FILE.i:152. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:149. + Called from PROJECT_FILE.i:153. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -29,24 +29,24 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:149. + Called from PROJECT_FILE.i:154. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:150. + Called from PROJECT_FILE.i:155. [value] Done for function mpz_clear -PROJECT_FILE.i:153:[value] Assertion got status valid. +PROJECT_FILE.i:159:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:155. + Called from PROJECT_FILE.i:164. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:155. + Called from PROJECT_FILE.i:165. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:156. + Called from PROJECT_FILE.i:166. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:157. + Called from PROJECT_FILE.i:167. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -56,40 +56,40 @@ PROJECT_FILE.i:153:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:157. + Called from PROJECT_FILE.i:168. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:158. + Called from PROJECT_FILE.i:169. [value] Done for function mpz_clear -PROJECT_FILE.i:162:[value] Assertion got status valid. -PROJECT_FILE.i:165:[value] Assertion got status unknown. -PROJECT_FILE.i:168:[value] Assertion got status valid. -PROJECT_FILE.i:171:[value] Assertion got status valid. PROJECT_FILE.i:174:[value] Assertion got status valid. -PROJECT_FILE.i:177:[value] Assertion got status valid. +PROJECT_FILE.i:177:[value] Assertion got status unknown. PROJECT_FILE.i:180:[value] Assertion got status valid. PROJECT_FILE.i:183:[value] Assertion got status valid. PROJECT_FILE.i:186:[value] Assertion got status valid. +PROJECT_FILE.i:189:[value] Assertion got status valid. +PROJECT_FILE.i:192:[value] Assertion got status valid. +PROJECT_FILE.i:195:[value] Assertion got status valid. +PROJECT_FILE.i:198:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:188. + Called from PROJECT_FILE.i:204. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:188. + Called from PROJECT_FILE.i:205. PROJECT_FILE.i:21:[value] Function mpz_init: postcondition got status valid. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:189. + Called from PROJECT_FILE.i:206. PROJECT_FILE.i:59:[value] Function mpz_neg: precondition got status valid. PROJECT_FILE.i:60:[value] Function mpz_neg: precondition got status valid. [value] Done for function mpz_neg [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:189. + Called from PROJECT_FILE.i:207. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:190. + Called from PROJECT_FILE.i:208. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:191. + Called from PROJECT_FILE.i:209. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -99,32 +99,32 @@ PROJECT_FILE.i:60:[value] Function mpz_neg: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:191. + Called from PROJECT_FILE.i:210. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:192. + Called from PROJECT_FILE.i:211. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:192. + Called from PROJECT_FILE.i:212. [value] Done for function mpz_clear -PROJECT_FILE.i:195:[value] Assertion got status valid. +PROJECT_FILE.i:216:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:222. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:223. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:198. + Called from PROJECT_FILE.i:224. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:198. + Called from PROJECT_FILE.i:225. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:199. + Called from PROJECT_FILE.i:226. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:200. + Called from PROJECT_FILE.i:227. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -134,32 +134,32 @@ PROJECT_FILE.i:195:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:201. + Called from PROJECT_FILE.i:228. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:201. + Called from PROJECT_FILE.i:229. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:201. + Called from PROJECT_FILE.i:230. [value] Done for function mpz_clear -PROJECT_FILE.i:204:[value] Assertion got status valid. +PROJECT_FILE.i:234:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:206. + Called from PROJECT_FILE.i:240. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:206. + Called from PROJECT_FILE.i:241. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:207. + Called from PROJECT_FILE.i:242. [value] Done for function mpz_neg [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:207. + Called from PROJECT_FILE.i:243. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:208. + Called from PROJECT_FILE.i:244. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:209. + Called from PROJECT_FILE.i:245. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -169,32 +169,32 @@ PROJECT_FILE.i:204:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:210. + Called from PROJECT_FILE.i:246. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:210. + Called from PROJECT_FILE.i:247. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:210. + Called from PROJECT_FILE.i:248. [value] Done for function mpz_clear -PROJECT_FILE.i:213:[value] Assertion got status valid. +PROJECT_FILE.i:252:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:215. + Called from PROJECT_FILE.i:258. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:215. + Called from PROJECT_FILE.i:259. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:216. + Called from PROJECT_FILE.i:260. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:216. + Called from PROJECT_FILE.i:261. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:217. + Called from PROJECT_FILE.i:262. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:218. + Called from PROJECT_FILE.i:263. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -204,29 +204,29 @@ PROJECT_FILE.i:213:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:219. + Called from PROJECT_FILE.i:264. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:219. + Called from PROJECT_FILE.i:265. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:219. + Called from PROJECT_FILE.i:266. [value] Done for function mpz_clear -PROJECT_FILE.i:222:[value] Assertion got status valid. +PROJECT_FILE.i:270:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:224. + Called from PROJECT_FILE.i:275. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:224. + Called from PROJECT_FILE.i:276. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:225. + Called from PROJECT_FILE.i:277. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:226. + Called from PROJECT_FILE.i:278. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:227. + Called from PROJECT_FILE.i:279. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -236,29 +236,29 @@ PROJECT_FILE.i:222:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:228. + Called from PROJECT_FILE.i:280. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:228. + Called from PROJECT_FILE.i:281. [value] Done for function mpz_clear -PROJECT_FILE.i:231:[value] Assertion got status valid. +PROJECT_FILE.i:285:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:233. + Called from PROJECT_FILE.i:291. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:233. + Called from PROJECT_FILE.i:292. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:234. + Called from PROJECT_FILE.i:293. [value] Done for function mpz_init [value] computing for function mpz_neg <- main. - Called from PROJECT_FILE.i:234. + Called from PROJECT_FILE.i:294. [value] Done for function mpz_neg [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:235. + Called from PROJECT_FILE.i:295. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:236. + Called from PROJECT_FILE.i:296. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -268,13 +268,13 @@ PROJECT_FILE.i:231:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:237. + Called from PROJECT_FILE.i:297. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:237. + Called from PROJECT_FILE.i:298. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:237. + Called from PROJECT_FILE.i:299. [value] Done for function mpz_clear [value] Recording results for main [value] done for function main @@ -340,7 +340,10 @@ int main(void) /*@ assert y > x; */ ; if (! (y > x)) { e_acsl_fail((char *)"(y > x)"); } /*@ assert x ≤ 0; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)0); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -351,7 +354,10 @@ int main(void) } /*@ assert y ≥ 1; */ ; - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; mpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)y); mpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)1); e_acsl_6 = mpz_cmp((__mpz_struct const *)(e_acsl_4), @@ -380,7 +386,11 @@ int main(void) /*@ assert 1 ≢ 2; */ ; if (! (1 != 2)) { e_acsl_fail((char *)"(1 != 2)"); } /*@ assert -5 < 18; */ ; - { mpz_t e_acsl_7; mpz_t e_acsl_8; mpz_t e_acsl_9; int e_acsl_10; + { + mpz_t e_acsl_7; + mpz_t e_acsl_8; + mpz_t e_acsl_9; + int e_acsl_10; mpz_init_set_si((__mpz_struct *)(e_acsl_7),(long)5); mpz_init((__mpz_struct *)(e_acsl_8)); mpz_neg((__mpz_struct *)(e_acsl_8),(__mpz_struct const *)(e_acsl_7)); @@ -394,7 +404,11 @@ int main(void) } /*@ assert 32 > -3; */ ; - { mpz_t e_acsl_11; mpz_t e_acsl_12; mpz_t e_acsl_13; int e_acsl_14; + { + mpz_t e_acsl_11; + mpz_t e_acsl_12; + mpz_t e_acsl_13; + int e_acsl_14; mpz_init_set_si((__mpz_struct *)(e_acsl_11),(long)32); mpz_init_set_si((__mpz_struct *)(e_acsl_12),(long)3); mpz_init((__mpz_struct *)(e_acsl_13)); @@ -408,7 +422,11 @@ int main(void) } /*@ assert -12 ≤ 13; */ ; - { mpz_t e_acsl_15; mpz_t e_acsl_16; mpz_t e_acsl_17; int e_acsl_18; + { + mpz_t e_acsl_15; + mpz_t e_acsl_16; + mpz_t e_acsl_17; + int e_acsl_18; mpz_init_set_si((__mpz_struct *)(e_acsl_15),(long)12); mpz_init((__mpz_struct *)(e_acsl_16)); mpz_neg((__mpz_struct *)(e_acsl_16),(__mpz_struct const *)(e_acsl_15)); @@ -422,7 +440,11 @@ int main(void) } /*@ assert 123 ≥ -12; */ ; - { mpz_t e_acsl_19; mpz_t e_acsl_20; mpz_t e_acsl_21; int e_acsl_22; + { + mpz_t e_acsl_19; + mpz_t e_acsl_20; + mpz_t e_acsl_21; + int e_acsl_22; mpz_init_set_si((__mpz_struct *)(e_acsl_19),(long)123); mpz_init_set_si((__mpz_struct *)(e_acsl_20),(long)12); mpz_init((__mpz_struct *)(e_acsl_21)); @@ -436,7 +458,10 @@ int main(void) } /*@ assert -0xff ≡ -0xff; */ ; - { mpz_t e_acsl_23; mpz_t e_acsl_24; int e_acsl_25; + { + mpz_t e_acsl_23; + mpz_t e_acsl_24; + int e_acsl_25; mpz_init_set_si((__mpz_struct *)(e_acsl_23),(long)0xff); mpz_init((__mpz_struct *)(e_acsl_24)); mpz_neg((__mpz_struct *)(e_acsl_24),(__mpz_struct const *)(e_acsl_23)); @@ -448,7 +473,11 @@ int main(void) } /*@ assert 1 ≢ -2; */ ; - { mpz_t e_acsl_26; mpz_t e_acsl_27; mpz_t e_acsl_28; int e_acsl_29; + { + mpz_t e_acsl_26; + mpz_t e_acsl_27; + mpz_t e_acsl_28; + int e_acsl_29; mpz_init_set_si((__mpz_struct *)(e_acsl_26),(long)1); mpz_init_set_si((__mpz_struct *)(e_acsl_27),(long)2); mpz_init((__mpz_struct *)(e_acsl_28)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle index 24253371af6..beab2cdef0d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/false.res.oracle @@ -27,7 +27,9 @@ int main(void) int __retres; int x; x = 0; - if (x) { /*@ assert \false; */ ; e_acsl_fail((char *)"(\\false)"); } + if (x) { + /*@ assert \false; */ ; + e_acsl_fail((char *)"(\\false)"); } __retres = 0; return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle index 0b7f470c704..da4b9214c0a 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/function_contract.res.oracle @@ -5,21 +5,21 @@ X ∈ {0} Y ∈ {2} [value] computing for function f <- main. - Called from PROJECT_FILE.i:347. + Called from PROJECT_FILE.i:445. [value] computing for function mpz_init_set_si <- f <- main. - Called from PROJECT_FILE.i:138. + Called from PROJECT_FILE.i:141. PROJECT_FILE.i:33:[value] Function mpz_init_set_si: postcondition got status valid. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- f <- main. - Called from PROJECT_FILE.i:138. + Called from PROJECT_FILE.i:142. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- f <- main. - Called from PROJECT_FILE.i:139. + Called from PROJECT_FILE.i:143. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- f <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:144. [value] computing for function printf <- e_acsl_fail <- f <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -30,28 +30,28 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- f <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:145. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear [value] computing for function mpz_clear <- f <- main. - Called from PROJECT_FILE.i:141. + Called from PROJECT_FILE.i:146. [value] Done for function mpz_clear PROJECT_FILE.i:133:[value] Function f: postcondition got status valid. [value] Recording results for f [value] Done for function f [value] computing for function g <- main. - Called from PROJECT_FILE.i:348. + Called from PROJECT_FILE.i:446. [value] computing for function mpz_init_set_si <- g <- main. - Called from PROJECT_FILE.i:152. + Called from PROJECT_FILE.i:163. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- g <- main. - Called from PROJECT_FILE.i:152. + Called from PROJECT_FILE.i:164. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- g <- main. - Called from PROJECT_FILE.i:153. + Called from PROJECT_FILE.i:165. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- g <- main. - Called from PROJECT_FILE.i:154. + Called from PROJECT_FILE.i:166. [value] computing for function printf <- e_acsl_fail <- g <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -61,13 +61,13 @@ PROJECT_FILE.i:133:[value] Function f: postcondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- g <- main. - Called from PROJECT_FILE.i:155. + Called from PROJECT_FILE.i:167. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- g <- main. - Called from PROJECT_FILE.i:155. + Called from PROJECT_FILE.i:168. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- g <- main. - Called from PROJECT_FILE.i:156. + Called from PROJECT_FILE.i:169. [value] computing for function printf <- e_acsl_fail <- g <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -77,32 +77,32 @@ PROJECT_FILE.i:133:[value] Function f: postcondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- g <- main. - Called from PROJECT_FILE.i:156. + Called from PROJECT_FILE.i:170. [value] Done for function mpz_clear [value] computing for function mpz_clear <- g <- main. - Called from PROJECT_FILE.i:157. + Called from PROJECT_FILE.i:171. [value] Done for function mpz_clear [value] computing for function mpz_clear <- g <- main. - Called from PROJECT_FILE.i:157. + Called from PROJECT_FILE.i:172. [value] Done for function mpz_clear -PROJECT_FILE.i:146:[value] Function g: postcondition got status valid. -PROJECT_FILE.i:147:[value] Function g: postcondition got status valid. +PROJECT_FILE.i:152:[value] Function g: postcondition got status valid. +PROJECT_FILE.i:153:[value] Function g: postcondition got status valid. [value] Recording results for g [value] Done for function g [value] computing for function h <- main. - Called from PROJECT_FILE.i:349. -PROJECT_FILE.i:162:[value] Function h: precondition got status valid. + Called from PROJECT_FILE.i:447. +PROJECT_FILE.i:178:[value] Function h: precondition got status valid. [value] computing for function mpz_init_set_si <- h <- main. - Called from PROJECT_FILE.i:166. + Called from PROJECT_FILE.i:185. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- h <- main. - Called from PROJECT_FILE.i:166. + Called from PROJECT_FILE.i:186. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- h <- main. - Called from PROJECT_FILE.i:167. + Called from PROJECT_FILE.i:187. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- h <- main. - Called from PROJECT_FILE.i:168. + Called from PROJECT_FILE.i:188. [value] computing for function printf <- e_acsl_fail <- h <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -112,28 +112,28 @@ PROJECT_FILE.i:162:[value] Function h: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- h <- main. - Called from PROJECT_FILE.i:168. + Called from PROJECT_FILE.i:189. [value] Done for function mpz_clear [value] computing for function mpz_clear <- h <- main. - Called from PROJECT_FILE.i:169. + Called from PROJECT_FILE.i:190. [value] Done for function mpz_clear [value] Recording results for h [value] Done for function h [value] computing for function i <- main. - Called from PROJECT_FILE.i:350. -PROJECT_FILE.i:175:[value] Function i: precondition got status valid. -PROJECT_FILE.i:176:[value] Function i: precondition got status valid. + Called from PROJECT_FILE.i:448. +PROJECT_FILE.i:197:[value] Function i: precondition got status valid. +PROJECT_FILE.i:198:[value] Function i: precondition got status valid. [value] computing for function mpz_init_set_si <- i <- main. - Called from PROJECT_FILE.i:180. + Called from PROJECT_FILE.i:208. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- i <- main. - Called from PROJECT_FILE.i:181. + Called from PROJECT_FILE.i:209. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- i <- main. - Called from PROJECT_FILE.i:181. + Called from PROJECT_FILE.i:210. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- i <- main. - Called from PROJECT_FILE.i:182. + Called from PROJECT_FILE.i:211. [value] computing for function printf <- e_acsl_fail <- i <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -143,16 +143,16 @@ PROJECT_FILE.i:176:[value] Function i: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- i <- main. - Called from PROJECT_FILE.i:183. + Called from PROJECT_FILE.i:212. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- i <- main. - Called from PROJECT_FILE.i:183. + Called from PROJECT_FILE.i:213. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- i <- main. - Called from PROJECT_FILE.i:184. + Called from PROJECT_FILE.i:214. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- i <- main. - Called from PROJECT_FILE.i:185. + Called from PROJECT_FILE.i:215. [value] computing for function printf <- e_acsl_fail <- i <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -162,35 +162,35 @@ PROJECT_FILE.i:176:[value] Function i: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- i <- main. - Called from PROJECT_FILE.i:185. + Called from PROJECT_FILE.i:216. [value] Done for function mpz_clear [value] computing for function mpz_clear <- i <- main. - Called from PROJECT_FILE.i:186. + Called from PROJECT_FILE.i:217. [value] Done for function mpz_clear [value] computing for function mpz_clear <- i <- main. - Called from PROJECT_FILE.i:186. + Called from PROJECT_FILE.i:218. [value] Done for function mpz_clear [value] computing for function mpz_clear <- i <- main. - Called from PROJECT_FILE.i:186. + Called from PROJECT_FILE.i:219. [value] Done for function mpz_clear [value] Recording results for i [value] Done for function i [value] computing for function j <- main. - Called from PROJECT_FILE.i:351. -PROJECT_FILE.i:193:[value] Function j, behavior b1: precondition got status valid. -PROJECT_FILE.i:197:[value] Function j, behavior b2: precondition got status valid. -PROJECT_FILE.i:198:[value] Function j, behavior b2: precondition got status valid. + Called from PROJECT_FILE.i:449. +PROJECT_FILE.i:227:[value] Function j, behavior b1: precondition got status valid. +PROJECT_FILE.i:231:[value] Function j, behavior b2: precondition got status valid. +PROJECT_FILE.i:232:[value] Function j, behavior b2: precondition got status valid. [value] computing for function mpz_init_set_si <- j <- main. - Called from PROJECT_FILE.i:207. + Called from PROJECT_FILE.i:249. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- j <- main. - Called from PROJECT_FILE.i:207. + Called from PROJECT_FILE.i:250. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- j <- main. - Called from PROJECT_FILE.i:208. + Called from PROJECT_FILE.i:251. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- j <- main. - Called from PROJECT_FILE.i:209. + Called from PROJECT_FILE.i:252. [value] computing for function printf <- e_acsl_fail <- j <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -200,26 +200,26 @@ PROJECT_FILE.i:198:[value] Function j, behavior b2: precondition got status vali [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- j <- main. - Called from PROJECT_FILE.i:210. + Called from PROJECT_FILE.i:253. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- j <- main. - Called from PROJECT_FILE.i:210. + Called from PROJECT_FILE.i:254. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- j <- main. - Called from PROJECT_FILE.i:211. + Called from PROJECT_FILE.i:255. PROJECT_FILE.i:21:[value] Function mpz_init: postcondition got status valid. [value] Done for function mpz_init [value] computing for function mpz_add <- j <- main. - Called from PROJECT_FILE.i:211. + Called from PROJECT_FILE.i:256. PROJECT_FILE.i:64:[value] Function mpz_add: precondition got status valid. PROJECT_FILE.i:65:[value] Function mpz_add: precondition got status valid. PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Done for function mpz_add [value] computing for function mpz_cmp <- j <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:257. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- j <- main. - Called from PROJECT_FILE.i:213. + Called from PROJECT_FILE.i:258. [value] computing for function printf <- e_acsl_fail <- j <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -229,13 +229,13 @@ PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- j <- main. - Called from PROJECT_FILE.i:214. + Called from PROJECT_FILE.i:259. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- j <- main. - Called from PROJECT_FILE.i:214. + Called from PROJECT_FILE.i:260. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- j <- main. - Called from PROJECT_FILE.i:215. + Called from PROJECT_FILE.i:261. [value] computing for function printf <- e_acsl_fail <- j <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -245,34 +245,34 @@ PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:215. + Called from PROJECT_FILE.i:262. [value] Done for function mpz_clear [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:216. + Called from PROJECT_FILE.i:263. [value] Done for function mpz_clear [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:216. + Called from PROJECT_FILE.i:264. [value] Done for function mpz_clear [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:216. + Called from PROJECT_FILE.i:265. [value] Done for function mpz_clear [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:217. + Called from PROJECT_FILE.i:266. [value] Done for function mpz_clear [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:217. + Called from PROJECT_FILE.i:267. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- j <- main. - Called from PROJECT_FILE.i:222. + Called from PROJECT_FILE.i:279. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- j <- main. - Called from PROJECT_FILE.i:222. + Called from PROJECT_FILE.i:280. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- j <- main. - Called from PROJECT_FILE.i:223. + Called from PROJECT_FILE.i:281. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- j <- main. - Called from PROJECT_FILE.i:224. + Called from PROJECT_FILE.i:282. [value] computing for function printf <- e_acsl_fail <- j <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -282,22 +282,22 @@ PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- j <- main. - Called from PROJECT_FILE.i:225. + Called from PROJECT_FILE.i:283. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- j <- main. - Called from PROJECT_FILE.i:225. + Called from PROJECT_FILE.i:284. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- j <- main. - Called from PROJECT_FILE.i:226. + Called from PROJECT_FILE.i:285. [value] Done for function mpz_init [value] computing for function mpz_add <- j <- main. - Called from PROJECT_FILE.i:226. + Called from PROJECT_FILE.i:286. [value] Done for function mpz_add [value] computing for function mpz_cmp <- j <- main. - Called from PROJECT_FILE.i:227. + Called from PROJECT_FILE.i:287. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- j <- main. - Called from PROJECT_FILE.i:228. + Called from PROJECT_FILE.i:288. [value] computing for function printf <- e_acsl_fail <- j <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -307,56 +307,56 @@ PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:229. + Called from PROJECT_FILE.i:289. [value] Done for function mpz_clear [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:229. + Called from PROJECT_FILE.i:290. [value] Done for function mpz_clear [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:229. + Called from PROJECT_FILE.i:291. [value] Done for function mpz_clear [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:230. + Called from PROJECT_FILE.i:292. [value] Done for function mpz_clear [value] computing for function mpz_clear <- j <- main. - Called from PROJECT_FILE.i:230. + Called from PROJECT_FILE.i:293. [value] Done for function mpz_clear -PROJECT_FILE.i:194:[value] Function j, behavior b1: postcondition got status valid. -PROJECT_FILE.i:199:[value] Function j, behavior b2: postcondition got status valid. +PROJECT_FILE.i:228:[value] Function j, behavior b1: postcondition got status valid. +PROJECT_FILE.i:233:[value] Function j, behavior b2: postcondition got status valid. [value] Recording results for j [value] Done for function j [value] computing for function k <- main. - Called from PROJECT_FILE.i:352. -PROJECT_FILE.i:237:[value] Function k, behavior b1: assumption got status invalid; precondition not evaluated. -PROJECT_FILE.i:242:[value] Function k, behavior b2: precondition got status valid. -PROJECT_FILE.i:243:[value] Function k, behavior b2: precondition got status valid. + Called from PROJECT_FILE.i:450. +PROJECT_FILE.i:301:[value] Function k, behavior b1: assumption got status invalid; precondition not evaluated. +PROJECT_FILE.i:306:[value] Function k, behavior b2: precondition got status valid. +PROJECT_FILE.i:307:[value] Function k, behavior b2: precondition got status valid. [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:251. + Called from PROJECT_FILE.i:325. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:252. + Called from PROJECT_FILE.i:326. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- k <- main. - Called from PROJECT_FILE.i:252. + Called from PROJECT_FILE.i:327. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:258. + Called from PROJECT_FILE.i:333. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:259. + Called from PROJECT_FILE.i:334. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- k <- main. - Called from PROJECT_FILE.i:260. + Called from PROJECT_FILE.i:335. [value] Done for function mpz_cmp -PROJECT_FILE.i:261:[value] assigning non deterministic value for the first time +PROJECT_FILE.i:336:[value] assigning non deterministic value for the first time [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:262. + Called from PROJECT_FILE.i:337. [value] Done for function mpz_clear [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:263. + Called from PROJECT_FILE.i:338. [value] Done for function mpz_clear [value] computing for function e_acsl_fail <- k <- main. - Called from PROJECT_FILE.i:264. + Called from PROJECT_FILE.i:340. [value] computing for function printf <- e_acsl_fail <- k <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -366,43 +366,43 @@ PROJECT_FILE.i:261:[value] assigning non deterministic value for the first time [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:265. + Called from PROJECT_FILE.i:341. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- k <- main. - Called from PROJECT_FILE.i:265. + Called from PROJECT_FILE.i:342. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:270. + Called from PROJECT_FILE.i:347. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:271. + Called from PROJECT_FILE.i:348. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- k <- main. - Called from PROJECT_FILE.i:272. + Called from PROJECT_FILE.i:349. [value] Done for function mpz_cmp [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:274. + Called from PROJECT_FILE.i:351. [value] Done for function mpz_clear [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:275. + Called from PROJECT_FILE.i:352. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:281. + Called from PROJECT_FILE.i:360. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:282. + Called from PROJECT_FILE.i:361. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- k <- main. - Called from PROJECT_FILE.i:283. + Called from PROJECT_FILE.i:362. [value] Done for function mpz_cmp [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:285. + Called from PROJECT_FILE.i:364. [value] Done for function mpz_clear [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:286. + Called from PROJECT_FILE.i:365. [value] Done for function mpz_clear [value] computing for function e_acsl_fail <- k <- main. - Called from PROJECT_FILE.i:287. + Called from PROJECT_FILE.i:367. [value] computing for function printf <- e_acsl_fail <- k <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -412,55 +412,55 @@ PROJECT_FILE.i:261:[value] assigning non deterministic value for the first time [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_cmp <- k <- main. - Called from PROJECT_FILE.i:288. + Called from PROJECT_FILE.i:368. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:293. + Called from PROJECT_FILE.i:373. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:294. + Called from PROJECT_FILE.i:374. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- k <- main. - Called from PROJECT_FILE.i:295. + Called from PROJECT_FILE.i:375. [value] Done for function mpz_cmp [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:297. + Called from PROJECT_FILE.i:377. [value] Done for function mpz_clear [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:298. + Called from PROJECT_FILE.i:378. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:306. + Called from PROJECT_FILE.i:388. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:307. + Called from PROJECT_FILE.i:389. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- k <- main. - Called from PROJECT_FILE.i:308. + Called from PROJECT_FILE.i:390. [value] Done for function mpz_init [value] computing for function mpz_add <- k <- main. - Called from PROJECT_FILE.i:309. + Called from PROJECT_FILE.i:391. [value] Done for function mpz_add [value] computing for function mpz_init_set_si <- k <- main. - Called from PROJECT_FILE.i:310. + Called from PROJECT_FILE.i:392. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- k <- main. - Called from PROJECT_FILE.i:311. + Called from PROJECT_FILE.i:393. [value] Done for function mpz_cmp [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:313. + Called from PROJECT_FILE.i:395. [value] Done for function mpz_clear [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:314. + Called from PROJECT_FILE.i:396. [value] Done for function mpz_clear [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:315. + Called from PROJECT_FILE.i:397. [value] Done for function mpz_clear [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:316. + Called from PROJECT_FILE.i:398. [value] Done for function mpz_clear [value] computing for function e_acsl_fail <- k <- main. - Called from PROJECT_FILE.i:317. + Called from PROJECT_FILE.i:400. [value] computing for function printf <- e_acsl_fail <- k <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -470,30 +470,30 @@ PROJECT_FILE.i:261:[value] assigning non deterministic value for the first time [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:318. + Called from PROJECT_FILE.i:401. [value] Done for function mpz_clear [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:318. + Called from PROJECT_FILE.i:402. [value] Done for function mpz_clear [value] computing for function mpz_clear <- k <- main. - Called from PROJECT_FILE.i:318. + Called from PROJECT_FILE.i:403. [value] Done for function mpz_clear [value] Recording results for k [value] Done for function k [value] computing for function l <- main. - Called from PROJECT_FILE.i:353. -PROJECT_FILE.i:327:[value] Assertion got status valid. + Called from PROJECT_FILE.i:451. +PROJECT_FILE.i:413:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- l <- main. - Called from PROJECT_FILE.i:329. + Called from PROJECT_FILE.i:418. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- l <- main. - Called from PROJECT_FILE.i:329. + Called from PROJECT_FILE.i:419. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- l <- main. - Called from PROJECT_FILE.i:330. + Called from PROJECT_FILE.i:420. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- l <- main. - Called from PROJECT_FILE.i:331. + Called from PROJECT_FILE.i:421. [value] computing for function printf <- e_acsl_fail <- l <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -503,22 +503,22 @@ PROJECT_FILE.i:327:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- l <- main. - Called from PROJECT_FILE.i:331. + Called from PROJECT_FILE.i:422. [value] Done for function mpz_clear [value] computing for function mpz_clear <- l <- main. - Called from PROJECT_FILE.i:332. + Called from PROJECT_FILE.i:423. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- l <- main. - Called from PROJECT_FILE.i:336. + Called from PROJECT_FILE.i:431. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- l <- main. - Called from PROJECT_FILE.i:336. + Called from PROJECT_FILE.i:432. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- l <- main. - Called from PROJECT_FILE.i:337. + Called from PROJECT_FILE.i:433. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- l <- main. - Called from PROJECT_FILE.i:338. + Called from PROJECT_FILE.i:434. [value] computing for function printf <- e_acsl_fail <- l <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -528,12 +528,12 @@ PROJECT_FILE.i:327:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- l <- main. - Called from PROJECT_FILE.i:338. + Called from PROJECT_FILE.i:435. [value] Done for function mpz_clear [value] computing for function mpz_clear <- l <- main. - Called from PROJECT_FILE.i:339. + Called from PROJECT_FILE.i:436. [value] Done for function mpz_clear -PROJECT_FILE.i:324:[value] Function l: postcondition got status valid. +PROJECT_FILE.i:410:[value] Function l: postcondition got status valid. [value] Recording results for l [value] Done for function l [value] Recording results for main @@ -607,14 +607,18 @@ int Y = 2; void f(void) { X = 1; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)1); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_2)); if (! (e_acsl_3 == 0)) { e_acsl_fail((char *)"(X == 1)"); } mpz_clear((__mpz_struct *)(e_acsl_1)); - mpz_clear((__mpz_struct *)(e_acsl_2)); return; + mpz_clear((__mpz_struct *)(e_acsl_2)); + return; } } @@ -624,8 +628,13 @@ void f(void) void g(void) { X = 2; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; mpz_t e_acsl_4; - int e_acsl_5; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + mpz_t e_acsl_4; + int e_acsl_5; + mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)2); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_2)); @@ -636,7 +645,8 @@ void g(void) if (! (e_acsl_5 == 0)) { e_acsl_fail((char *)"(Y == 2)"); } mpz_clear((__mpz_struct *)(e_acsl_1)); mpz_clear((__mpz_struct *)(e_acsl_2)); - mpz_clear((__mpz_struct *)(e_acsl_4)); return; + mpz_clear((__mpz_struct *)(e_acsl_4)); + return; } } @@ -644,14 +654,18 @@ void g(void) /*@ requires X ≡ 2; */ void h(void) { - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)2); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_2)); if (! (e_acsl_3 == 0)) { e_acsl_fail((char *)"(X == 2)"); } mpz_clear((__mpz_struct *)(e_acsl_1)); - mpz_clear((__mpz_struct *)(e_acsl_2)); X ++; + mpz_clear((__mpz_struct *)(e_acsl_2)); + X ++; } return; @@ -661,8 +675,13 @@ void h(void) requires Y ≡ 2; */ void i(void) { - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; mpz_t e_acsl_4; - mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)3); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -676,7 +695,8 @@ void i(void) mpz_clear((__mpz_struct *)(e_acsl_1)); mpz_clear((__mpz_struct *)(e_acsl_2)); mpz_clear((__mpz_struct *)(e_acsl_4)); - mpz_clear((__mpz_struct *)(e_acsl_5)); X += Y; + mpz_clear((__mpz_struct *)(e_acsl_5)); + X += Y; } return; @@ -695,9 +715,17 @@ void i(void) */ void j(void) { - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; mpz_t e_acsl_4; - mpz_t e_acsl_5; mpz_t e_acsl_6; int e_acsl_7; mpz_t e_acsl_8; - int e_acsl_9; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + mpz_t e_acsl_4; + mpz_t e_acsl_5; + mpz_t e_acsl_6; + int e_acsl_7; + mpz_t e_acsl_8; + int e_acsl_9; + mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)5); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_2)); @@ -719,11 +747,18 @@ void j(void) mpz_clear((__mpz_struct *)(e_acsl_4)); mpz_clear((__mpz_struct *)(e_acsl_5)); mpz_clear((__mpz_struct *)(e_acsl_6)); - mpz_clear((__mpz_struct *)(e_acsl_8)); X = 3; + mpz_clear((__mpz_struct *)(e_acsl_8)); + X = 3; } - { mpz_t e_acsl_10; mpz_t e_acsl_11; int e_acsl_12; mpz_t e_acsl_13; - mpz_t e_acsl_14; mpz_t e_acsl_15; int e_acsl_16; + { + mpz_t e_acsl_10; + mpz_t e_acsl_11; + int e_acsl_12; + mpz_t e_acsl_13; + mpz_t e_acsl_14; + mpz_t e_acsl_15; + int e_acsl_16; mpz_init_set_si((__mpz_struct *)(e_acsl_10),(long)X); mpz_init_set_si((__mpz_struct *)(e_acsl_11),(long)3); e_acsl_12 = mpz_cmp((__mpz_struct const *)(e_acsl_10), @@ -741,7 +776,8 @@ void j(void) mpz_clear((__mpz_struct *)(e_acsl_11)); mpz_clear((__mpz_struct *)(e_acsl_13)); mpz_clear((__mpz_struct *)(e_acsl_14)); - mpz_clear((__mpz_struct *)(e_acsl_15)); return; + mpz_clear((__mpz_struct *)(e_acsl_15)); + return; } } @@ -760,9 +796,18 @@ void j(void) */ void k(void) { - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; int e_acsl_7; - mpz_t e_acsl_8; int e_acsl_9; int e_acsl_13; int e_acsl_17; - int e_acsl_18; int e_acsl_22; int e_acsl_28; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + int e_acsl_7; + mpz_t e_acsl_8; + int e_acsl_9; + int e_acsl_13; + int e_acsl_17; + int e_acsl_18; + int e_acsl_22; + int e_acsl_28; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)1); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -779,7 +824,8 @@ void k(void) e_acsl_7 = e_acsl_6 == 0; mpz_clear((__mpz_struct *)(e_acsl_4)); mpz_clear((__mpz_struct *)(e_acsl_5)); - } if (! e_acsl_7) { e_acsl_fail((char *)"(X == 1 ==> X == 0)"); } + } + if (! e_acsl_7) { e_acsl_fail((char *)"(X == 1 ==> X == 0)"); } mpz_init_set_si((__mpz_struct *)(e_acsl_8),(long)3); e_acsl_9 = mpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_8)); @@ -794,7 +840,9 @@ void k(void) e_acsl_13 = e_acsl_12 == 0; mpz_clear((__mpz_struct *)(e_acsl_10)); mpz_clear((__mpz_struct *)(e_acsl_11)); - } else { e_acsl_13 = 0; } if (! e_acsl_13) { e_acsl_17 = 1; } + } + else { e_acsl_13 = 0; } + if (! e_acsl_13) { e_acsl_17 = 1; } else { mpz_t e_acsl_14; mpz_t e_acsl_15; @@ -822,7 +870,9 @@ void k(void) e_acsl_22 = e_acsl_21 == 0; mpz_clear((__mpz_struct *)(e_acsl_19)); mpz_clear((__mpz_struct *)(e_acsl_20)); - } else { e_acsl_22 = 0; } if (! e_acsl_22) { e_acsl_28 = 1; } + } + else { e_acsl_22 = 0; } + if (! e_acsl_22) { e_acsl_28 = 1; } else { mpz_t e_acsl_23; mpz_t e_acsl_24; @@ -845,9 +895,11 @@ void k(void) } if (! e_acsl_28) { e_acsl_fail((char *)"(X == 3 && Y == 2 ==> X+Y == 5)"); - } mpz_clear((__mpz_struct *)(e_acsl_1)); + } + mpz_clear((__mpz_struct *)(e_acsl_1)); mpz_clear((__mpz_struct *)(e_acsl_2)); - mpz_clear((__mpz_struct *)(e_acsl_8)); X += Y; + mpz_clear((__mpz_struct *)(e_acsl_8)); + X += Y; } return; @@ -857,7 +909,10 @@ void k(void) int l(void) { /*@ assert Y ≡ 2; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)Y); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)2); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -867,14 +922,18 @@ int l(void) mpz_clear((__mpz_struct *)(e_acsl_2)); } - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; mpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)X); mpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)5); e_acsl_6 = mpz_cmp((__mpz_struct const *)(e_acsl_4), (__mpz_struct const *)(e_acsl_5)); if (! (e_acsl_6 == 0)) { e_acsl_fail((char *)"(X == 5)"); } mpz_clear((__mpz_struct *)(e_acsl_4)); - mpz_clear((__mpz_struct *)(e_acsl_5)); return (X); + mpz_clear((__mpz_struct *)(e_acsl_5)); + return (X); } } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c index 8da06b547cf..cf297cbb4dc 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_addrOf.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -39,13 +40,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -59,11 +67,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -227,12 +235,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -287,7 +295,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -312,7 +323,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -321,7 +334,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -335,8 +350,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -349,7 +368,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -367,7 +388,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -393,8 +416,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -420,7 +447,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -443,7 +473,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -452,7 +484,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -466,8 +500,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -480,7 +518,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -498,7 +538,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -517,21 +559,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c index 401f3dbd3d6..61b031c5e7b 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_arith.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -33,14 +34,6 @@ __inline static void __gmpz_abs(mpz_ptr __gmp_w, mpz_srcptr __gmp_u); extern void __gmpz_add(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_cdiv_q(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(x); assigns *x; */ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); @@ -51,7 +44,6 @@ extern int __gmpz_cmp(__mpz_struct const * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2) __attribute__(( __pure__)); extern void __gmpz_com(mpz_ptr, mpz_srcptr); -extern unsigned long __gmpz_fdiv_r_ui(mpz_ptr, mpz_srcptr, unsigned long); __inline static int __gmpz_fits_uint_p(mpz_srcptr __gmp_z) __attribute__(( __pure__)); __inline static int __gmpz_fits_ulong_p(mpz_srcptr __gmp_z) __attribute__(( @@ -90,7 +82,7 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); @@ -104,7 +96,22 @@ __pure__)); extern void __gmpz_sub(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_r(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -118,11 +125,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -286,12 +293,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -346,7 +353,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -371,7 +381,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -380,7 +392,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -394,8 +408,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -408,7 +426,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -426,7 +446,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -452,8 +474,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -479,7 +505,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -502,7 +531,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -511,7 +542,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -525,8 +558,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -539,7 +576,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -557,7 +596,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -576,21 +617,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -618,7 +662,11 @@ int main(void) x = -3; y = 2; /*@ assert -3 ≡ x; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; mpz_t e_acsl_3; int e_acsl_4; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + mpz_t e_acsl_3; + int e_acsl_4; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)3); __gmpz_init((__mpz_struct *)(e_acsl_2)); __gmpz_neg((__mpz_struct *)(e_acsl_2),(__mpz_struct const *)(e_acsl_1)); @@ -632,7 +680,11 @@ int main(void) } /*@ assert x ≡ -3; */ ; - { mpz_t e_acsl_5; mpz_t e_acsl_6; mpz_t e_acsl_7; int e_acsl_8; + { + mpz_t e_acsl_5; + mpz_t e_acsl_6; + mpz_t e_acsl_7; + int e_acsl_8; __gmpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_6),(long)3); __gmpz_init((__mpz_struct *)(e_acsl_7)); @@ -646,7 +698,10 @@ int main(void) } /*@ assert 0 ≢ ~0; */ ; - { mpz_t e_acsl_9; mpz_t e_acsl_10; int e_acsl_11; + { + mpz_t e_acsl_9; + mpz_t e_acsl_10; + int e_acsl_11; __gmpz_init_set_si((__mpz_struct *)(e_acsl_9),(long)0); __gmpz_init((__mpz_struct *)(e_acsl_10)); __gmpz_com(e_acsl_10,(__mpz_struct const *)(e_acsl_9)); @@ -658,8 +713,13 @@ int main(void) } /*@ assert x+1 ≡ -2; */ ; - { mpz_t e_acsl_12; mpz_t e_acsl_13; mpz_t e_acsl_14; mpz_t e_acsl_15; - mpz_t e_acsl_16; int e_acsl_17; + { + mpz_t e_acsl_12; + mpz_t e_acsl_13; + mpz_t e_acsl_14; + mpz_t e_acsl_15; + mpz_t e_acsl_16; + int e_acsl_17; __gmpz_init_set_si((__mpz_struct *)(e_acsl_12),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_13),(long)1); __gmpz_init((__mpz_struct *)(e_acsl_14)); @@ -679,8 +739,13 @@ int main(void) } /*@ assert x-1 ≡ -4; */ ; - { mpz_t e_acsl_18; mpz_t e_acsl_19; mpz_t e_acsl_20; mpz_t e_acsl_21; - mpz_t e_acsl_22; int e_acsl_23; + { + mpz_t e_acsl_18; + mpz_t e_acsl_19; + mpz_t e_acsl_20; + mpz_t e_acsl_21; + mpz_t e_acsl_22; + int e_acsl_23; __gmpz_init_set_si((__mpz_struct *)(e_acsl_18),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_19),(long)1); __gmpz_init((__mpz_struct *)(e_acsl_20)); @@ -700,8 +765,13 @@ int main(void) } /*@ assert x*3 ≡ -9; */ ; - { mpz_t e_acsl_24; mpz_t e_acsl_25; mpz_t e_acsl_26; mpz_t e_acsl_27; - mpz_t e_acsl_28; int e_acsl_29; + { + mpz_t e_acsl_24; + mpz_t e_acsl_25; + mpz_t e_acsl_26; + mpz_t e_acsl_27; + mpz_t e_acsl_28; + int e_acsl_29; __gmpz_init_set_si((__mpz_struct *)(e_acsl_24),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_25),(long)3); __gmpz_init((__mpz_struct *)(e_acsl_26)); @@ -721,14 +791,21 @@ int main(void) } /*@ assert x/3 ≡ -1; */ ; - { mpz_t e_acsl_30; mpz_t e_acsl_31; int e_acsl_32; mpz_t e_acsl_33; - mpz_t e_acsl_34; mpz_t e_acsl_35; int e_acsl_36; + { + mpz_t e_acsl_30; + mpz_t e_acsl_31; + int e_acsl_32; + mpz_t e_acsl_33; + mpz_t e_acsl_34; + mpz_t e_acsl_35; + int e_acsl_36; __gmpz_init_set_si((__mpz_struct *)(e_acsl_30),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_31),(long)3); e_acsl_32 = (int)__gmpz_get_si((__mpz_struct const *)(e_acsl_31)); - __gmpz_init((__mpz_struct *)(e_acsl_33)); /*@ assert 3 ≢ 0; */ ; + __gmpz_init((__mpz_struct *)(e_acsl_33)); + /*@ assert 3 ≢ 0; */ ; if (e_acsl_32 == 0) { e_acsl_fail((char *)"(3 == 0)"); } - __gmpz_cdiv_q((__mpz_struct *)(e_acsl_33), + __gmpz_tdiv_q((__mpz_struct *)(e_acsl_33), (__mpz_struct const *)(e_acsl_30), (__mpz_struct const *)(e_acsl_31)); __gmpz_init_set_si((__mpz_struct *)(e_acsl_34),(long)1); @@ -745,8 +822,13 @@ int main(void) } /*@ assert 0xfffffffffff/0xfffffffffff ≡ 1; */ ; - { mpz_t e_acsl_37; mpz_t e_acsl_38; int e_acsl_39; mpz_t e_acsl_40; - mpz_t e_acsl_41; int e_acsl_42; + { + mpz_t e_acsl_37; + mpz_t e_acsl_38; + int e_acsl_39; + mpz_t e_acsl_40; + mpz_t e_acsl_41; + int e_acsl_42; __gmpz_init_set_str((__mpz_struct *)(e_acsl_37),"17592186044415",10); __gmpz_init_set_si((__mpz_struct *)(e_acsl_38),(long)0); e_acsl_39 = __gmpz_cmp((__mpz_struct const *)(e_acsl_37), @@ -754,7 +836,7 @@ int main(void) __gmpz_init((__mpz_struct *)(e_acsl_40)); /*@ assert 0xfffffffffff ≢ 0; */ ; if (e_acsl_39 == 0) { e_acsl_fail((char *)"(0xfffffffffff == 0)"); } - __gmpz_cdiv_q((__mpz_struct *)(e_acsl_40), + __gmpz_tdiv_q((__mpz_struct *)(e_acsl_40), (__mpz_struct const *)(e_acsl_37), (__mpz_struct const *)(e_acsl_37)); __gmpz_init_set_si((__mpz_struct *)(e_acsl_41),(long)1); @@ -762,22 +844,31 @@ int main(void) (__mpz_struct const *)(e_acsl_41)); if (! (e_acsl_42 == 0)) { e_acsl_fail((char *)"(0xfffffffffff/0xfffffffffff == 1)"); - } __gmpz_clear((__mpz_struct *)(e_acsl_37)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_37)); __gmpz_clear((__mpz_struct *)(e_acsl_38)); __gmpz_clear((__mpz_struct *)(e_acsl_40)); __gmpz_clear((__mpz_struct *)(e_acsl_41)); } /*@ assert x%2 ≡ -1; */ ; - { mpz_t e_acsl_43; mpz_t e_acsl_44; int e_acsl_45; mpz_t e_acsl_46; - mpz_t e_acsl_47; mpz_t e_acsl_48; int e_acsl_49; + { + mpz_t e_acsl_43; + mpz_t e_acsl_44; + int e_acsl_45; + mpz_t e_acsl_46; + mpz_t e_acsl_47; + mpz_t e_acsl_48; + int e_acsl_49; __gmpz_init_set_si((__mpz_struct *)(e_acsl_43),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_44),(long)2); e_acsl_45 = (int)__gmpz_get_si((__mpz_struct const *)(e_acsl_44)); - __gmpz_init((__mpz_struct *)(e_acsl_46)); /*@ assert 2 ≢ 0; */ ; + __gmpz_init((__mpz_struct *)(e_acsl_46)); + /*@ assert 2 ≢ 0; */ ; if (e_acsl_45 == 0) { e_acsl_fail((char *)"(2 == 0)"); } - __gmpz_fdiv_r_ui(e_acsl_46,(__mpz_struct const *)(e_acsl_43), - (unsigned long)(e_acsl_44)); + __gmpz_tdiv_r((__mpz_struct *)(e_acsl_46), + (__mpz_struct const *)(e_acsl_43), + (__mpz_struct const *)(e_acsl_44)); __gmpz_init_set_si((__mpz_struct *)(e_acsl_47),(long)1); __gmpz_init((__mpz_struct *)(e_acsl_48)); __gmpz_neg((__mpz_struct *)(e_acsl_48),(__mpz_struct const *)(e_acsl_47)); @@ -792,10 +883,21 @@ int main(void) } /*@ assert ((x*2+(3+y))-4)+(x-y) ≡ -10; */ ; - { mpz_t e_acsl_50; mpz_t e_acsl_51; mpz_t e_acsl_52; mpz_t e_acsl_53; - mpz_t e_acsl_54; mpz_t e_acsl_55; mpz_t e_acsl_56; mpz_t e_acsl_57; - mpz_t e_acsl_58; mpz_t e_acsl_59; mpz_t e_acsl_60; mpz_t e_acsl_61; - mpz_t e_acsl_62; int e_acsl_63; + { + mpz_t e_acsl_50; + mpz_t e_acsl_51; + mpz_t e_acsl_52; + mpz_t e_acsl_53; + mpz_t e_acsl_54; + mpz_t e_acsl_55; + mpz_t e_acsl_56; + mpz_t e_acsl_57; + mpz_t e_acsl_58; + mpz_t e_acsl_59; + mpz_t e_acsl_60; + mpz_t e_acsl_61; + mpz_t e_acsl_62; + int e_acsl_63; __gmpz_init_set_si((__mpz_struct *)(e_acsl_50),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_51),(long)2); __gmpz_init((__mpz_struct *)(e_acsl_52)); @@ -826,7 +928,8 @@ int main(void) (__mpz_struct const *)(e_acsl_62)); if (! (e_acsl_63 == 0)) { e_acsl_fail((char *)"(((x*2+(3+y))-4)+(x-y) == -10)"); - } __gmpz_clear((__mpz_struct *)(e_acsl_50)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_50)); __gmpz_clear((__mpz_struct *)(e_acsl_51)); __gmpz_clear((__mpz_struct *)(e_acsl_52)); __gmpz_clear((__mpz_struct *)(e_acsl_53)); @@ -846,7 +949,11 @@ int main(void) e_acsl_fail((char *)"((0==1) == !(0==0))"); } /*@ assert (0≤-1) ≡ (0>0); */ ; - { mpz_t e_acsl_64; mpz_t e_acsl_65; mpz_t e_acsl_66; int e_acsl_67; + { + mpz_t e_acsl_64; + mpz_t e_acsl_65; + mpz_t e_acsl_66; + int e_acsl_67; __gmpz_init_set_si((__mpz_struct *)(e_acsl_64),(long)0); __gmpz_init_set_si((__mpz_struct *)(e_acsl_65),(long)1); __gmpz_init((__mpz_struct *)(e_acsl_66)); @@ -855,13 +962,18 @@ int main(void) (__mpz_struct const *)(e_acsl_66)); if (! ((e_acsl_67 <= 0) == (0 > 0))) { e_acsl_fail((char *)"((0<=-1) == (0>0))"); - } __gmpz_clear((__mpz_struct *)(e_acsl_64)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_64)); __gmpz_clear((__mpz_struct *)(e_acsl_65)); __gmpz_clear((__mpz_struct *)(e_acsl_66)); } /*@ assert (0≥-1) ≡ (0≤0); */ ; - { mpz_t e_acsl_68; mpz_t e_acsl_69; mpz_t e_acsl_70; int e_acsl_71; + { + mpz_t e_acsl_68; + mpz_t e_acsl_69; + mpz_t e_acsl_70; + int e_acsl_71; __gmpz_init_set_si((__mpz_struct *)(e_acsl_68),(long)0); __gmpz_init_set_si((__mpz_struct *)(e_acsl_69),(long)1); __gmpz_init((__mpz_struct *)(e_acsl_70)); @@ -870,7 +982,8 @@ int main(void) (__mpz_struct const *)(e_acsl_70)); if (! ((e_acsl_71 >= 0) == (0 <= 0))) { e_acsl_fail((char *)"((0>=-1) == (0<=0))"); - } __gmpz_clear((__mpz_struct *)(e_acsl_68)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_68)); __gmpz_clear((__mpz_struct *)(e_acsl_69)); __gmpz_clear((__mpz_struct *)(e_acsl_70)); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c index 544404c6a2c..7e92ababf3a 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_array.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -39,13 +40,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -59,11 +67,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -227,12 +235,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -287,7 +295,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -312,7 +323,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -321,7 +334,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -335,8 +350,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -349,7 +368,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -367,7 +388,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -393,8 +416,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -420,7 +447,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -443,7 +473,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -452,7 +484,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -466,8 +500,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -480,7 +518,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -498,7 +538,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -517,21 +559,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -556,10 +601,20 @@ int T2[4]; int main(void) { int __retres; - { int i; i = 0; while (1) { if (! (i < 3)) { break; } T1[i] = i; i ++; } } + { int i; + i = 0; + while (1) { + if (! (i < 3)) { break; } + T1[i] = i; + i ++; } } - { int i_0; i_0 = 0; - while (1) { if (! (i_0 < 4)) { break; } T2[i_0] = 2 * i_0; i_0 ++; } + { + int i_0; + i_0 = 0; + while (1) { + if (! (i_0 < 4)) { break; } + T2[i_0] = 2 * i_0; + i_0 ++; } } /*@ assert T1[0] ≡ T2[0]; */ ; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c index 33386ccc44a..87faeed832e 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_at.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -68,13 +69,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -88,11 +96,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -256,12 +264,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -316,7 +324,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -341,7 +352,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -350,7 +363,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -364,8 +379,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -378,7 +397,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -396,7 +417,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -422,8 +445,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -449,7 +476,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -472,7 +502,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -481,7 +513,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -495,8 +529,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -509,7 +547,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -527,7 +567,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -546,21 +588,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -589,7 +634,10 @@ int main(void) int e_acsl_14; x = 0; L: e_acsl_14 = x; - { mpz_t e_acsl_8; mpz_t e_acsl_9; mpz_t e_acsl_10; + { + mpz_t e_acsl_8; + mpz_t e_acsl_9; + mpz_t e_acsl_10; __gmpz_init_set_si((__mpz_struct *)(e_acsl_8),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_9),(long)1); __gmpz_init((__mpz_struct *)(e_acsl_10)); @@ -604,7 +652,10 @@ int main(void) e_acsl_4 = x; /*@ assert x ≡ 0; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)0); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -617,7 +668,10 @@ int main(void) x = 1; x = 2; /*@ assert \at(x,L) ≡ 0; */ ; - { mpz_t e_acsl_5; mpz_t e_acsl_6; int e_acsl_7; + { + mpz_t e_acsl_5; + mpz_t e_acsl_6; + int e_acsl_7; __gmpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)e_acsl_4); __gmpz_init_set_si((__mpz_struct *)(e_acsl_6),(long)0); e_acsl_7 = __gmpz_cmp((__mpz_struct const *)(e_acsl_5), @@ -628,7 +682,9 @@ int main(void) } /*@ assert \at(x+1,L) ≡ 1; */ ; - { mpz_t e_acsl_12; int e_acsl_13; + { + mpz_t e_acsl_12; + int e_acsl_13; __gmpz_init_set_si((__mpz_struct *)(e_acsl_12),(long)1); e_acsl_13 = __gmpz_cmp((__mpz_struct const *)(e_acsl_11), (__mpz_struct const *)(e_acsl_12)); @@ -637,7 +693,11 @@ int main(void) } /*@ assert \at(x,L)+1 ≡ 1; */ ; - { mpz_t e_acsl_15; mpz_t e_acsl_16; mpz_t e_acsl_17; int e_acsl_18; + { + mpz_t e_acsl_15; + mpz_t e_acsl_16; + mpz_t e_acsl_17; + int e_acsl_18; __gmpz_init_set_si((__mpz_struct *)(e_acsl_15),(long)e_acsl_14); __gmpz_init_set_si((__mpz_struct *)(e_acsl_16),(long)1); __gmpz_init((__mpz_struct *)(e_acsl_17)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c index f9fcaa6fba4..44bce8d26f1 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_cast.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -51,13 +52,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -71,11 +79,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -239,12 +247,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -299,7 +307,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -324,7 +335,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -333,7 +346,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -347,8 +362,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -361,7 +380,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -379,7 +400,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -405,8 +428,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -432,7 +459,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -455,7 +485,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -464,7 +496,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -478,8 +512,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -492,7 +530,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -510,7 +550,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -529,21 +571,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -571,21 +616,27 @@ int main(void) x = (long)0; y = 0; /*@ assert y ≢ (int)0xfffffffffffffff; */ ; - { mpz_t e_acsl_1; int e_acsl_2; + { + mpz_t e_acsl_1; + int e_acsl_2; __gmpz_init_set_str((__mpz_struct *)(e_acsl_1),"1152921504606846975",10); e_acsl_2 = (int)__gmpz_get_si((__mpz_struct const *)(e_acsl_1)); if (! (y != e_acsl_2)) { e_acsl_fail((char *)"(y != (int)0xfffffffffffffff)"); - } __gmpz_clear((__mpz_struct *)(e_acsl_1)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_1)); } /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */ ; - { mpz_t e_acsl_3; unsigned int e_acsl_4; + { + mpz_t e_acsl_3; + unsigned int e_acsl_4; __gmpz_init_set_str((__mpz_struct *)(e_acsl_3),"1152921504606846975",10); e_acsl_4 = (unsigned int)__gmpz_get_ui((__mpz_struct const *)(e_acsl_3)); if (! ((unsigned int)y != e_acsl_4)) { e_acsl_fail((char *)"((unsigned int)y != (unsigned int)0xfffffffffffffff)"); - } __gmpz_clear((__mpz_struct *)(e_acsl_3)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_3)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c index b2245178ecb..4eea08ea3a2 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_comparison.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -56,13 +57,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -76,11 +84,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -244,12 +252,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -304,7 +312,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -329,7 +340,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -338,7 +351,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -352,8 +367,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -366,7 +385,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -384,7 +405,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -410,8 +433,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -437,7 +464,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -460,7 +490,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -469,7 +501,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -483,8 +517,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -497,7 +535,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -515,7 +555,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -534,21 +576,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -581,7 +626,10 @@ int main(void) /*@ assert y > x; */ ; if (! (y > x)) { e_acsl_fail((char *)"(y > x)"); } /*@ assert x ≤ 0; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)0); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -592,7 +640,10 @@ int main(void) } /*@ assert y ≥ 1; */ ; - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; __gmpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)y); __gmpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)1); e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(e_acsl_4), @@ -621,7 +672,11 @@ int main(void) /*@ assert 1 ≢ 2; */ ; if (! (1 != 2)) { e_acsl_fail((char *)"(1 != 2)"); } /*@ assert -5 < 18; */ ; - { mpz_t e_acsl_7; mpz_t e_acsl_8; mpz_t e_acsl_9; int e_acsl_10; + { + mpz_t e_acsl_7; + mpz_t e_acsl_8; + mpz_t e_acsl_9; + int e_acsl_10; __gmpz_init_set_si((__mpz_struct *)(e_acsl_7),(long)5); __gmpz_init((__mpz_struct *)(e_acsl_8)); __gmpz_neg((__mpz_struct *)(e_acsl_8),(__mpz_struct const *)(e_acsl_7)); @@ -635,7 +690,11 @@ int main(void) } /*@ assert 32 > -3; */ ; - { mpz_t e_acsl_11; mpz_t e_acsl_12; mpz_t e_acsl_13; int e_acsl_14; + { + mpz_t e_acsl_11; + mpz_t e_acsl_12; + mpz_t e_acsl_13; + int e_acsl_14; __gmpz_init_set_si((__mpz_struct *)(e_acsl_11),(long)32); __gmpz_init_set_si((__mpz_struct *)(e_acsl_12),(long)3); __gmpz_init((__mpz_struct *)(e_acsl_13)); @@ -649,7 +708,11 @@ int main(void) } /*@ assert -12 ≤ 13; */ ; - { mpz_t e_acsl_15; mpz_t e_acsl_16; mpz_t e_acsl_17; int e_acsl_18; + { + mpz_t e_acsl_15; + mpz_t e_acsl_16; + mpz_t e_acsl_17; + int e_acsl_18; __gmpz_init_set_si((__mpz_struct *)(e_acsl_15),(long)12); __gmpz_init((__mpz_struct *)(e_acsl_16)); __gmpz_neg((__mpz_struct *)(e_acsl_16),(__mpz_struct const *)(e_acsl_15)); @@ -663,7 +726,11 @@ int main(void) } /*@ assert 123 ≥ -12; */ ; - { mpz_t e_acsl_19; mpz_t e_acsl_20; mpz_t e_acsl_21; int e_acsl_22; + { + mpz_t e_acsl_19; + mpz_t e_acsl_20; + mpz_t e_acsl_21; + int e_acsl_22; __gmpz_init_set_si((__mpz_struct *)(e_acsl_19),(long)123); __gmpz_init_set_si((__mpz_struct *)(e_acsl_20),(long)12); __gmpz_init((__mpz_struct *)(e_acsl_21)); @@ -677,7 +744,10 @@ int main(void) } /*@ assert -0xff ≡ -0xff; */ ; - { mpz_t e_acsl_23; mpz_t e_acsl_24; int e_acsl_25; + { + mpz_t e_acsl_23; + mpz_t e_acsl_24; + int e_acsl_25; __gmpz_init_set_si((__mpz_struct *)(e_acsl_23),(long)0xff); __gmpz_init((__mpz_struct *)(e_acsl_24)); __gmpz_neg((__mpz_struct *)(e_acsl_24),(__mpz_struct const *)(e_acsl_23)); @@ -689,7 +759,11 @@ int main(void) } /*@ assert 1 ≢ -2; */ ; - { mpz_t e_acsl_26; mpz_t e_acsl_27; mpz_t e_acsl_28; int e_acsl_29; + { + mpz_t e_acsl_26; + mpz_t e_acsl_27; + mpz_t e_acsl_28; + int e_acsl_29; __gmpz_init_set_si((__mpz_struct *)(e_acsl_26),(long)1); __gmpz_init_set_si((__mpz_struct *)(e_acsl_27),(long)2); __gmpz_init((__mpz_struct *)(e_acsl_28)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c index 896e8e07c9c..3aa800231de 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_false.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -39,13 +40,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -59,11 +67,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -227,12 +235,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -287,7 +295,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -312,7 +323,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -321,7 +334,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -335,8 +350,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -349,7 +368,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -367,7 +388,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -393,8 +416,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -420,7 +447,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -443,7 +473,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -452,7 +484,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -466,8 +500,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -480,7 +518,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -498,7 +538,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -517,21 +559,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -556,7 +601,9 @@ int main(void) int __retres; int x; x = 0; - if (x) { /*@ assert \false; */ ; e_acsl_fail((char *)"(\\false)"); } + if (x) { + /*@ assert \false; */ ; + e_acsl_fail((char *)"(\\false)"); } __retres = 0; return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c index 174fb3acbe0..ddfe3af68cf 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_function_contract.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -64,13 +65,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -84,11 +92,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -252,12 +260,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -312,7 +320,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -337,7 +348,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -346,7 +359,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -360,8 +375,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -374,7 +393,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -392,7 +413,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -418,8 +441,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -445,7 +472,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -468,7 +498,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -477,7 +509,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -491,8 +525,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -505,7 +543,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -523,7 +563,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -542,21 +584,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -582,14 +627,18 @@ int Y = 2; void f(void) { X = 1; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)1); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_2)); if (! (e_acsl_3 == 0)) { e_acsl_fail((char *)"(X == 1)"); } __gmpz_clear((__mpz_struct *)(e_acsl_1)); - __gmpz_clear((__mpz_struct *)(e_acsl_2)); return; + __gmpz_clear((__mpz_struct *)(e_acsl_2)); + return; } } @@ -599,8 +648,13 @@ void f(void) void g(void) { X = 2; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; mpz_t e_acsl_4; - int e_acsl_5; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + mpz_t e_acsl_4; + int e_acsl_5; + __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)2); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_2)); @@ -611,7 +665,8 @@ void g(void) if (! (e_acsl_5 == 0)) { e_acsl_fail((char *)"(Y == 2)"); } __gmpz_clear((__mpz_struct *)(e_acsl_1)); __gmpz_clear((__mpz_struct *)(e_acsl_2)); - __gmpz_clear((__mpz_struct *)(e_acsl_4)); return; + __gmpz_clear((__mpz_struct *)(e_acsl_4)); + return; } } @@ -619,14 +674,18 @@ void g(void) /*@ requires X ≡ 2; */ void h(void) { - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)2); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_2)); if (! (e_acsl_3 == 0)) { e_acsl_fail((char *)"(X == 2)"); } __gmpz_clear((__mpz_struct *)(e_acsl_1)); - __gmpz_clear((__mpz_struct *)(e_acsl_2)); X ++; + __gmpz_clear((__mpz_struct *)(e_acsl_2)); + X ++; } return; @@ -636,8 +695,13 @@ void h(void) requires Y ≡ 2; */ void i(void) { - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; mpz_t e_acsl_4; - mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)3); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -651,7 +715,8 @@ void i(void) __gmpz_clear((__mpz_struct *)(e_acsl_1)); __gmpz_clear((__mpz_struct *)(e_acsl_2)); __gmpz_clear((__mpz_struct *)(e_acsl_4)); - __gmpz_clear((__mpz_struct *)(e_acsl_5)); X += Y; + __gmpz_clear((__mpz_struct *)(e_acsl_5)); + X += Y; } return; @@ -670,9 +735,17 @@ void i(void) */ void j(void) { - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; mpz_t e_acsl_4; - mpz_t e_acsl_5; mpz_t e_acsl_6; int e_acsl_7; mpz_t e_acsl_8; - int e_acsl_9; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + mpz_t e_acsl_4; + mpz_t e_acsl_5; + mpz_t e_acsl_6; + int e_acsl_7; + mpz_t e_acsl_8; + int e_acsl_9; + __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)5); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_2)); @@ -694,11 +767,18 @@ void j(void) __gmpz_clear((__mpz_struct *)(e_acsl_4)); __gmpz_clear((__mpz_struct *)(e_acsl_5)); __gmpz_clear((__mpz_struct *)(e_acsl_6)); - __gmpz_clear((__mpz_struct *)(e_acsl_8)); X = 3; + __gmpz_clear((__mpz_struct *)(e_acsl_8)); + X = 3; } - { mpz_t e_acsl_10; mpz_t e_acsl_11; int e_acsl_12; mpz_t e_acsl_13; - mpz_t e_acsl_14; mpz_t e_acsl_15; int e_acsl_16; + { + mpz_t e_acsl_10; + mpz_t e_acsl_11; + int e_acsl_12; + mpz_t e_acsl_13; + mpz_t e_acsl_14; + mpz_t e_acsl_15; + int e_acsl_16; __gmpz_init_set_si((__mpz_struct *)(e_acsl_10),(long)X); __gmpz_init_set_si((__mpz_struct *)(e_acsl_11),(long)3); e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(e_acsl_10), @@ -716,7 +796,8 @@ void j(void) __gmpz_clear((__mpz_struct *)(e_acsl_11)); __gmpz_clear((__mpz_struct *)(e_acsl_13)); __gmpz_clear((__mpz_struct *)(e_acsl_14)); - __gmpz_clear((__mpz_struct *)(e_acsl_15)); return; + __gmpz_clear((__mpz_struct *)(e_acsl_15)); + return; } } @@ -735,9 +816,18 @@ void j(void) */ void k(void) { - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; int e_acsl_7; - mpz_t e_acsl_8; int e_acsl_9; int e_acsl_13; int e_acsl_17; - int e_acsl_18; int e_acsl_22; int e_acsl_28; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + int e_acsl_7; + mpz_t e_acsl_8; + int e_acsl_9; + int e_acsl_13; + int e_acsl_17; + int e_acsl_18; + int e_acsl_22; + int e_acsl_28; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)X); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)1); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -754,7 +844,8 @@ void k(void) e_acsl_7 = e_acsl_6 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_4)); __gmpz_clear((__mpz_struct *)(e_acsl_5)); - } if (! e_acsl_7) { e_acsl_fail((char *)"(X == 1 ==> X == 0)"); } + } + if (! e_acsl_7) { e_acsl_fail((char *)"(X == 1 ==> X == 0)"); } __gmpz_init_set_si((__mpz_struct *)(e_acsl_8),(long)3); e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_8)); @@ -769,7 +860,9 @@ void k(void) e_acsl_13 = e_acsl_12 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_10)); __gmpz_clear((__mpz_struct *)(e_acsl_11)); - } else { e_acsl_13 = 0; } if (! e_acsl_13) { e_acsl_17 = 1; } + } + else { e_acsl_13 = 0; } + if (! e_acsl_13) { e_acsl_17 = 1; } else { mpz_t e_acsl_14; mpz_t e_acsl_15; @@ -797,7 +890,9 @@ void k(void) e_acsl_22 = e_acsl_21 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_19)); __gmpz_clear((__mpz_struct *)(e_acsl_20)); - } else { e_acsl_22 = 0; } if (! e_acsl_22) { e_acsl_28 = 1; } + } + else { e_acsl_22 = 0; } + if (! e_acsl_22) { e_acsl_28 = 1; } else { mpz_t e_acsl_23; mpz_t e_acsl_24; @@ -821,9 +916,11 @@ void k(void) } if (! e_acsl_28) { e_acsl_fail((char *)"(X == 3 && Y == 2 ==> X+Y == 5)"); - } __gmpz_clear((__mpz_struct *)(e_acsl_1)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_1)); __gmpz_clear((__mpz_struct *)(e_acsl_2)); - __gmpz_clear((__mpz_struct *)(e_acsl_8)); X += Y; + __gmpz_clear((__mpz_struct *)(e_acsl_8)); + X += Y; } return; @@ -833,7 +930,10 @@ void k(void) int l(void) { /*@ assert Y ≡ 2; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)Y); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)2); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -843,14 +943,18 @@ int l(void) __gmpz_clear((__mpz_struct *)(e_acsl_2)); } - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; __gmpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)X); __gmpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)5); e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(e_acsl_4), (__mpz_struct const *)(e_acsl_5)); if (! (e_acsl_6 == 0)) { e_acsl_fail((char *)"(X == 5)"); } __gmpz_clear((__mpz_struct *)(e_acsl_4)); - __gmpz_clear((__mpz_struct *)(e_acsl_5)); return (X); + __gmpz_clear((__mpz_struct *)(e_acsl_5)); + return (X); } } 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 c316f444231..497cf8ae7a3 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 @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -53,13 +54,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -73,11 +81,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -241,12 +249,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -301,7 +309,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -326,7 +337,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -335,7 +348,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -349,8 +364,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -363,7 +382,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -381,7 +402,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -407,8 +430,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -434,7 +461,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -457,7 +487,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -466,7 +498,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -480,8 +514,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -494,7 +532,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -512,7 +552,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -531,21 +573,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -575,13 +620,16 @@ int main(void) /*@ assert 0 ≢ 1; */ ; if (! (0 != 1)) { e_acsl_fail((char *)"(0 != 1)"); } /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */ ; - { mpz_t e_acsl_1; int e_acsl_2; + { + mpz_t e_acsl_1; + int e_acsl_2; __gmpz_init_set_str((__mpz_struct *)(e_acsl_1),"1152921504606846975",10); e_acsl_2 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_1)); if (! (e_acsl_2 == 0)) { e_acsl_fail((char *)"(1152921504606846975 == 0xfffffffffffffff)"); - } __gmpz_clear((__mpz_struct *)(e_acsl_1)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_1)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c index c074c5a330d..c920ee7bf26 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_lazy.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -53,13 +54,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -73,11 +81,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -241,12 +249,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -301,7 +309,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -326,7 +337,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -335,7 +348,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -349,8 +364,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -363,7 +382,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -381,7 +402,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -407,8 +430,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -434,7 +461,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -457,7 +487,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -466,7 +498,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -480,8 +514,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -494,7 +532,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -512,7 +552,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -531,21 +573,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -573,7 +618,11 @@ int main(void) x = 0; y = 1; /*@ assert x ≡ 0 ∧ y ≡ 1; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; int e_acsl_7; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + int e_acsl_7; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)0); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -589,14 +638,19 @@ int main(void) e_acsl_7 = e_acsl_6 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_4)); __gmpz_clear((__mpz_struct *)(e_acsl_5)); - } else { e_acsl_7 = 0; } + } + else { e_acsl_7 = 0; } if (! e_acsl_7) { e_acsl_fail((char *)"(x == 0 && y == 1)"); } __gmpz_clear((__mpz_struct *)(e_acsl_1)); __gmpz_clear((__mpz_struct *)(e_acsl_2)); } /*@ assert ¬(x ≢ 0 ∧ y ≡ 1/0); */ ; - { mpz_t e_acsl_8; mpz_t e_acsl_9; int e_acsl_10; int e_acsl_15; + { + mpz_t e_acsl_8; + mpz_t e_acsl_9; + int e_acsl_10; + int e_acsl_15; __gmpz_init_set_si((__mpz_struct *)(e_acsl_8),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_9),(long)0); e_acsl_10 = __gmpz_cmp((__mpz_struct const *)(e_acsl_8), @@ -616,14 +670,19 @@ int main(void) e_acsl_15 = e_acsl_14 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_11)); __gmpz_clear((__mpz_struct *)(e_acsl_13)); - } else { e_acsl_15 = 0; } + } + else { e_acsl_15 = 0; } if (! (! e_acsl_15)) { e_acsl_fail((char *)"(!(x != 0 && y == 1/0))"); } __gmpz_clear((__mpz_struct *)(e_acsl_8)); __gmpz_clear((__mpz_struct *)(e_acsl_9)); } /*@ assert y ≡ 1 ∨ x ≡ 1; */ ; - { mpz_t e_acsl_16; mpz_t e_acsl_17; int e_acsl_18; int e_acsl_22; + { + mpz_t e_acsl_16; + mpz_t e_acsl_17; + int e_acsl_18; + int e_acsl_22; __gmpz_init_set_si((__mpz_struct *)(e_acsl_16),(long)y); __gmpz_init_set_si((__mpz_struct *)(e_acsl_17),(long)1); e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(e_acsl_16), @@ -640,13 +699,18 @@ int main(void) e_acsl_22 = e_acsl_21 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_19)); __gmpz_clear((__mpz_struct *)(e_acsl_20)); - } if (! e_acsl_22) { e_acsl_fail((char *)"(y == 1 || x == 1)"); } + } + if (! e_acsl_22) { e_acsl_fail((char *)"(y == 1 || x == 1)"); } __gmpz_clear((__mpz_struct *)(e_acsl_16)); __gmpz_clear((__mpz_struct *)(e_acsl_17)); } /*@ assert x ≡ 0 ∨ y ≡ 1/0; */ ; - { mpz_t e_acsl_23; mpz_t e_acsl_24; int e_acsl_25; int e_acsl_30; + { + mpz_t e_acsl_23; + mpz_t e_acsl_24; + int e_acsl_25; + int e_acsl_30; __gmpz_init_set_si((__mpz_struct *)(e_acsl_23),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_24),(long)0); e_acsl_25 = __gmpz_cmp((__mpz_struct const *)(e_acsl_23), @@ -667,13 +731,18 @@ int main(void) e_acsl_30 = e_acsl_29 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_26)); __gmpz_clear((__mpz_struct *)(e_acsl_28)); - } if (! e_acsl_30) { e_acsl_fail((char *)"(x == 0 || y == 1/0)"); } + } + if (! e_acsl_30) { e_acsl_fail((char *)"(x == 0 || y == 1/0)"); } __gmpz_clear((__mpz_struct *)(e_acsl_23)); __gmpz_clear((__mpz_struct *)(e_acsl_24)); } /*@ assert x ≡ 0 ⇒ y ≡ 1; */ ; - { mpz_t e_acsl_31; mpz_t e_acsl_32; int e_acsl_33; int e_acsl_37; + { + mpz_t e_acsl_31; + mpz_t e_acsl_32; + int e_acsl_33; + int e_acsl_37; __gmpz_init_set_si((__mpz_struct *)(e_acsl_31),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_32),(long)0); e_acsl_33 = __gmpz_cmp((__mpz_struct const *)(e_acsl_31), @@ -690,13 +759,18 @@ int main(void) e_acsl_37 = e_acsl_36 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_34)); __gmpz_clear((__mpz_struct *)(e_acsl_35)); - } if (! e_acsl_37) { e_acsl_fail((char *)"(x == 0 ==> y == 1)"); } + } + if (! e_acsl_37) { e_acsl_fail((char *)"(x == 0 ==> y == 1)"); } __gmpz_clear((__mpz_struct *)(e_acsl_31)); __gmpz_clear((__mpz_struct *)(e_acsl_32)); } /*@ assert x ≡ 1 ⇒ y ≡ 1/0; */ ; - { mpz_t e_acsl_38; mpz_t e_acsl_39; int e_acsl_40; int e_acsl_45; + { + mpz_t e_acsl_38; + mpz_t e_acsl_39; + int e_acsl_40; + int e_acsl_45; __gmpz_init_set_si((__mpz_struct *)(e_acsl_38),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_39),(long)1); e_acsl_40 = __gmpz_cmp((__mpz_struct const *)(e_acsl_38), @@ -717,7 +791,8 @@ int main(void) e_acsl_45 = e_acsl_44 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_41)); __gmpz_clear((__mpz_struct *)(e_acsl_43)); - } if (! e_acsl_45) { e_acsl_fail((char *)"(x == 1 ==> y == 1/0)"); } + } + if (! e_acsl_45) { e_acsl_fail((char *)"(x == 1 ==> y == 1/0)"); } __gmpz_clear((__mpz_struct *)(e_acsl_38)); __gmpz_clear((__mpz_struct *)(e_acsl_39)); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c index 1b21e2c911f..81d704652fd 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_nested_code_annot.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -53,13 +54,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -73,11 +81,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -241,12 +249,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -301,7 +309,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -326,7 +337,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -335,7 +348,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -349,8 +364,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -363,7 +382,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -381,7 +402,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -407,8 +430,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -434,7 +461,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -457,7 +487,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -466,7 +498,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -480,8 +514,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -494,7 +532,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -512,7 +552,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -531,21 +573,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -576,8 +621,14 @@ int main(void) if (! (x < y)) { e_acsl_fail((char *)"(x < y)"); } /*@ requires x ≡ 0; ensures x ≥ 1; */ - { mpz_t e_acsl_16; mpz_t e_acsl_17; int e_acsl_18; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_16; + mpz_t e_acsl_17; + int e_acsl_18; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)0); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -585,21 +636,31 @@ int main(void) if (! (e_acsl_3 == 0)) { e_acsl_fail((char *)"(x == 0)"); } __gmpz_clear((__mpz_struct *)(e_acsl_1)); __gmpz_clear((__mpz_struct *)(e_acsl_2)); - if (x) { /*@ assert \false; */ ; e_acsl_fail((char *)"(\\false)"); } + if (x) { + /*@ assert \false; */ ; + e_acsl_fail((char *)"(\\false)"); } else { /*@ requires x ≡ 0; ensures x ≡ 1; */ - { mpz_t e_acsl_7; mpz_t e_acsl_8; int e_acsl_9; - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_7; + mpz_t e_acsl_8; + int e_acsl_9; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; __gmpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)0); e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(e_acsl_4), (__mpz_struct const *)(e_acsl_5)); if (! (e_acsl_6 == 0)) { e_acsl_fail((char *)"(x == 0)"); } __gmpz_clear((__mpz_struct *)(e_acsl_4)); - __gmpz_clear((__mpz_struct *)(e_acsl_5)); x ++; + __gmpz_clear((__mpz_struct *)(e_acsl_5)); + x ++; } - __gmpz_init_set_si((__mpz_struct *)(e_acsl_7),(long)x); + + __gmpz_init_set_si((__mpz_struct *)(e_acsl_7),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_8),(long)1); e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(e_acsl_7), (__mpz_struct const *)(e_acsl_8)); @@ -611,17 +672,25 @@ int main(void) if (x) { /*@ requires x ≡ 1; ensures x ≡ 2; */ - { mpz_t e_acsl_13; mpz_t e_acsl_14; int e_acsl_15; - { mpz_t e_acsl_10; mpz_t e_acsl_11; int e_acsl_12; + { + mpz_t e_acsl_13; + mpz_t e_acsl_14; + int e_acsl_15; + { + mpz_t e_acsl_10; + mpz_t e_acsl_11; + int e_acsl_12; __gmpz_init_set_si((__mpz_struct *)(e_acsl_10),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_11),(long)1); e_acsl_12 = __gmpz_cmp((__mpz_struct const *)(e_acsl_10), (__mpz_struct const *)(e_acsl_11)); if (! (e_acsl_12 == 0)) { e_acsl_fail((char *)"(x == 1)"); } __gmpz_clear((__mpz_struct *)(e_acsl_10)); - __gmpz_clear((__mpz_struct *)(e_acsl_11)); x ++; + __gmpz_clear((__mpz_struct *)(e_acsl_11)); + x ++; } - __gmpz_init_set_si((__mpz_struct *)(e_acsl_13),(long)x); + + __gmpz_init_set_si((__mpz_struct *)(e_acsl_13),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_14),(long)2); e_acsl_15 = __gmpz_cmp((__mpz_struct const *)(e_acsl_13), (__mpz_struct const *)(e_acsl_14)); @@ -631,10 +700,13 @@ int main(void) } } - else { /*@ assert \false; */ ; e_acsl_fail((char *)"(\\false)"); } + else { + /*@ assert \false; */ ; + e_acsl_fail((char *)"(\\false)"); } } } - __gmpz_init_set_si((__mpz_struct *)(e_acsl_16),(long)x); + + __gmpz_init_set_si((__mpz_struct *)(e_acsl_16),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_17),(long)1); e_acsl_18 = __gmpz_cmp((__mpz_struct const *)(e_acsl_16), (__mpz_struct const *)(e_acsl_17)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c index 6bc72d79e79..87c89b1c2cd 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_not.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -39,13 +40,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -59,11 +67,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -227,12 +235,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -287,7 +295,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -312,7 +323,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -321,7 +334,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -335,8 +350,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -349,7 +368,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -367,7 +388,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -393,8 +416,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -420,7 +447,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -443,7 +473,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -452,7 +484,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -466,8 +500,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -480,7 +518,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -498,7 +538,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -517,21 +559,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c index 3d53d3b5582..85497dcc151 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_null.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -39,13 +40,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -59,11 +67,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -227,12 +235,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -287,7 +295,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -312,7 +323,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -321,7 +334,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -335,8 +350,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -349,7 +368,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -367,7 +388,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -393,8 +416,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -420,7 +447,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -443,7 +473,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -452,7 +484,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -466,8 +500,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -480,7 +518,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -498,7 +538,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -517,21 +559,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c index 8273cbfd8f7..6b78bf90783 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_other_constants.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -57,13 +58,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -77,11 +85,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -245,12 +253,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -305,7 +313,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -330,7 +341,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -339,7 +352,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -353,8 +368,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -367,7 +386,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -385,7 +406,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -411,8 +434,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -438,7 +465,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -461,7 +491,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -470,7 +502,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -484,8 +518,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -498,7 +536,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -516,7 +556,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -535,21 +577,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -576,7 +621,9 @@ int main(void) if (! ("toto" != "titi")) { e_acsl_fail((char *)"(\"toto\" != \"titi\")"); } /*@ assert 'c' ≡ 'c'; */ ; - { mpz_t e_acsl_1; int e_acsl_2; + { + mpz_t e_acsl_1; + int e_acsl_2; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)'c'); e_acsl_2 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_1)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c index efbe0beb80d..6ab9d106e25 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_ptr.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -33,14 +34,6 @@ __inline static void __gmpz_abs(mpz_ptr __gmp_w, mpz_srcptr __gmp_u); extern void __gmpz_add(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -/*@ requires \valid(z1); - requires \valid(z2); - requires \valid(z3); - assigns *z1; -*/ -extern void __gmpz_cdiv_q(__mpz_struct * /*[1]*/ z1, - __mpz_struct const * /*[1]*/ z2, - __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(x); assigns *x; */ extern void __gmpz_clear(__mpz_struct * /*[1]*/ x); @@ -84,7 +77,7 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); @@ -98,7 +91,14 @@ __pure__)); extern void __gmpz_sub(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -112,11 +112,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -280,12 +280,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -340,7 +340,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -365,7 +368,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -374,7 +379,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -388,8 +395,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -402,7 +413,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -420,7 +433,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -446,8 +461,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -473,7 +492,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -496,7 +518,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -505,7 +529,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -519,8 +545,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -533,7 +563,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -551,7 +583,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -570,21 +604,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -616,7 +653,10 @@ int main(void) t[2] = 4; p = & x; /*@ assert *p ≡ 1; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)*p); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)1); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -627,7 +667,10 @@ int main(void) } /*@ assert t[0] ≡ 2; */ ; - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; __gmpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)t[0]); __gmpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)2); e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(e_acsl_4), @@ -638,7 +681,10 @@ int main(void) } /*@ assert t[2] ≡ 4; */ ; - { mpz_t e_acsl_7; mpz_t e_acsl_8; int e_acsl_9; + { + mpz_t e_acsl_7; + mpz_t e_acsl_8; + int e_acsl_9; __gmpz_init_set_si((__mpz_struct *)(e_acsl_7),(long)t[2]); __gmpz_init_set_si((__mpz_struct *)(e_acsl_8),(long)4); e_acsl_9 = __gmpz_cmp((__mpz_struct const *)(e_acsl_7), @@ -649,9 +695,18 @@ int main(void) } /*@ assert t[(2*sizeof(int))/sizeof((int)0x0)] ≡ 4; */ ; - { mpz_t e_acsl_10; mpz_t e_acsl_11; mpz_t e_acsl_12; mpz_t e_acsl_13; - mpz_t e_acsl_14; int e_acsl_15; mpz_t e_acsl_16; int e_acsl_17; - mpz_t e_acsl_18; mpz_t e_acsl_19; int e_acsl_20; + { + mpz_t e_acsl_10; + mpz_t e_acsl_11; + mpz_t e_acsl_12; + mpz_t e_acsl_13; + mpz_t e_acsl_14; + int e_acsl_15; + mpz_t e_acsl_16; + int e_acsl_17; + mpz_t e_acsl_18; + mpz_t e_acsl_19; + int e_acsl_20; __gmpz_init_set_si((__mpz_struct *)(e_acsl_10),(long)2); __gmpz_init_set_si((__mpz_struct *)(e_acsl_11),(long)4); __gmpz_init((__mpz_struct *)(e_acsl_12)); @@ -664,7 +719,7 @@ int main(void) __gmpz_init((__mpz_struct *)(e_acsl_16)); /*@ assert sizeof((int)0x0) ≢ 0; */ ; if (e_acsl_15 == 0) { e_acsl_fail((char *)"(sizeof((int)0x0) == 0)"); } - __gmpz_cdiv_q((__mpz_struct *)(e_acsl_16), + __gmpz_tdiv_q((__mpz_struct *)(e_acsl_16), (__mpz_struct const *)(e_acsl_12), (__mpz_struct const *)(e_acsl_13)); e_acsl_17 = (int)__gmpz_get_si((__mpz_struct const *)(e_acsl_16)); @@ -674,7 +729,8 @@ int main(void) (__mpz_struct const *)(e_acsl_19)); if (! (e_acsl_20 == 0)) { e_acsl_fail((char *)"(t[(2*sizeof(int))/sizeof((int)0x0)] == 4)"); - } __gmpz_clear((__mpz_struct *)(e_acsl_10)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_10)); __gmpz_clear((__mpz_struct *)(e_acsl_11)); __gmpz_clear((__mpz_struct *)(e_acsl_12)); __gmpz_clear((__mpz_struct *)(e_acsl_13)); @@ -684,11 +740,17 @@ int main(void) __gmpz_clear((__mpz_struct *)(e_acsl_19)); } - { int i; i = 0; + { + int i; + i = 0; while (1) { if (! (i < 2)) { break; } /*@ assert t[i] ≡ i+2; */ ; - { mpz_t e_acsl_21; mpz_t e_acsl_22; mpz_t e_acsl_23; mpz_t e_acsl_24; + { + mpz_t e_acsl_21; + mpz_t e_acsl_22; + mpz_t e_acsl_23; + mpz_t e_acsl_24; int e_acsl_25; __gmpz_init_set_si((__mpz_struct *)(e_acsl_21),(long)t[i]); __gmpz_init_set_si((__mpz_struct *)(e_acsl_22),(long)i); @@ -707,8 +769,15 @@ int main(void) } /*@ assert t[2-i] ≡ 4-i; */ ; - { mpz_t e_acsl_26; mpz_t e_acsl_27; mpz_t e_acsl_28; int e_acsl_29; - mpz_t e_acsl_30; mpz_t e_acsl_31; mpz_t e_acsl_32; int e_acsl_33; + { + mpz_t e_acsl_26; + mpz_t e_acsl_27; + mpz_t e_acsl_28; + int e_acsl_29; + mpz_t e_acsl_30; + mpz_t e_acsl_31; + mpz_t e_acsl_32; + int e_acsl_33; __gmpz_init_set_si((__mpz_struct *)(e_acsl_26),(long)2); __gmpz_init_set_si((__mpz_struct *)(e_acsl_27),(long)i); __gmpz_init((__mpz_struct *)(e_acsl_28)); @@ -734,7 +803,11 @@ int main(void) } /*@ assert *(&t[2]-i) ≡ 4-i; */ ; - { mpz_t e_acsl_34; mpz_t e_acsl_35; mpz_t e_acsl_36; mpz_t e_acsl_37; + { + mpz_t e_acsl_34; + mpz_t e_acsl_35; + mpz_t e_acsl_36; + mpz_t e_acsl_37; int e_acsl_38; __gmpz_init_set_si((__mpz_struct *)(e_acsl_34),(long)*(& t[2] - i)); __gmpz_init_set_si((__mpz_struct *)(e_acsl_35),(long)4); @@ -746,7 +819,8 @@ int main(void) e_acsl_38 = __gmpz_cmp((__mpz_struct const *)(e_acsl_34), (__mpz_struct const *)(e_acsl_37)); if (! (e_acsl_38 == 0)) { e_acsl_fail((char *)"(*(&t[2]-i) == 4-i)"); - } __gmpz_clear((__mpz_struct *)(e_acsl_34)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_34)); __gmpz_clear((__mpz_struct *)(e_acsl_35)); __gmpz_clear((__mpz_struct *)(e_acsl_36)); __gmpz_clear((__mpz_struct *)(e_acsl_37)); @@ -759,7 +833,10 @@ int main(void) p = & t[2]; t[2] = 5; /*@ assert *p ≡ 5; */ ; - { mpz_t e_acsl_39; mpz_t e_acsl_40; int e_acsl_41; + { + mpz_t e_acsl_39; + mpz_t e_acsl_40; + int e_acsl_41; __gmpz_init_set_si((__mpz_struct *)(e_acsl_39),(long)*p); __gmpz_init_set_si((__mpz_struct *)(e_acsl_40),(long)5); e_acsl_41 = __gmpz_cmp((__mpz_struct const *)(e_acsl_39), diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c index 34656d1f40b..c77c7327b72 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_sizeof.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -53,13 +54,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -73,11 +81,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -241,12 +249,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -301,7 +309,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -326,7 +337,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -335,7 +348,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -349,8 +364,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -363,7 +382,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -381,7 +402,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -407,8 +430,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -434,7 +461,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -457,7 +487,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -466,7 +498,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -480,8 +514,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -494,7 +532,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -512,7 +552,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -531,21 +573,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -565,35 +610,45 @@ void e_acsl_fail(char *msg) return; } -void main(void) +int main(void) { + int __retres; int x; x = 0; /*@ assert sizeof(int) ≡ sizeof(x); */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)4); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)4); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_2)); if (! (e_acsl_3 == 0)) { e_acsl_fail((char *)"(sizeof(int) == sizeof(x))"); - } __gmpz_clear((__mpz_struct *)(e_acsl_1)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_1)); __gmpz_clear((__mpz_struct *)(e_acsl_2)); } /*@ assert sizeof("totototototo") ≡ sizeof(char *); */ ; - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; __gmpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)4); __gmpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)4); e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(e_acsl_4), (__mpz_struct const *)(e_acsl_5)); if (! (e_acsl_6 == 0)) { e_acsl_fail((char *)"(sizeof(\"totototototo\") == sizeof(char *))"); - } __gmpz_clear((__mpz_struct *)(e_acsl_4)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_4)); __gmpz_clear((__mpz_struct *)(e_acsl_5)); } - return; + __retres = 0; + return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c index 543035273c4..bdefe538f1e 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_stmt_contract.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -64,13 +65,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -84,11 +92,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -252,12 +260,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -312,7 +320,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -337,7 +348,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -346,7 +359,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -360,8 +375,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -374,7 +393,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -392,7 +413,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -418,8 +441,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -445,7 +472,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -468,7 +498,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -477,7 +509,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -491,8 +525,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -505,7 +543,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -523,7 +563,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -542,21 +584,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; @@ -584,7 +629,11 @@ int main(void) x = 0; y = 2; /*@ ensures x ≡ 1; */ - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; x = 1; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + x = 1; __gmpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)1); e_acsl_3 = __gmpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -596,8 +645,13 @@ int main(void) /*@ ensures x ≡ 2; ensures y ≡ 2; */ - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; mpz_t e_acsl_7; - int e_acsl_8; x = 2; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; + mpz_t e_acsl_7; + int e_acsl_8; + x = 2; __gmpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)2); e_acsl_6 = __gmpz_cmp((__mpz_struct const *)(e_acsl_4), @@ -613,20 +667,29 @@ int main(void) } /*@ requires x ≡ 2; */ - { mpz_t e_acsl_9; mpz_t e_acsl_10; int e_acsl_11; + { + mpz_t e_acsl_9; + mpz_t e_acsl_10; + int e_acsl_11; __gmpz_init_set_si((__mpz_struct *)(e_acsl_9),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_10),(long)2); e_acsl_11 = __gmpz_cmp((__mpz_struct const *)(e_acsl_9), (__mpz_struct const *)(e_acsl_10)); if (! (e_acsl_11 == 0)) { e_acsl_fail((char *)"(x == 2)"); } __gmpz_clear((__mpz_struct *)(e_acsl_9)); - __gmpz_clear((__mpz_struct *)(e_acsl_10)); x ++; + __gmpz_clear((__mpz_struct *)(e_acsl_10)); + x ++; } /*@ requires x ≡ 3; requires y ≡ 2; */ - { mpz_t e_acsl_12; mpz_t e_acsl_13; int e_acsl_14; mpz_t e_acsl_15; - mpz_t e_acsl_16; int e_acsl_17; + { + mpz_t e_acsl_12; + mpz_t e_acsl_13; + int e_acsl_14; + mpz_t e_acsl_15; + mpz_t e_acsl_16; + int e_acsl_17; __gmpz_init_set_si((__mpz_struct *)(e_acsl_12),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_13),(long)3); e_acsl_14 = __gmpz_cmp((__mpz_struct const *)(e_acsl_12), @@ -640,7 +703,8 @@ int main(void) __gmpz_clear((__mpz_struct *)(e_acsl_12)); __gmpz_clear((__mpz_struct *)(e_acsl_13)); __gmpz_clear((__mpz_struct *)(e_acsl_15)); - __gmpz_clear((__mpz_struct *)(e_acsl_16)); x += y; + __gmpz_clear((__mpz_struct *)(e_acsl_16)); + x += y; } /*@ behavior b1: @@ -653,11 +717,25 @@ int main(void) ensures x ≡ y+1; */ - { mpz_t e_acsl_27; mpz_t e_acsl_28; int e_acsl_29; mpz_t e_acsl_30; - mpz_t e_acsl_31; mpz_t e_acsl_32; int e_acsl_33; - { mpz_t e_acsl_18; mpz_t e_acsl_19; int e_acsl_20; mpz_t e_acsl_21; - mpz_t e_acsl_22; mpz_t e_acsl_23; int e_acsl_24; mpz_t e_acsl_25; - int e_acsl_26; __gmpz_init_set_si((__mpz_struct *)(e_acsl_18),(long)x); + { + mpz_t e_acsl_27; + mpz_t e_acsl_28; + int e_acsl_29; + mpz_t e_acsl_30; + mpz_t e_acsl_31; + mpz_t e_acsl_32; + int e_acsl_33; + { + mpz_t e_acsl_18; + mpz_t e_acsl_19; + int e_acsl_20; + mpz_t e_acsl_21; + mpz_t e_acsl_22; + mpz_t e_acsl_23; + int e_acsl_24; + mpz_t e_acsl_25; + int e_acsl_26; + __gmpz_init_set_si((__mpz_struct *)(e_acsl_18),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_19),(long)5); e_acsl_20 = __gmpz_cmp((__mpz_struct const *)(e_acsl_18), (__mpz_struct const *)(e_acsl_19)); @@ -680,9 +758,11 @@ int main(void) __gmpz_clear((__mpz_struct *)(e_acsl_21)); __gmpz_clear((__mpz_struct *)(e_acsl_22)); __gmpz_clear((__mpz_struct *)(e_acsl_23)); - __gmpz_clear((__mpz_struct *)(e_acsl_25)); x = 3; + __gmpz_clear((__mpz_struct *)(e_acsl_25)); + x = 3; } - __gmpz_init_set_si((__mpz_struct *)(e_acsl_27),(long)x); + + __gmpz_init_set_si((__mpz_struct *)(e_acsl_27),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_28),(long)3); e_acsl_29 = __gmpz_cmp((__mpz_struct const *)(e_acsl_27), (__mpz_struct const *)(e_acsl_28)); @@ -713,9 +793,18 @@ int main(void) requires x+y ≡ 5; */ - { mpz_t e_acsl_34; mpz_t e_acsl_35; int e_acsl_36; int e_acsl_40; - mpz_t e_acsl_41; int e_acsl_42; int e_acsl_46; int e_acsl_50; - int e_acsl_51; int e_acsl_55; int e_acsl_61; + { + mpz_t e_acsl_34; + mpz_t e_acsl_35; + int e_acsl_36; + int e_acsl_40; + mpz_t e_acsl_41; + int e_acsl_42; + int e_acsl_46; + int e_acsl_50; + int e_acsl_51; + int e_acsl_55; + int e_acsl_61; __gmpz_init_set_si((__mpz_struct *)(e_acsl_34),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_35),(long)1); e_acsl_36 = __gmpz_cmp((__mpz_struct const *)(e_acsl_34), @@ -732,7 +821,8 @@ int main(void) e_acsl_40 = e_acsl_39 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_37)); __gmpz_clear((__mpz_struct *)(e_acsl_38)); - } if (! e_acsl_40) { e_acsl_fail((char *)"(x == 1 ==> x == 0)"); } + } + if (! e_acsl_40) { e_acsl_fail((char *)"(x == 1 ==> x == 0)"); } __gmpz_init_set_si((__mpz_struct *)(e_acsl_41),(long)3); e_acsl_42 = __gmpz_cmp((__mpz_struct const *)(e_acsl_34), (__mpz_struct const *)(e_acsl_41)); @@ -747,7 +837,9 @@ int main(void) e_acsl_46 = e_acsl_45 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_43)); __gmpz_clear((__mpz_struct *)(e_acsl_44)); - } else { e_acsl_46 = 0; } if (! e_acsl_46) { e_acsl_50 = 1; } + } + else { e_acsl_46 = 0; } + if (! e_acsl_46) { e_acsl_50 = 1; } else { mpz_t e_acsl_47; mpz_t e_acsl_48; @@ -775,7 +867,9 @@ int main(void) e_acsl_55 = e_acsl_54 == 0; __gmpz_clear((__mpz_struct *)(e_acsl_52)); __gmpz_clear((__mpz_struct *)(e_acsl_53)); - } else { e_acsl_55 = 0; } if (! e_acsl_55) { e_acsl_61 = 1; } + } + else { e_acsl_55 = 0; } + if (! e_acsl_55) { e_acsl_61 = 1; } else { mpz_t e_acsl_56; mpz_t e_acsl_57; @@ -799,13 +893,18 @@ int main(void) } if (! e_acsl_61) { e_acsl_fail((char *)"(x == 3 && y == 2 ==> x+y == 5)"); - } __gmpz_clear((__mpz_struct *)(e_acsl_34)); + } + __gmpz_clear((__mpz_struct *)(e_acsl_34)); __gmpz_clear((__mpz_struct *)(e_acsl_35)); - __gmpz_clear((__mpz_struct *)(e_acsl_41)); x += y; + __gmpz_clear((__mpz_struct *)(e_acsl_41)); + x += y; } /*@ requires x ≡ 5; */ - { mpz_t e_acsl_62; mpz_t e_acsl_63; int e_acsl_64; + { + mpz_t e_acsl_62; + mpz_t e_acsl_63; + int e_acsl_64; __gmpz_init_set_si((__mpz_struct *)(e_acsl_62),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_63),(long)5); e_acsl_64 = __gmpz_cmp((__mpz_struct const *)(e_acsl_62), @@ -814,30 +913,42 @@ int main(void) __gmpz_clear((__mpz_struct *)(e_acsl_62)); __gmpz_clear((__mpz_struct *)(e_acsl_63)); /*@ requires y ≡ 2; */ - { mpz_t e_acsl_65; mpz_t e_acsl_66; int e_acsl_67; + { + mpz_t e_acsl_65; + mpz_t e_acsl_66; + int e_acsl_67; __gmpz_init_set_si((__mpz_struct *)(e_acsl_65),(long)y); __gmpz_init_set_si((__mpz_struct *)(e_acsl_66),(long)2); e_acsl_67 = __gmpz_cmp((__mpz_struct const *)(e_acsl_65), (__mpz_struct const *)(e_acsl_66)); if (! (e_acsl_67 == 0)) { e_acsl_fail((char *)"(y == 2)"); } __gmpz_clear((__mpz_struct *)(e_acsl_65)); - __gmpz_clear((__mpz_struct *)(e_acsl_66)); x += y; + __gmpz_clear((__mpz_struct *)(e_acsl_66)); + x += y; } } /*@ requires x ≡ 7; ensures x ≡ 7; */ - { mpz_t e_acsl_71; mpz_t e_acsl_72; int e_acsl_73; - { mpz_t e_acsl_68; mpz_t e_acsl_69; int e_acsl_70; + { + mpz_t e_acsl_71; + mpz_t e_acsl_72; + int e_acsl_73; + { + mpz_t e_acsl_68; + mpz_t e_acsl_69; + int e_acsl_70; __gmpz_init_set_si((__mpz_struct *)(e_acsl_68),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_69),(long)7); e_acsl_70 = __gmpz_cmp((__mpz_struct const *)(e_acsl_68), (__mpz_struct const *)(e_acsl_69)); if (! (e_acsl_70 == 0)) { e_acsl_fail((char *)"(x == 7)"); } __gmpz_clear((__mpz_struct *)(e_acsl_68)); - __gmpz_clear((__mpz_struct *)(e_acsl_69)); __retres = 0; + __gmpz_clear((__mpz_struct *)(e_acsl_69)); + __retres = 0; } - __gmpz_init_set_si((__mpz_struct *)(e_acsl_71),(long)x); + + __gmpz_init_set_si((__mpz_struct *)(e_acsl_71),(long)x); __gmpz_init_set_si((__mpz_struct *)(e_acsl_72),(long)7); e_acsl_73 = __gmpz_cmp((__mpz_struct const *)(e_acsl_71), (__mpz_struct const *)(e_acsl_72)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c index dcdb30984f2..d24b4fa8b8b 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_true.c @@ -1,6 +1,7 @@ /* Generated by Frama-C */ typedef unsigned long size_t; typedef unsigned long mp_limb_t; +typedef unsigned long mp_bitcnt_t; struct __anonstruct___mpz_struct_6 { int _mp_alloc ; int _mp_size ; @@ -39,13 +40,20 @@ __inline static void __gmpz_neg(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2); __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); extern void __gmpz_set(mpz_ptr, mpz_srcptr); __inline static void __gmpz_set_q(mpz_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static size_t __gmpz_size(mpz_srcptr __gmp_z) __attribute__(( __pure__)); -extern void __gmpz_tdiv_q(mpz_ptr, mpz_srcptr, mpz_srcptr); +/*@ requires \valid(z1); + requires \valid(z2); + requires \valid(z3); + assigns *z1; +*/ +extern void __gmpz_tdiv_q(__mpz_struct * /*[1]*/ z1, + __mpz_struct const * /*[1]*/ z2, + __mpz_struct const * /*[1]*/ z3); __inline static void __gmpq_abs(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); __inline static void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u); extern void __gmpq_set(mpq_ptr, mpq_srcptr); @@ -59,11 +67,11 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, extern mp_limb_t __gmpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __attribute__((__pure__)); -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n); +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n); extern int __gmpn_perfect_square_p(mp_srcptr, mp_size_t) __attribute__(( __pure__)); -extern unsigned long __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( +extern mp_bitcnt_t __gmpn_popcount(mp_srcptr, mp_size_t) __attribute__(( __pure__)); __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, @@ -227,12 +235,12 @@ __inline static int __gmpz_perfect_square_p(mpz_srcptr __gmp_a) return (__gmp_result); } -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) __attribute__(( __pure__)); -__inline static unsigned long __gmpz_popcount(mpz_srcptr __gmp_u) +__inline static mp_bitcnt_t __gmpz_popcount(mpz_srcptr __gmp_u) { mp_size_t __gmp_usize; - unsigned long __gmp_result; + mp_bitcnt_t __gmp_result; long tmp; __gmp_usize = (long)__gmp_u->_mp_size; if (__gmp_usize < (mp_size_t)0) { __gmp_result = ~ ((unsigned long)0); } @@ -287,7 +295,10 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_1; tmp_1 = __gmpn_add_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -312,7 +323,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -321,7 +334,9 @@ __inline static mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -335,8 +350,12 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x + __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x + __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_r < __gmp_n) { __gmp_c = (unsigned long)1; @@ -349,7 +368,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_r < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -367,7 +388,9 @@ __inline static mp_limb_t __gmpn_add_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -393,8 +416,12 @@ __inline static int __gmpn_cmp(mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, { int __gmp_result; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_y; - __gmp_result = 0; __gmp_i = __gmp_size; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_y; + __gmp_result = 0; + __gmp_i = __gmp_size; while (1) { __gmp_i -= (mp_size_t)1; if (! (__gmp_i >= (mp_size_t)0)) { break; } @@ -420,7 +447,10 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; __gmp_i = __gmp_ysize; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + __gmp_i = __gmp_ysize; if (__gmp_i != (mp_size_t)0) { mp_limb_t tmp_0; tmp_0 = __gmpn_sub_n(__gmp_wp,__gmp_xp,__gmp_yp,__gmp_i); @@ -443,7 +473,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, } if (__gmp_wp != __gmp_xp) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_xsize) { *(__gmp_wp + __gmp_j) = *(__gmp_xp + __gmp_j); __gmp_j += (mp_size_t)1; @@ -452,7 +484,9 @@ __inline static mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, break; } - } __gmp_c = (unsigned long)0; __gmp_done: ; + } + __gmp_c = (unsigned long)0; + __gmp_done: ; } break; @@ -466,8 +500,12 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, { mp_limb_t __gmp_c; while (1) { - { mp_size_t __gmp_i; mp_limb_t __gmp_x; mp_limb_t __gmp_r; - __gmp_x = *(__gmp_src + 0); __gmp_r = __gmp_x - __gmp_n; + { + mp_size_t __gmp_i; + mp_limb_t __gmp_x; + mp_limb_t __gmp_r; + __gmp_x = *(__gmp_src + 0); + __gmp_r = __gmp_x - __gmp_n; *(__gmp_dst + 0) = __gmp_r; if (__gmp_x < __gmp_n) { __gmp_c = (unsigned long)1; @@ -480,7 +518,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, if (! (__gmp_x < (mp_limb_t)1)) { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j; __gmp_j = __gmp_i; + { + mp_size_t __gmp_j; + __gmp_j = __gmp_i; while (__gmp_j < __gmp_size) { *(__gmp_dst + __gmp_j) = *(__gmp_src + __gmp_j); __gmp_j += (mp_size_t)1; @@ -498,7 +538,9 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, else { if (__gmp_src != __gmp_dst) { while (1) { - { mp_size_t __gmp_j_0; __gmp_j_0 = (long)1; + { + mp_size_t __gmp_j_0; + __gmp_j_0 = (long)1; while (__gmp_j_0 < __gmp_size) { *(__gmp_dst + __gmp_j_0) = *(__gmp_src + __gmp_j_0); __gmp_j_0 += (mp_size_t)1; @@ -517,21 +559,24 @@ __inline static mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, return (__gmp_c); } -__inline static mp_limb_t __gmpn_neg_n(mp_ptr __gmp_rp, mp_srcptr __gmp_up, - mp_size_t __gmp_n) +__inline static mp_limb_t __gmpn_neg(mp_ptr __gmp_rp, mp_srcptr __gmp_up, + mp_size_t __gmp_n) { mp_limb_t __gmp_ul; mp_limb_t __gmp_cy; __gmp_cy = (unsigned long)0; while (1) { - { mp_srcptr tmp; mp_ptr tmp_0; + { + mp_srcptr tmp; + mp_ptr tmp_0; { /*undefined sequence*/ tmp = __gmp_up; __gmp_up ++; __gmp_ul = *tmp; } { /*undefined sequence*/ tmp_0 = __gmp_rp; __gmp_rp ++; *tmp_0 = - __gmp_ul - __gmp_cy; - } __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); + } + __gmp_cy |= (unsigned long)(__gmp_ul != (mp_limb_t)0); } __gmp_n -= (mp_size_t)1; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle index 0386082a1df..a43ccbfae6c 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/integer_constant.res.oracle @@ -6,16 +6,16 @@ PROJECT_FILE.i:135:[value] Assertion got status valid. PROJECT_FILE.i:139:[value] Assertion got status valid. PROJECT_FILE.i:142:[value] Assertion got status valid. [value] computing for function mpz_init_set_str <- main. - Called from PROJECT_FILE.i:144. + Called from PROJECT_FILE.i:146. PROJECT_FILE.i:37:[value] Function mpz_init_set_str: postcondition got status valid. [value] Done for function mpz_init_set_str [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:145. + Called from PROJECT_FILE.i:147. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:147. + Called from PROJECT_FILE.i:149. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -26,7 +26,7 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:148. + Called from PROJECT_FILE.i:151. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear [value] Recording results for main @@ -80,13 +80,16 @@ int main(void) /*@ assert 0 ≢ 1; */ ; if (! (0 != 1)) { e_acsl_fail((char *)"(0 != 1)"); } /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */ ; - { mpz_t e_acsl_1; int e_acsl_2; + { + mpz_t e_acsl_1; + int e_acsl_2; mpz_init_set_str((__mpz_struct *)(e_acsl_1),"1152921504606846975",10); e_acsl_2 = mpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_1)); if (! (e_acsl_2 == 0)) { e_acsl_fail((char *)"(1152921504606846975 == 0xfffffffffffffff)"); - } mpz_clear((__mpz_struct *)(e_acsl_1)); + } + mpz_clear((__mpz_struct *)(e_acsl_1)); } __retres = 0; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle index 3f60a357129..18fd2c7eeb3 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/lazy.res.oracle @@ -4,36 +4,36 @@ [value] Values of globals at initialization PROJECT_FILE.i:138:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:144. PROJECT_FILE.i:33:[value] Function mpz_init_set_si: postcondition got status valid. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:145. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:141. + Called from PROJECT_FILE.i:146. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:146. + Called from PROJECT_FILE.i:151. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:147. + Called from PROJECT_FILE.i:152. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:148. + Called from PROJECT_FILE.i:153. [value] Done for function mpz_cmp -PROJECT_FILE.i:149:[value] assigning non deterministic value for the first time +PROJECT_FILE.i:154:[value] assigning non deterministic value for the first time [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:150. + Called from PROJECT_FILE.i:155. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:151. + Called from PROJECT_FILE.i:156. [value] Done for function mpz_clear [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:153. + Called from PROJECT_FILE.i:159. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -44,58 +44,58 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:154. + Called from PROJECT_FILE.i:160. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:154. + Called from PROJECT_FILE.i:161. [value] Done for function mpz_clear -PROJECT_FILE.i:157:[value] Assertion got status valid. +PROJECT_FILE.i:165:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:159. + Called from PROJECT_FILE.i:171. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:159. + Called from PROJECT_FILE.i:172. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:160. + Called from PROJECT_FILE.i:173. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:166. + Called from PROJECT_FILE.i:179. [value] Done for function mpz_init_set_si -PROJECT_FILE.i:167:[value] Assertion got status invalid (stopping propagation). +PROJECT_FILE.i:180:[value] Assertion got status invalid (stopping propagation). [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:177. + Called from PROJECT_FILE.i:191. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:177. + Called from PROJECT_FILE.i:192. [value] Done for function mpz_clear -PROJECT_FILE.i:180:[value] Assertion got status valid. +PROJECT_FILE.i:196:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:182. + Called from PROJECT_FILE.i:202. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:182. + Called from PROJECT_FILE.i:203. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:183. + Called from PROJECT_FILE.i:204. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:189. + Called from PROJECT_FILE.i:210. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:190. + Called from PROJECT_FILE.i:211. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:191. + Called from PROJECT_FILE.i:212. [value] Done for function mpz_cmp [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:193. + Called from PROJECT_FILE.i:214. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:194. + Called from PROJECT_FILE.i:215. [value] Done for function mpz_clear [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:195. + Called from PROJECT_FILE.i:217. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -105,58 +105,58 @@ PROJECT_FILE.i:180:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:196. + Called from PROJECT_FILE.i:218. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:196. + Called from PROJECT_FILE.i:219. [value] Done for function mpz_clear -PROJECT_FILE.i:199:[value] Assertion got status valid. +PROJECT_FILE.i:223:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:201. + Called from PROJECT_FILE.i:229. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:201. + Called from PROJECT_FILE.i:230. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:202. + Called from PROJECT_FILE.i:231. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:209. + Called from PROJECT_FILE.i:238. [value] Done for function mpz_init_set_si -PROJECT_FILE.i:210:[value] Assertion got status invalid (stopping propagation). +PROJECT_FILE.i:239:[value] Assertion got status invalid (stopping propagation). [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:219. + Called from PROJECT_FILE.i:249. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:219. + Called from PROJECT_FILE.i:250. [value] Done for function mpz_clear -PROJECT_FILE.i:222:[value] Assertion got status valid. +PROJECT_FILE.i:254:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:224. + Called from PROJECT_FILE.i:260. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:224. + Called from PROJECT_FILE.i:261. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:225. + Called from PROJECT_FILE.i:262. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:231. + Called from PROJECT_FILE.i:268. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:232. + Called from PROJECT_FILE.i:269. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:233. + Called from PROJECT_FILE.i:270. [value] Done for function mpz_cmp [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:235. + Called from PROJECT_FILE.i:272. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:236. + Called from PROJECT_FILE.i:273. [value] Done for function mpz_clear [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:237. + Called from PROJECT_FILE.i:275. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -166,30 +166,30 @@ PROJECT_FILE.i:222:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:238. + Called from PROJECT_FILE.i:276. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:238. + Called from PROJECT_FILE.i:277. [value] Done for function mpz_clear -PROJECT_FILE.i:241:[value] Assertion got status valid. +PROJECT_FILE.i:281:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:243. + Called from PROJECT_FILE.i:287. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:243. + Called from PROJECT_FILE.i:288. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:244. + Called from PROJECT_FILE.i:289. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:251. + Called from PROJECT_FILE.i:296. [value] Done for function mpz_init_set_si -PROJECT_FILE.i:252:[value] Assertion got status invalid (stopping propagation). +PROJECT_FILE.i:297:[value] Assertion got status invalid (stopping propagation). [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:261. + Called from PROJECT_FILE.i:307. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:261. + Called from PROJECT_FILE.i:308. [value] Done for function mpz_clear [value] Recording results for main [value] done for function main @@ -241,7 +241,11 @@ int main(void) x = 0; y = 1; /*@ assert x ≡ 0 ∧ y ≡ 1; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; int e_acsl_7; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + int e_acsl_7; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)0); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -257,14 +261,19 @@ int main(void) e_acsl_7 = e_acsl_6 == 0; mpz_clear((__mpz_struct *)(e_acsl_4)); mpz_clear((__mpz_struct *)(e_acsl_5)); - } else { e_acsl_7 = 0; } + } + else { e_acsl_7 = 0; } if (! e_acsl_7) { e_acsl_fail((char *)"(x == 0 && y == 1)"); } mpz_clear((__mpz_struct *)(e_acsl_1)); mpz_clear((__mpz_struct *)(e_acsl_2)); } /*@ assert ¬(x ≢ 0 ∧ y ≡ 1/0); */ ; - { mpz_t e_acsl_8; mpz_t e_acsl_9; int e_acsl_10; int e_acsl_15; + { + mpz_t e_acsl_8; + mpz_t e_acsl_9; + int e_acsl_10; + int e_acsl_15; mpz_init_set_si((__mpz_struct *)(e_acsl_8),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_9),(long)0); e_acsl_10 = mpz_cmp((__mpz_struct const *)(e_acsl_8), @@ -284,14 +293,19 @@ int main(void) e_acsl_15 = e_acsl_14 == 0; mpz_clear((__mpz_struct *)(e_acsl_11)); mpz_clear((__mpz_struct *)(e_acsl_13)); - } else { e_acsl_15 = 0; } + } + else { e_acsl_15 = 0; } if (! (! e_acsl_15)) { e_acsl_fail((char *)"(!(x != 0 && y == 1/0))"); } mpz_clear((__mpz_struct *)(e_acsl_8)); mpz_clear((__mpz_struct *)(e_acsl_9)); } /*@ assert y ≡ 1 ∨ x ≡ 1; */ ; - { mpz_t e_acsl_16; mpz_t e_acsl_17; int e_acsl_18; int e_acsl_22; + { + mpz_t e_acsl_16; + mpz_t e_acsl_17; + int e_acsl_18; + int e_acsl_22; mpz_init_set_si((__mpz_struct *)(e_acsl_16),(long)y); mpz_init_set_si((__mpz_struct *)(e_acsl_17),(long)1); e_acsl_18 = mpz_cmp((__mpz_struct const *)(e_acsl_16), @@ -308,13 +322,18 @@ int main(void) e_acsl_22 = e_acsl_21 == 0; mpz_clear((__mpz_struct *)(e_acsl_19)); mpz_clear((__mpz_struct *)(e_acsl_20)); - } if (! e_acsl_22) { e_acsl_fail((char *)"(y == 1 || x == 1)"); } + } + if (! e_acsl_22) { e_acsl_fail((char *)"(y == 1 || x == 1)"); } mpz_clear((__mpz_struct *)(e_acsl_16)); mpz_clear((__mpz_struct *)(e_acsl_17)); } /*@ assert x ≡ 0 ∨ y ≡ 1/0; */ ; - { mpz_t e_acsl_23; mpz_t e_acsl_24; int e_acsl_25; int e_acsl_30; + { + mpz_t e_acsl_23; + mpz_t e_acsl_24; + int e_acsl_25; + int e_acsl_30; mpz_init_set_si((__mpz_struct *)(e_acsl_23),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_24),(long)0); e_acsl_25 = mpz_cmp((__mpz_struct const *)(e_acsl_23), @@ -335,13 +354,18 @@ int main(void) e_acsl_30 = e_acsl_29 == 0; mpz_clear((__mpz_struct *)(e_acsl_26)); mpz_clear((__mpz_struct *)(e_acsl_28)); - } if (! e_acsl_30) { e_acsl_fail((char *)"(x == 0 || y == 1/0)"); } + } + if (! e_acsl_30) { e_acsl_fail((char *)"(x == 0 || y == 1/0)"); } mpz_clear((__mpz_struct *)(e_acsl_23)); mpz_clear((__mpz_struct *)(e_acsl_24)); } /*@ assert x ≡ 0 ⇒ y ≡ 1; */ ; - { mpz_t e_acsl_31; mpz_t e_acsl_32; int e_acsl_33; int e_acsl_37; + { + mpz_t e_acsl_31; + mpz_t e_acsl_32; + int e_acsl_33; + int e_acsl_37; mpz_init_set_si((__mpz_struct *)(e_acsl_31),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_32),(long)0); e_acsl_33 = mpz_cmp((__mpz_struct const *)(e_acsl_31), @@ -358,13 +382,18 @@ int main(void) e_acsl_37 = e_acsl_36 == 0; mpz_clear((__mpz_struct *)(e_acsl_34)); mpz_clear((__mpz_struct *)(e_acsl_35)); - } if (! e_acsl_37) { e_acsl_fail((char *)"(x == 0 ==> y == 1)"); } + } + if (! e_acsl_37) { e_acsl_fail((char *)"(x == 0 ==> y == 1)"); } mpz_clear((__mpz_struct *)(e_acsl_31)); mpz_clear((__mpz_struct *)(e_acsl_32)); } /*@ assert x ≡ 1 ⇒ y ≡ 1/0; */ ; - { mpz_t e_acsl_38; mpz_t e_acsl_39; int e_acsl_40; int e_acsl_45; + { + mpz_t e_acsl_38; + mpz_t e_acsl_39; + int e_acsl_40; + int e_acsl_45; mpz_init_set_si((__mpz_struct *)(e_acsl_38),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_39),(long)1); e_acsl_40 = mpz_cmp((__mpz_struct const *)(e_acsl_38), @@ -385,7 +414,8 @@ int main(void) e_acsl_45 = e_acsl_44 == 0; mpz_clear((__mpz_struct *)(e_acsl_41)); mpz_clear((__mpz_struct *)(e_acsl_43)); - } if (! e_acsl_45) { e_acsl_fail((char *)"(x == 1 ==> y == 1/0)"); } + } + if (! e_acsl_45) { e_acsl_fail((char *)"(x == 1 ==> y == 1/0)"); } mpz_clear((__mpz_struct *)(e_acsl_38)); mpz_clear((__mpz_struct *)(e_acsl_39)); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle index 605d62c12fb..b371921de35 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/nested_code_annot.res.oracle @@ -4,19 +4,19 @@ [value] Values of globals at initialization PROJECT_FILE.i:138:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:145. + Called from PROJECT_FILE.i:151. PROJECT_FILE.i:33:[value] Function mpz_init_set_si: postcondition got status valid. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:145. + Called from PROJECT_FILE.i:152. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:146. + Called from PROJECT_FILE.i:153. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:147. + Called from PROJECT_FILE.i:154. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -27,23 +27,23 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:148. + Called from PROJECT_FILE.i:155. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:148. + Called from PROJECT_FILE.i:156. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:157. + Called from PROJECT_FILE.i:172. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:157. + Called from PROJECT_FILE.i:173. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:158. + Called from PROJECT_FILE.i:174. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:159. + Called from PROJECT_FILE.i:175. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -53,22 +53,22 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:160. + Called from PROJECT_FILE.i:176. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:160. + Called from PROJECT_FILE.i:177. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:162. + Called from PROJECT_FILE.i:181. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:162. + Called from PROJECT_FILE.i:182. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:163. + Called from PROJECT_FILE.i:183. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:164. + Called from PROJECT_FILE.i:184. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -78,22 +78,22 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:165. + Called from PROJECT_FILE.i:185. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:165. + Called from PROJECT_FILE.i:186. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:173. + Called from PROJECT_FILE.i:200. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:173. + Called from PROJECT_FILE.i:201. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:174. + Called from PROJECT_FILE.i:202. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:175. + Called from PROJECT_FILE.i:203. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -103,22 +103,22 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:176. + Called from PROJECT_FILE.i:204. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:176. + Called from PROJECT_FILE.i:205. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:178. + Called from PROJECT_FILE.i:209. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:178. + Called from PROJECT_FILE.i:210. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:179. + Called from PROJECT_FILE.i:211. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:180. + Called from PROJECT_FILE.i:212. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -128,22 +128,22 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:181. + Called from PROJECT_FILE.i:213. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:181. + Called from PROJECT_FILE.i:214. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:190. + Called from PROJECT_FILE.i:225. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:190. + Called from PROJECT_FILE.i:226. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:191. + Called from PROJECT_FILE.i:227. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:192. + Called from PROJECT_FILE.i:228. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -153,10 +153,10 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:193. + Called from PROJECT_FILE.i:229. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:193. + Called from PROJECT_FILE.i:230. [value] Done for function mpz_clear [value] Recording results for main [value] done for function main @@ -211,8 +211,14 @@ int main(void) if (! (x < y)) { e_acsl_fail((char *)"(x < y)"); } /*@ requires x ≡ 0; ensures x ≥ 1; */ - { mpz_t e_acsl_16; mpz_t e_acsl_17; int e_acsl_18; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_16; + mpz_t e_acsl_17; + int e_acsl_18; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)0); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -220,21 +226,31 @@ int main(void) if (! (e_acsl_3 == 0)) { e_acsl_fail((char *)"(x == 0)"); } mpz_clear((__mpz_struct *)(e_acsl_1)); mpz_clear((__mpz_struct *)(e_acsl_2)); - if (x) { /*@ assert \false; */ ; e_acsl_fail((char *)"(\\false)"); } + if (x) { + /*@ assert \false; */ ; + e_acsl_fail((char *)"(\\false)"); } else { /*@ requires x ≡ 0; ensures x ≡ 1; */ - { mpz_t e_acsl_7; mpz_t e_acsl_8; int e_acsl_9; - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_7; + mpz_t e_acsl_8; + int e_acsl_9; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; mpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)0); e_acsl_6 = mpz_cmp((__mpz_struct const *)(e_acsl_4), (__mpz_struct const *)(e_acsl_5)); if (! (e_acsl_6 == 0)) { e_acsl_fail((char *)"(x == 0)"); } mpz_clear((__mpz_struct *)(e_acsl_4)); - mpz_clear((__mpz_struct *)(e_acsl_5)); x ++; + mpz_clear((__mpz_struct *)(e_acsl_5)); + x ++; } - mpz_init_set_si((__mpz_struct *)(e_acsl_7),(long)x); + + mpz_init_set_si((__mpz_struct *)(e_acsl_7),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_8),(long)1); e_acsl_9 = mpz_cmp((__mpz_struct const *)(e_acsl_7), (__mpz_struct const *)(e_acsl_8)); @@ -246,17 +262,25 @@ int main(void) if (x) { /*@ requires x ≡ 1; ensures x ≡ 2; */ - { mpz_t e_acsl_13; mpz_t e_acsl_14; int e_acsl_15; - { mpz_t e_acsl_10; mpz_t e_acsl_11; int e_acsl_12; + { + mpz_t e_acsl_13; + mpz_t e_acsl_14; + int e_acsl_15; + { + mpz_t e_acsl_10; + mpz_t e_acsl_11; + int e_acsl_12; mpz_init_set_si((__mpz_struct *)(e_acsl_10),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_11),(long)1); e_acsl_12 = mpz_cmp((__mpz_struct const *)(e_acsl_10), (__mpz_struct const *)(e_acsl_11)); if (! (e_acsl_12 == 0)) { e_acsl_fail((char *)"(x == 1)"); } mpz_clear((__mpz_struct *)(e_acsl_10)); - mpz_clear((__mpz_struct *)(e_acsl_11)); x ++; + mpz_clear((__mpz_struct *)(e_acsl_11)); + x ++; } - mpz_init_set_si((__mpz_struct *)(e_acsl_13),(long)x); + + mpz_init_set_si((__mpz_struct *)(e_acsl_13),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_14),(long)2); e_acsl_15 = mpz_cmp((__mpz_struct const *)(e_acsl_13), (__mpz_struct const *)(e_acsl_14)); @@ -266,10 +290,13 @@ int main(void) } } - else { /*@ assert \false; */ ; e_acsl_fail((char *)"(\\false)"); } + else { + /*@ assert \false; */ ; + e_acsl_fail((char *)"(\\false)"); } } } - mpz_init_set_si((__mpz_struct *)(e_acsl_16),(long)x); + + mpz_init_set_si((__mpz_struct *)(e_acsl_16),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_17),(long)1); e_acsl_18 = mpz_cmp((__mpz_struct const *)(e_acsl_16), (__mpz_struct const *)(e_acsl_17)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle index 18d92acc275..9dd5837b9b3 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/other_constants.res.oracle @@ -5,16 +5,16 @@ PROJECT_FILE.i:138:[value] Assertion got status unknown. PROJECT_FILE.i:141:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:142. + Called from PROJECT_FILE.i:145. PROJECT_FILE.i:33:[value] Function mpz_init_set_si: postcondition got status valid. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:143. + Called from PROJECT_FILE.i:146. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:144. + Called from PROJECT_FILE.i:147. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -25,10 +25,10 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:145. + Called from PROJECT_FILE.i:148. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear -PROJECT_FILE.i:148:[value] Assertion got status valid. +PROJECT_FILE.i:152:[value] Assertion got status valid. [value] Recording results for main [value] done for function main [value] ====== VALUES COMPUTED ====== @@ -80,7 +80,9 @@ int main(void) if (! ("toto" != "titi")) { e_acsl_fail((char *)"(\"toto\" != \"titi\")"); } /*@ assert 'c' ≡ 'c'; */ ; - { mpz_t e_acsl_1; int e_acsl_2; + { + mpz_t e_acsl_1; + int e_acsl_2; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)'c'); e_acsl_2 = mpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_1)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle index 24f4c27dc2a..ec9898e4f3b 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/ptr.res.oracle @@ -16,19 +16,19 @@ tests/e-acsl-runtime/ptr.i:26:[e-acsl] warning: missing guard for ensuring that [value] Values of globals at initialization PROJECT_FILE.i:142:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:144. + Called from PROJECT_FILE.i:147. PROJECT_FILE.i:33:[value] Function mpz_init_set_si: postcondition got status valid. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:144. + Called from PROJECT_FILE.i:148. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:145. + Called from PROJECT_FILE.i:149. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:146. + Called from PROJECT_FILE.i:150. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -39,24 +39,24 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:146. + Called from PROJECT_FILE.i:151. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:147. + Called from PROJECT_FILE.i:152. [value] Done for function mpz_clear -PROJECT_FILE.i:150:[value] Assertion got status valid. +PROJECT_FILE.i:156:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:152. + Called from PROJECT_FILE.i:161. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:152. + Called from PROJECT_FILE.i:162. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:153. + Called from PROJECT_FILE.i:163. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:154. + Called from PROJECT_FILE.i:164. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -66,23 +66,23 @@ PROJECT_FILE.i:150:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:155. + Called from PROJECT_FILE.i:165. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:155. + Called from PROJECT_FILE.i:166. [value] Done for function mpz_clear -PROJECT_FILE.i:158:[value] Assertion got status valid. +PROJECT_FILE.i:170:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:160. + Called from PROJECT_FILE.i:175. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:160. + Called from PROJECT_FILE.i:176. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:161. + Called from PROJECT_FILE.i:177. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:162. + Called from PROJECT_FILE.i:178. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -92,43 +92,43 @@ PROJECT_FILE.i:158:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:163. + Called from PROJECT_FILE.i:179. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:163. + Called from PROJECT_FILE.i:180. [value] Done for function mpz_clear -PROJECT_FILE.i:166:[value] Assertion got status valid. +PROJECT_FILE.i:184:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:170. + Called from PROJECT_FILE.i:197. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:170. + Called from PROJECT_FILE.i:198. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:171. + Called from PROJECT_FILE.i:199. PROJECT_FILE.i:21:[value] Function mpz_init: postcondition got status valid. [value] Done for function mpz_init [value] computing for function mpz_mul <- main. - Called from PROJECT_FILE.i:171. + Called from PROJECT_FILE.i:200. PROJECT_FILE.i:76:[value] Function mpz_mul: precondition got status valid. PROJECT_FILE.i:77:[value] Function mpz_mul: precondition got status valid. PROJECT_FILE.i:78:[value] Function mpz_mul: precondition got status valid. [value] Done for function mpz_mul [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:172. + Called from PROJECT_FILE.i:201. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:172. + Called from PROJECT_FILE.i:202. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:173. + Called from PROJECT_FILE.i:203. [value] Done for function mpz_cmp [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:173. + Called from PROJECT_FILE.i:204. [value] Done for function mpz_init -PROJECT_FILE.i:174:[value] Assertion got status valid. +PROJECT_FILE.i:205:[value] Assertion got status valid. [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:175. + Called from PROJECT_FILE.i:206. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -137,29 +137,29 @@ PROJECT_FILE.i:174:[value] Assertion got status valid. [value] Done for function exit [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail -[value] computing for function mpz_cdiv_q <- main. - Called from PROJECT_FILE.i:176. -PROJECT_FILE.i:82:[value] Function mpz_cdiv_q: precondition got status valid. -PROJECT_FILE.i:83:[value] Function mpz_cdiv_q: precondition got status valid. -PROJECT_FILE.i:84:[value] Function mpz_cdiv_q: precondition got status valid. -[value] Done for function mpz_cdiv_q +[value] computing for function mpz_tdiv_q <- main. + Called from PROJECT_FILE.i:207. +PROJECT_FILE.i:82:[value] Function mpz_tdiv_q: precondition got status valid. +PROJECT_FILE.i:83:[value] Function mpz_tdiv_q: precondition got status valid. +PROJECT_FILE.i:84:[value] Function mpz_tdiv_q: precondition got status valid. +[value] Done for function mpz_tdiv_q [value] computing for function mpz_get_si <- main. - Called from PROJECT_FILE.i:177. + Called from PROJECT_FILE.i:208. PROJECT_FILE.i:96:[value] Function mpz_get_si: precondition got status valid. [value] Done for function mpz_get_si -PROJECT_FILE.i:178:[kernel] warning: accessing out of bounds index [-2147483648..2147483647]. +PROJECT_FILE.i:209:[kernel] warning: accessing out of bounds index [-2147483648..2147483647]. assert 0 ≤ e_acsl_17 ∧ e_acsl_17 < 3; [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:178. + Called from PROJECT_FILE.i:209. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:178. + Called from PROJECT_FILE.i:210. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:179. + Called from PROJECT_FILE.i:211. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:181. + Called from PROJECT_FILE.i:213. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -169,54 +169,54 @@ PROJECT_FILE.i:178:[kernel] warning: accessing out of bounds index [-2147483648. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:182. + Called from PROJECT_FILE.i:215. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:182. + Called from PROJECT_FILE.i:216. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:182. + Called from PROJECT_FILE.i:217. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:183. + Called from PROJECT_FILE.i:218. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:183. + Called from PROJECT_FILE.i:219. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:183. + Called from PROJECT_FILE.i:220. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:184. + Called from PROJECT_FILE.i:221. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:184. + Called from PROJECT_FILE.i:222. [value] Done for function mpz_clear -PROJECT_FILE.i:188:[value] entering loop for the first time -PROJECT_FILE.i:190:[value] Assertion got status valid. +PROJECT_FILE.i:229:[value] entering loop for the first time +PROJECT_FILE.i:232:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:192. + Called from PROJECT_FILE.i:239. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:193. + Called from PROJECT_FILE.i:240. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:193. + Called from PROJECT_FILE.i:241. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:194. + Called from PROJECT_FILE.i:242. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:194. + Called from PROJECT_FILE.i:243. PROJECT_FILE.i:64:[value] Function mpz_add: precondition got status valid. PROJECT_FILE.i:65:[value] Function mpz_add: precondition got status valid. PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Done for function mpz_add [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:195. + Called from PROJECT_FILE.i:244. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:196. + Called from PROJECT_FILE.i:245. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -226,55 +226,55 @@ PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:246. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:247. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:248. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:198. + Called from PROJECT_FILE.i:249. [value] Done for function mpz_clear -PROJECT_FILE.i:201:[value] Assertion got status valid. +PROJECT_FILE.i:253:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:204. + Called from PROJECT_FILE.i:263. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:204. + Called from PROJECT_FILE.i:264. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:205. + Called from PROJECT_FILE.i:265. [value] Done for function mpz_init [value] computing for function mpz_sub <- main. - Called from PROJECT_FILE.i:205. + Called from PROJECT_FILE.i:266. PROJECT_FILE.i:70:[value] Function mpz_sub: precondition got status valid. PROJECT_FILE.i:71:[value] Function mpz_sub: precondition got status valid. PROJECT_FILE.i:72:[value] Function mpz_sub: precondition got status valid. [value] Done for function mpz_sub [value] computing for function mpz_get_si <- main. - Called from PROJECT_FILE.i:206. + Called from PROJECT_FILE.i:267. [value] Done for function mpz_get_si -PROJECT_FILE.i:207:[kernel] warning: accessing out of bounds index [-2147483648..2147483647]. +PROJECT_FILE.i:268:[kernel] warning: accessing out of bounds index [-2147483648..2147483647]. assert 0 ≤ e_acsl_29 ∧ e_acsl_29 < 3; [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:207. + Called from PROJECT_FILE.i:268. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:208. + Called from PROJECT_FILE.i:269. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:208. + Called from PROJECT_FILE.i:270. [value] Done for function mpz_init [value] computing for function mpz_sub <- main. - Called from PROJECT_FILE.i:209. + Called from PROJECT_FILE.i:271. [value] Done for function mpz_sub [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:210. + Called from PROJECT_FILE.i:272. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:211. + Called from PROJECT_FILE.i:273. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -284,44 +284,44 @@ PROJECT_FILE.i:207:[kernel] warning: accessing out of bounds index [-2147483648. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:274. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:275. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:276. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:213. + Called from PROJECT_FILE.i:277. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:213. + Called from PROJECT_FILE.i:278. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:213. + Called from PROJECT_FILE.i:279. [value] Done for function mpz_clear -PROJECT_FILE.i:216:[value] Assertion got status valid. +PROJECT_FILE.i:283:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:218. + Called from PROJECT_FILE.i:290. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:219. + Called from PROJECT_FILE.i:291. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:219. + Called from PROJECT_FILE.i:292. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:220. + Called from PROJECT_FILE.i:293. [value] Done for function mpz_init [value] computing for function mpz_sub <- main. - Called from PROJECT_FILE.i:220. + Called from PROJECT_FILE.i:294. [value] Done for function mpz_sub [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:221. + Called from PROJECT_FILE.i:295. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:222. + Called from PROJECT_FILE.i:296. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -331,38 +331,38 @@ PROJECT_FILE.i:216:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:223. + Called from PROJECT_FILE.i:297. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:223. + Called from PROJECT_FILE.i:298. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:223. + Called from PROJECT_FILE.i:299. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:224. + Called from PROJECT_FILE.i:300. [value] Done for function mpz_clear -PROJECT_FILE.i:190:[value] Assertion got status unknown. +PROJECT_FILE.i:232:[value] Assertion got status unknown. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:192. + Called from PROJECT_FILE.i:239. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:193. + Called from PROJECT_FILE.i:240. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:193. + Called from PROJECT_FILE.i:241. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:194. + Called from PROJECT_FILE.i:242. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:194. + Called from PROJECT_FILE.i:243. [value] Done for function mpz_add [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:195. + Called from PROJECT_FILE.i:244. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:196. + Called from PROJECT_FILE.i:245. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -372,51 +372,51 @@ PROJECT_FILE.i:190:[value] Assertion got status unknown. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:246. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:247. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:248. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:198. + Called from PROJECT_FILE.i:249. [value] Done for function mpz_clear -PROJECT_FILE.i:201:[value] Assertion got status unknown. +PROJECT_FILE.i:253:[value] Assertion got status unknown. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:204. + Called from PROJECT_FILE.i:263. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:204. + Called from PROJECT_FILE.i:264. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:205. + Called from PROJECT_FILE.i:265. [value] Done for function mpz_init [value] computing for function mpz_sub <- main. - Called from PROJECT_FILE.i:205. + Called from PROJECT_FILE.i:266. [value] Done for function mpz_sub [value] computing for function mpz_get_si <- main. - Called from PROJECT_FILE.i:206. + Called from PROJECT_FILE.i:267. [value] Done for function mpz_get_si -PROJECT_FILE.i:207:[value] Assertion got status unknown. +PROJECT_FILE.i:268:[value] Assertion got status unknown. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:207. + Called from PROJECT_FILE.i:268. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:208. + Called from PROJECT_FILE.i:269. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:208. + Called from PROJECT_FILE.i:270. [value] Done for function mpz_init [value] computing for function mpz_sub <- main. - Called from PROJECT_FILE.i:209. + Called from PROJECT_FILE.i:271. [value] Done for function mpz_sub [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:210. + Called from PROJECT_FILE.i:272. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:211. + Called from PROJECT_FILE.i:273. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -426,44 +426,44 @@ PROJECT_FILE.i:207:[value] Assertion got status unknown. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:274. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:275. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:276. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:213. + Called from PROJECT_FILE.i:277. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:213. + Called from PROJECT_FILE.i:278. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:213. + Called from PROJECT_FILE.i:279. [value] Done for function mpz_clear -PROJECT_FILE.i:216:[value] Assertion got status unknown. +PROJECT_FILE.i:283:[value] Assertion got status unknown. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:218. + Called from PROJECT_FILE.i:290. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:219. + Called from PROJECT_FILE.i:291. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:219. + Called from PROJECT_FILE.i:292. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:220. + Called from PROJECT_FILE.i:293. [value] Done for function mpz_init [value] computing for function mpz_sub <- main. - Called from PROJECT_FILE.i:220. + Called from PROJECT_FILE.i:294. [value] Done for function mpz_sub [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:221. + Called from PROJECT_FILE.i:295. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:222. + Called from PROJECT_FILE.i:296. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -473,30 +473,30 @@ PROJECT_FILE.i:216:[value] Assertion got status unknown. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:223. + Called from PROJECT_FILE.i:297. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:223. + Called from PROJECT_FILE.i:298. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:223. + Called from PROJECT_FILE.i:299. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:224. + Called from PROJECT_FILE.i:300. [value] Done for function mpz_clear -PROJECT_FILE.i:227:[value] assigning non deterministic value for the first time -PROJECT_FILE.i:233:[value] Assertion got status valid. +PROJECT_FILE.i:304:[value] assigning non deterministic value for the first time +PROJECT_FILE.i:310:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:235. + Called from PROJECT_FILE.i:315. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:235. + Called from PROJECT_FILE.i:316. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:236. + Called from PROJECT_FILE.i:317. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:237. + Called from PROJECT_FILE.i:318. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -506,10 +506,10 @@ PROJECT_FILE.i:233:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:238. + Called from PROJECT_FILE.i:319. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:238. + Called from PROJECT_FILE.i:320. [value] Done for function mpz_clear [value] Recording results for main [value] done for function main @@ -575,7 +575,7 @@ extern void mpz_mul(__mpz_struct * /*[1]*/ z1, requires \valid(z3); assigns *z1; */ -extern void mpz_cdiv_q(__mpz_struct * /*[1]*/ z1, +extern void mpz_tdiv_q(__mpz_struct * /*[1]*/ z1, __mpz_struct const * /*[1]*/ z2, __mpz_struct const * /*[1]*/ z3); /*@ requires \valid(z); @@ -606,7 +606,10 @@ int main(void) t[2] = 4; p = & x; /*@ assert *p ≡ 1; */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)*p); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)1); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -617,7 +620,10 @@ int main(void) } /*@ assert t[0] ≡ 2; */ ; - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; mpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)t[0]); mpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)2); e_acsl_6 = mpz_cmp((__mpz_struct const *)(e_acsl_4), @@ -628,7 +634,10 @@ int main(void) } /*@ assert t[2] ≡ 4; */ ; - { mpz_t e_acsl_7; mpz_t e_acsl_8; int e_acsl_9; + { + mpz_t e_acsl_7; + mpz_t e_acsl_8; + int e_acsl_9; mpz_init_set_si((__mpz_struct *)(e_acsl_7),(long)t[2]); mpz_init_set_si((__mpz_struct *)(e_acsl_8),(long)4); e_acsl_9 = mpz_cmp((__mpz_struct const *)(e_acsl_7), @@ -639,9 +648,18 @@ int main(void) } /*@ assert t[(2*sizeof(int))/sizeof((int)0x0)] ≡ 4; */ ; - { mpz_t e_acsl_10; mpz_t e_acsl_11; mpz_t e_acsl_12; mpz_t e_acsl_13; - mpz_t e_acsl_14; int e_acsl_15; mpz_t e_acsl_16; int e_acsl_17; - mpz_t e_acsl_18; mpz_t e_acsl_19; int e_acsl_20; + { + mpz_t e_acsl_10; + mpz_t e_acsl_11; + mpz_t e_acsl_12; + mpz_t e_acsl_13; + mpz_t e_acsl_14; + int e_acsl_15; + mpz_t e_acsl_16; + int e_acsl_17; + mpz_t e_acsl_18; + mpz_t e_acsl_19; + int e_acsl_20; mpz_init_set_si((__mpz_struct *)(e_acsl_10),(long)2); mpz_init_set_si((__mpz_struct *)(e_acsl_11),(long)4); mpz_init((__mpz_struct *)(e_acsl_12)); @@ -654,7 +672,7 @@ int main(void) mpz_init((__mpz_struct *)(e_acsl_16)); /*@ assert sizeof((int)0x0) ≢ 0; */ ; if (e_acsl_15 == 0) { e_acsl_fail((char *)"(sizeof((int)0x0) == 0)"); } - mpz_cdiv_q((__mpz_struct *)(e_acsl_16),(__mpz_struct const *)(e_acsl_12), + mpz_tdiv_q((__mpz_struct *)(e_acsl_16),(__mpz_struct const *)(e_acsl_12), (__mpz_struct const *)(e_acsl_13)); e_acsl_17 = (int)mpz_get_si((__mpz_struct const *)(e_acsl_16)); /*@ assert 0 ≤ e_acsl_17 ∧ e_acsl_17 < 3; @@ -666,7 +684,8 @@ int main(void) (__mpz_struct const *)(e_acsl_19)); if (! (e_acsl_20 == 0)) { e_acsl_fail((char *)"(t[(2*sizeof(int))/sizeof((int)0x0)] == 4)"); - } mpz_clear((__mpz_struct *)(e_acsl_10)); + } + mpz_clear((__mpz_struct *)(e_acsl_10)); mpz_clear((__mpz_struct *)(e_acsl_11)); mpz_clear((__mpz_struct *)(e_acsl_12)); mpz_clear((__mpz_struct *)(e_acsl_13)); @@ -676,11 +695,17 @@ int main(void) mpz_clear((__mpz_struct *)(e_acsl_19)); } - { int i; i = 0; + { + int i; + i = 0; while (1) { if (! (i < 2)) { break; } /*@ assert t[i] ≡ i+2; */ ; - { mpz_t e_acsl_21; mpz_t e_acsl_22; mpz_t e_acsl_23; mpz_t e_acsl_24; + { + mpz_t e_acsl_21; + mpz_t e_acsl_22; + mpz_t e_acsl_23; + mpz_t e_acsl_24; int e_acsl_25; mpz_init_set_si((__mpz_struct *)(e_acsl_21),(long)t[i]); mpz_init_set_si((__mpz_struct *)(e_acsl_22),(long)i); @@ -699,8 +724,15 @@ int main(void) } /*@ assert t[2-i] ≡ 4-i; */ ; - { mpz_t e_acsl_26; mpz_t e_acsl_27; mpz_t e_acsl_28; int e_acsl_29; - mpz_t e_acsl_30; mpz_t e_acsl_31; mpz_t e_acsl_32; int e_acsl_33; + { + mpz_t e_acsl_26; + mpz_t e_acsl_27; + mpz_t e_acsl_28; + int e_acsl_29; + mpz_t e_acsl_30; + mpz_t e_acsl_31; + mpz_t e_acsl_32; + int e_acsl_33; mpz_init_set_si((__mpz_struct *)(e_acsl_26),(long)2); mpz_init_set_si((__mpz_struct *)(e_acsl_27),(long)i); mpz_init((__mpz_struct *)(e_acsl_28)); @@ -729,7 +761,11 @@ int main(void) } /*@ assert *(&t[2]-i) ≡ 4-i; */ ; - { mpz_t e_acsl_34; mpz_t e_acsl_35; mpz_t e_acsl_36; mpz_t e_acsl_37; + { + mpz_t e_acsl_34; + mpz_t e_acsl_35; + mpz_t e_acsl_36; + mpz_t e_acsl_37; int e_acsl_38; mpz_init_set_si((__mpz_struct *)(e_acsl_34),(long)*(& t[2] - i)); mpz_init_set_si((__mpz_struct *)(e_acsl_35),(long)4); @@ -741,7 +777,8 @@ int main(void) e_acsl_38 = mpz_cmp((__mpz_struct const *)(e_acsl_34), (__mpz_struct const *)(e_acsl_37)); if (! (e_acsl_38 == 0)) { e_acsl_fail((char *)"(*(&t[2]-i) == 4-i)"); - } mpz_clear((__mpz_struct *)(e_acsl_34)); + } + mpz_clear((__mpz_struct *)(e_acsl_34)); mpz_clear((__mpz_struct *)(e_acsl_35)); mpz_clear((__mpz_struct *)(e_acsl_36)); mpz_clear((__mpz_struct *)(e_acsl_37)); @@ -754,7 +791,10 @@ int main(void) p = & t[2]; t[2] = 5; /*@ assert *p ≡ 5; */ ; - { mpz_t e_acsl_39; mpz_t e_acsl_40; int e_acsl_41; + { + mpz_t e_acsl_39; + mpz_t e_acsl_40; + int e_acsl_41; mpz_init_set_si((__mpz_struct *)(e_acsl_39),(long)*p); mpz_init_set_si((__mpz_struct *)(e_acsl_40),(long)5); e_acsl_41 = mpz_cmp((__mpz_struct const *)(e_acsl_39), diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle index 52bb002c5e5..d8a69d2f46d 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/sizeof.res.oracle @@ -2,21 +2,21 @@ [value] Computing initial state [value] Initial state computed [value] Values of globals at initialization -PROJECT_FILE.i:135:[value] Assertion got status valid. +PROJECT_FILE.i:136:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:137. + Called from PROJECT_FILE.i:141. PROJECT_FILE.i:33:[value] Function mpz_init_set_si: postcondition got status valid. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:137. + Called from PROJECT_FILE.i:142. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:138. + Called from PROJECT_FILE.i:143. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:139. + Called from PROJECT_FILE.i:144. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -27,24 +27,24 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:145. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:146. [value] Done for function mpz_clear -PROJECT_FILE.i:143:[value] Assertion got status valid. +PROJECT_FILE.i:150:[value] Assertion got status valid. [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:145. + Called from PROJECT_FILE.i:155. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:145. + Called from PROJECT_FILE.i:156. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:146. + Called from PROJECT_FILE.i:157. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:148. + Called from PROJECT_FILE.i:159. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -54,10 +54,10 @@ PROJECT_FILE.i:143:[value] Assertion got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:149. + Called from PROJECT_FILE.i:161. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:149. + Called from PROJECT_FILE.i:162. [value] Done for function mpz_clear [value] Recording results for main [value] done for function main @@ -65,6 +65,7 @@ PROJECT_FILE.i:143:[value] Assertion got status valid. [value] Values for function e_acsl_fail: NON TERMINATING FUNCTION [value] Values for function main: + __retres ∈ {0} x ∈ {0} /* Generated by Frama-C */ struct __anonstruct___mpz_struct_1 { @@ -99,35 +100,45 @@ void e_acsl_fail(char *msg) return; } -void main(void) +int main(void) { + int __retres; int x; x = 0; /*@ assert sizeof(int) ≡ sizeof(x); */ ; - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)4); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)4); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), (__mpz_struct const *)(e_acsl_2)); if (! (e_acsl_3 == 0)) { e_acsl_fail((char *)"(sizeof(int) == sizeof(x))"); - } mpz_clear((__mpz_struct *)(e_acsl_1)); + } + mpz_clear((__mpz_struct *)(e_acsl_1)); mpz_clear((__mpz_struct *)(e_acsl_2)); } /*@ assert sizeof("totototototo") ≡ sizeof(char *); */ ; - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; mpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)4); mpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)4); e_acsl_6 = mpz_cmp((__mpz_struct const *)(e_acsl_4), (__mpz_struct const *)(e_acsl_5)); if (! (e_acsl_6 == 0)) { e_acsl_fail((char *)"(sizeof(\"totototototo\") == sizeof(char *))"); - } mpz_clear((__mpz_struct *)(e_acsl_4)); + } + mpz_clear((__mpz_struct *)(e_acsl_4)); mpz_clear((__mpz_struct *)(e_acsl_5)); } - return; + __retres = 0; + return (__retres); } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle index 21e10170516..54e4e162241 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/stmt_contract.res.oracle @@ -3,19 +3,19 @@ [value] Initial state computed [value] Values of globals at initialization [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:144. PROJECT_FILE.i:33:[value] Function mpz_init_set_si: postcondition got status valid. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:140. + Called from PROJECT_FILE.i:145. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:141. + Called from PROJECT_FILE.i:146. PROJECT_FILE.i:49:[value] Function mpz_cmp: precondition got status valid. PROJECT_FILE.i:50:[value] Function mpz_cmp: precondition got status valid. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:142. + Called from PROJECT_FILE.i:147. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -26,23 +26,23 @@ PROJECT_FILE.i:119:[value] Function exit: postcondition got status invalid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:142. + Called from PROJECT_FILE.i:148. PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:143. + Called from PROJECT_FILE.i:149. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:149. + Called from PROJECT_FILE.i:161. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:150. + Called from PROJECT_FILE.i:162. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:150. + Called from PROJECT_FILE.i:163. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:151. + Called from PROJECT_FILE.i:164. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -52,13 +52,13 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:152. + Called from PROJECT_FILE.i:165. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:152. + Called from PROJECT_FILE.i:166. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:153. + Called from PROJECT_FILE.i:167. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -68,25 +68,25 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:153. + Called from PROJECT_FILE.i:168. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:154. + Called from PROJECT_FILE.i:169. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:154. + Called from PROJECT_FILE.i:170. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:159. + Called from PROJECT_FILE.i:178. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:159. + Called from PROJECT_FILE.i:179. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:160. + Called from PROJECT_FILE.i:180. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:161. + Called from PROJECT_FILE.i:181. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -96,22 +96,22 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:161. + Called from PROJECT_FILE.i:182. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:162. + Called from PROJECT_FILE.i:183. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:168. + Called from PROJECT_FILE.i:196. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:169. + Called from PROJECT_FILE.i:197. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:170. + Called from PROJECT_FILE.i:198. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:171. + Called from PROJECT_FILE.i:199. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -121,16 +121,16 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:172. + Called from PROJECT_FILE.i:200. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:172. + Called from PROJECT_FILE.i:201. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:173. + Called from PROJECT_FILE.i:202. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:174. + Called from PROJECT_FILE.i:203. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -140,28 +140,28 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:175. + Called from PROJECT_FILE.i:204. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:175. + Called from PROJECT_FILE.i:205. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:175. + Called from PROJECT_FILE.i:206. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:176. + Called from PROJECT_FILE.i:207. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:193. + Called from PROJECT_FILE.i:239. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:194. + Called from PROJECT_FILE.i:240. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:195. + Called from PROJECT_FILE.i:241. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:196. + Called from PROJECT_FILE.i:242. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -171,26 +171,26 @@ PROJECT_FILE.i:43:[value] Function mpz_clear: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:243. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:197. + Called from PROJECT_FILE.i:244. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:198. + Called from PROJECT_FILE.i:245. PROJECT_FILE.i:21:[value] Function mpz_init: postcondition got status valid. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:198. + Called from PROJECT_FILE.i:246. PROJECT_FILE.i:64:[value] Function mpz_add: precondition got status valid. PROJECT_FILE.i:65:[value] Function mpz_add: precondition got status valid. PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Done for function mpz_add [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:199. + Called from PROJECT_FILE.i:247. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:200. + Called from PROJECT_FILE.i:248. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -200,13 +200,13 @@ PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:201. + Called from PROJECT_FILE.i:249. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:202. + Called from PROJECT_FILE.i:250. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:203. + Called from PROJECT_FILE.i:251. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -216,34 +216,34 @@ PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:204. + Called from PROJECT_FILE.i:252. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:204. + Called from PROJECT_FILE.i:253. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:204. + Called from PROJECT_FILE.i:254. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:205. + Called from PROJECT_FILE.i:255. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:205. + Called from PROJECT_FILE.i:256. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:205. + Called from PROJECT_FILE.i:257. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:208. + Called from PROJECT_FILE.i:261. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:208. + Called from PROJECT_FILE.i:262. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:209. + Called from PROJECT_FILE.i:263. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:210. + Called from PROJECT_FILE.i:264. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -253,22 +253,22 @@ PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:211. + Called from PROJECT_FILE.i:265. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:211. + Called from PROJECT_FILE.i:266. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:267. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:212. + Called from PROJECT_FILE.i:268. [value] Done for function mpz_add [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:213. + Called from PROJECT_FILE.i:269. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:214. + Called from PROJECT_FILE.i:270. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -278,47 +278,47 @@ PROJECT_FILE.i:66:[value] Function mpz_add: precondition got status valid. [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:215. + Called from PROJECT_FILE.i:271. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:215. + Called from PROJECT_FILE.i:272. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:215. + Called from PROJECT_FILE.i:273. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:216. + Called from PROJECT_FILE.i:274. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:216. + Called from PROJECT_FILE.i:275. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:233. + Called from PROJECT_FILE.i:301. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:233. + Called from PROJECT_FILE.i:302. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:234. + Called from PROJECT_FILE.i:303. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:240. + Called from PROJECT_FILE.i:309. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:241. + Called from PROJECT_FILE.i:310. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:242. + Called from PROJECT_FILE.i:311. [value] Done for function mpz_cmp -PROJECT_FILE.i:243:[value] assigning non deterministic value for the first time +PROJECT_FILE.i:312:[value] assigning non deterministic value for the first time [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:244. + Called from PROJECT_FILE.i:313. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:245. + Called from PROJECT_FILE.i:314. [value] Done for function mpz_clear [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:246. + Called from PROJECT_FILE.i:316. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -328,43 +328,43 @@ PROJECT_FILE.i:243:[value] assigning non deterministic value for the first time [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:247. + Called from PROJECT_FILE.i:317. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:248. + Called from PROJECT_FILE.i:318. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:253. + Called from PROJECT_FILE.i:323. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:254. + Called from PROJECT_FILE.i:324. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:255. + Called from PROJECT_FILE.i:325. [value] Done for function mpz_cmp [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:257. + Called from PROJECT_FILE.i:327. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:258. + Called from PROJECT_FILE.i:328. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:264. + Called from PROJECT_FILE.i:336. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:265. + Called from PROJECT_FILE.i:337. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:266. + Called from PROJECT_FILE.i:338. [value] Done for function mpz_cmp [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:268. + Called from PROJECT_FILE.i:340. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:269. + Called from PROJECT_FILE.i:341. [value] Done for function mpz_clear [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:270. + Called from PROJECT_FILE.i:343. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -374,55 +374,55 @@ PROJECT_FILE.i:243:[value] assigning non deterministic value for the first time [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:271. + Called from PROJECT_FILE.i:344. [value] Done for function mpz_cmp [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:276. + Called from PROJECT_FILE.i:349. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:277. + Called from PROJECT_FILE.i:350. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:278. + Called from PROJECT_FILE.i:351. [value] Done for function mpz_cmp [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:280. + Called from PROJECT_FILE.i:353. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:281. + Called from PROJECT_FILE.i:354. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:289. + Called from PROJECT_FILE.i:364. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:290. + Called from PROJECT_FILE.i:365. [value] Done for function mpz_init_set_si [value] computing for function mpz_init <- main. - Called from PROJECT_FILE.i:291. + Called from PROJECT_FILE.i:366. [value] Done for function mpz_init [value] computing for function mpz_add <- main. - Called from PROJECT_FILE.i:292. + Called from PROJECT_FILE.i:367. [value] Done for function mpz_add [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:293. + Called from PROJECT_FILE.i:368. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:294. + Called from PROJECT_FILE.i:369. [value] Done for function mpz_cmp [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:296. + Called from PROJECT_FILE.i:371. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:297. + Called from PROJECT_FILE.i:372. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:298. + Called from PROJECT_FILE.i:373. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:299. + Called from PROJECT_FILE.i:374. [value] Done for function mpz_clear [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:300. + Called from PROJECT_FILE.i:376. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -432,25 +432,25 @@ PROJECT_FILE.i:243:[value] assigning non deterministic value for the first time [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:301. + Called from PROJECT_FILE.i:377. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:301. + Called from PROJECT_FILE.i:378. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:301. + Called from PROJECT_FILE.i:379. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:306. + Called from PROJECT_FILE.i:388. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:306. + Called from PROJECT_FILE.i:389. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:307. + Called from PROJECT_FILE.i:390. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:308. + Called from PROJECT_FILE.i:391. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -460,22 +460,22 @@ PROJECT_FILE.i:243:[value] assigning non deterministic value for the first time [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:309. + Called from PROJECT_FILE.i:392. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:309. + Called from PROJECT_FILE.i:393. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:312. + Called from PROJECT_FILE.i:399. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:312. + Called from PROJECT_FILE.i:400. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:313. + Called from PROJECT_FILE.i:401. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:314. + Called from PROJECT_FILE.i:402. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -485,22 +485,22 @@ PROJECT_FILE.i:243:[value] assigning non deterministic value for the first time [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:315. + Called from PROJECT_FILE.i:403. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:315. + Called from PROJECT_FILE.i:404. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:323. + Called from PROJECT_FILE.i:419. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:323. + Called from PROJECT_FILE.i:420. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:324. + Called from PROJECT_FILE.i:421. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:325. + Called from PROJECT_FILE.i:422. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -510,22 +510,22 @@ PROJECT_FILE.i:243:[value] assigning non deterministic value for the first time [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:326. + Called from PROJECT_FILE.i:423. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:326. + Called from PROJECT_FILE.i:424. [value] Done for function mpz_clear [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:328. + Called from PROJECT_FILE.i:428. [value] Done for function mpz_init_set_si [value] computing for function mpz_init_set_si <- main. - Called from PROJECT_FILE.i:328. + Called from PROJECT_FILE.i:429. [value] Done for function mpz_init_set_si [value] computing for function mpz_cmp <- main. - Called from PROJECT_FILE.i:329. + Called from PROJECT_FILE.i:430. [value] Done for function mpz_cmp [value] computing for function e_acsl_fail <- main. - Called from PROJECT_FILE.i:330. + Called from PROJECT_FILE.i:431. [value] computing for function printf <- e_acsl_fail <- main. Called from PROJECT_FILE.i:129. [value] Done for function printf @@ -535,10 +535,10 @@ PROJECT_FILE.i:243:[value] assigning non deterministic value for the first time [value] Recording results for e_acsl_fail [value] Done for function e_acsl_fail [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:331. + Called from PROJECT_FILE.i:432. [value] Done for function mpz_clear [value] computing for function mpz_clear <- main. - Called from PROJECT_FILE.i:331. + Called from PROJECT_FILE.i:433. [value] Done for function mpz_clear [value] Recording results for main [value] done for function main @@ -601,7 +601,11 @@ int main(void) x = 0; y = 2; /*@ ensures x ≡ 1; */ - { mpz_t e_acsl_1; mpz_t e_acsl_2; int e_acsl_3; x = 1; + { + mpz_t e_acsl_1; + mpz_t e_acsl_2; + int e_acsl_3; + x = 1; mpz_init_set_si((__mpz_struct *)(e_acsl_1),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_2),(long)1); e_acsl_3 = mpz_cmp((__mpz_struct const *)(e_acsl_1), @@ -613,8 +617,14 @@ int main(void) /*@ ensures x ≡ 2; ensures y ≡ 2; */ - { mpz_t e_acsl_4; mpz_t e_acsl_5; int e_acsl_6; mpz_t e_acsl_7; - int e_acsl_8; x = 2; mpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)x); + { + mpz_t e_acsl_4; + mpz_t e_acsl_5; + int e_acsl_6; + mpz_t e_acsl_7; + int e_acsl_8; + x = 2; + mpz_init_set_si((__mpz_struct *)(e_acsl_4),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_5),(long)2); e_acsl_6 = mpz_cmp((__mpz_struct const *)(e_acsl_4), (__mpz_struct const *)(e_acsl_5)); @@ -629,20 +639,29 @@ int main(void) } /*@ requires x ≡ 2; */ - { mpz_t e_acsl_9; mpz_t e_acsl_10; int e_acsl_11; + { + mpz_t e_acsl_9; + mpz_t e_acsl_10; + int e_acsl_11; mpz_init_set_si((__mpz_struct *)(e_acsl_9),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_10),(long)2); e_acsl_11 = mpz_cmp((__mpz_struct const *)(e_acsl_9), (__mpz_struct const *)(e_acsl_10)); if (! (e_acsl_11 == 0)) { e_acsl_fail((char *)"(x == 2)"); } mpz_clear((__mpz_struct *)(e_acsl_9)); - mpz_clear((__mpz_struct *)(e_acsl_10)); x ++; + mpz_clear((__mpz_struct *)(e_acsl_10)); + x ++; } /*@ requires x ≡ 3; requires y ≡ 2; */ - { mpz_t e_acsl_12; mpz_t e_acsl_13; int e_acsl_14; mpz_t e_acsl_15; - mpz_t e_acsl_16; int e_acsl_17; + { + mpz_t e_acsl_12; + mpz_t e_acsl_13; + int e_acsl_14; + mpz_t e_acsl_15; + mpz_t e_acsl_16; + int e_acsl_17; mpz_init_set_si((__mpz_struct *)(e_acsl_12),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_13),(long)3); e_acsl_14 = mpz_cmp((__mpz_struct const *)(e_acsl_12), @@ -656,7 +675,8 @@ int main(void) mpz_clear((__mpz_struct *)(e_acsl_12)); mpz_clear((__mpz_struct *)(e_acsl_13)); mpz_clear((__mpz_struct *)(e_acsl_15)); - mpz_clear((__mpz_struct *)(e_acsl_16)); x += y; + mpz_clear((__mpz_struct *)(e_acsl_16)); + x += y; } /*@ behavior b1: @@ -669,11 +689,25 @@ int main(void) ensures x ≡ y+1; */ - { mpz_t e_acsl_27; mpz_t e_acsl_28; int e_acsl_29; mpz_t e_acsl_30; - mpz_t e_acsl_31; mpz_t e_acsl_32; int e_acsl_33; - { mpz_t e_acsl_18; mpz_t e_acsl_19; int e_acsl_20; mpz_t e_acsl_21; - mpz_t e_acsl_22; mpz_t e_acsl_23; int e_acsl_24; mpz_t e_acsl_25; - int e_acsl_26; mpz_init_set_si((__mpz_struct *)(e_acsl_18),(long)x); + { + mpz_t e_acsl_27; + mpz_t e_acsl_28; + int e_acsl_29; + mpz_t e_acsl_30; + mpz_t e_acsl_31; + mpz_t e_acsl_32; + int e_acsl_33; + { + mpz_t e_acsl_18; + mpz_t e_acsl_19; + int e_acsl_20; + mpz_t e_acsl_21; + mpz_t e_acsl_22; + mpz_t e_acsl_23; + int e_acsl_24; + mpz_t e_acsl_25; + int e_acsl_26; + mpz_init_set_si((__mpz_struct *)(e_acsl_18),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_19),(long)5); e_acsl_20 = mpz_cmp((__mpz_struct const *)(e_acsl_18), (__mpz_struct const *)(e_acsl_19)); @@ -695,9 +729,11 @@ int main(void) mpz_clear((__mpz_struct *)(e_acsl_21)); mpz_clear((__mpz_struct *)(e_acsl_22)); mpz_clear((__mpz_struct *)(e_acsl_23)); - mpz_clear((__mpz_struct *)(e_acsl_25)); x = 3; + mpz_clear((__mpz_struct *)(e_acsl_25)); + x = 3; } - mpz_init_set_si((__mpz_struct *)(e_acsl_27),(long)x); + + mpz_init_set_si((__mpz_struct *)(e_acsl_27),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_28),(long)3); e_acsl_29 = mpz_cmp((__mpz_struct const *)(e_acsl_27), (__mpz_struct const *)(e_acsl_28)); @@ -728,9 +764,18 @@ int main(void) requires x+y ≡ 5; */ - { mpz_t e_acsl_34; mpz_t e_acsl_35; int e_acsl_36; int e_acsl_40; - mpz_t e_acsl_41; int e_acsl_42; int e_acsl_46; int e_acsl_50; - int e_acsl_51; int e_acsl_55; int e_acsl_61; + { + mpz_t e_acsl_34; + mpz_t e_acsl_35; + int e_acsl_36; + int e_acsl_40; + mpz_t e_acsl_41; + int e_acsl_42; + int e_acsl_46; + int e_acsl_50; + int e_acsl_51; + int e_acsl_55; + int e_acsl_61; mpz_init_set_si((__mpz_struct *)(e_acsl_34),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_35),(long)1); e_acsl_36 = mpz_cmp((__mpz_struct const *)(e_acsl_34), @@ -747,7 +792,8 @@ int main(void) e_acsl_40 = e_acsl_39 == 0; mpz_clear((__mpz_struct *)(e_acsl_37)); mpz_clear((__mpz_struct *)(e_acsl_38)); - } if (! e_acsl_40) { e_acsl_fail((char *)"(x == 1 ==> x == 0)"); } + } + if (! e_acsl_40) { e_acsl_fail((char *)"(x == 1 ==> x == 0)"); } mpz_init_set_si((__mpz_struct *)(e_acsl_41),(long)3); e_acsl_42 = mpz_cmp((__mpz_struct const *)(e_acsl_34), (__mpz_struct const *)(e_acsl_41)); @@ -762,7 +808,9 @@ int main(void) e_acsl_46 = e_acsl_45 == 0; mpz_clear((__mpz_struct *)(e_acsl_43)); mpz_clear((__mpz_struct *)(e_acsl_44)); - } else { e_acsl_46 = 0; } if (! e_acsl_46) { e_acsl_50 = 1; } + } + else { e_acsl_46 = 0; } + if (! e_acsl_46) { e_acsl_50 = 1; } else { mpz_t e_acsl_47; mpz_t e_acsl_48; @@ -790,7 +838,9 @@ int main(void) e_acsl_55 = e_acsl_54 == 0; mpz_clear((__mpz_struct *)(e_acsl_52)); mpz_clear((__mpz_struct *)(e_acsl_53)); - } else { e_acsl_55 = 0; } if (! e_acsl_55) { e_acsl_61 = 1; } + } + else { e_acsl_55 = 0; } + if (! e_acsl_55) { e_acsl_61 = 1; } else { mpz_t e_acsl_56; mpz_t e_acsl_57; @@ -813,13 +863,18 @@ int main(void) } if (! e_acsl_61) { e_acsl_fail((char *)"(x == 3 && y == 2 ==> x+y == 5)"); - } mpz_clear((__mpz_struct *)(e_acsl_34)); + } + mpz_clear((__mpz_struct *)(e_acsl_34)); mpz_clear((__mpz_struct *)(e_acsl_35)); - mpz_clear((__mpz_struct *)(e_acsl_41)); x += y; + mpz_clear((__mpz_struct *)(e_acsl_41)); + x += y; } /*@ requires x ≡ 5; */ - { mpz_t e_acsl_62; mpz_t e_acsl_63; int e_acsl_64; + { + mpz_t e_acsl_62; + mpz_t e_acsl_63; + int e_acsl_64; mpz_init_set_si((__mpz_struct *)(e_acsl_62),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_63),(long)5); e_acsl_64 = mpz_cmp((__mpz_struct const *)(e_acsl_62), @@ -828,30 +883,42 @@ int main(void) mpz_clear((__mpz_struct *)(e_acsl_62)); mpz_clear((__mpz_struct *)(e_acsl_63)); /*@ requires y ≡ 2; */ - { mpz_t e_acsl_65; mpz_t e_acsl_66; int e_acsl_67; + { + mpz_t e_acsl_65; + mpz_t e_acsl_66; + int e_acsl_67; mpz_init_set_si((__mpz_struct *)(e_acsl_65),(long)y); mpz_init_set_si((__mpz_struct *)(e_acsl_66),(long)2); e_acsl_67 = mpz_cmp((__mpz_struct const *)(e_acsl_65), (__mpz_struct const *)(e_acsl_66)); if (! (e_acsl_67 == 0)) { e_acsl_fail((char *)"(y == 2)"); } mpz_clear((__mpz_struct *)(e_acsl_65)); - mpz_clear((__mpz_struct *)(e_acsl_66)); x += y; + mpz_clear((__mpz_struct *)(e_acsl_66)); + x += y; } } /*@ requires x ≡ 7; ensures x ≡ 7; */ - { mpz_t e_acsl_71; mpz_t e_acsl_72; int e_acsl_73; - { mpz_t e_acsl_68; mpz_t e_acsl_69; int e_acsl_70; + { + mpz_t e_acsl_71; + mpz_t e_acsl_72; + int e_acsl_73; + { + mpz_t e_acsl_68; + mpz_t e_acsl_69; + int e_acsl_70; mpz_init_set_si((__mpz_struct *)(e_acsl_68),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_69),(long)7); e_acsl_70 = mpz_cmp((__mpz_struct const *)(e_acsl_68), (__mpz_struct const *)(e_acsl_69)); if (! (e_acsl_70 == 0)) { e_acsl_fail((char *)"(x == 7)"); } mpz_clear((__mpz_struct *)(e_acsl_68)); - mpz_clear((__mpz_struct *)(e_acsl_69)); __retres = 0; + mpz_clear((__mpz_struct *)(e_acsl_69)); + __retres = 0; } - mpz_init_set_si((__mpz_struct *)(e_acsl_71),(long)x); + + mpz_init_set_si((__mpz_struct *)(e_acsl_71),(long)x); mpz_init_set_si((__mpz_struct *)(e_acsl_72),(long)7); e_acsl_73 = mpz_cmp((__mpz_struct const *)(e_acsl_71), (__mpz_struct const *)(e_acsl_72)); diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/other_constants.i b/src/plugins/e-acsl/tests/e-acsl-runtime/other_constants.i index b901be8d453..39d8a7c4685 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/other_constants.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/other_constants.i @@ -1,6 +1,6 @@ /* run.config COMMENT: non integer constants - EXECNOW: LOG gen_other_constants.c BIN gen_other_constants.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/other_constants.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_other_constants.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_other_constants.out -lgmp ./tests/e-acsl-runtime/result/gen_other_constants.c && ./tests/e-acsl-runtime/result/gen_other_constants.out + EXECNOW: LOG gen_other_constants.c BIN gen_other_constants.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/other_constants.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_other_constants.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_other_constants.out ./tests/e-acsl-runtime/result/gen_other_constants.c -lgmp && ./tests/e-acsl-runtime/result/gen_other_constants.out */ enum bool { false, true }; diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/ptr.i b/src/plugins/e-acsl/tests/e-acsl-runtime/ptr.i index e6864b08f8d..3905d46925f 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/ptr.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/ptr.i @@ -1,6 +1,6 @@ /* run.config COMMENT: pointers and pointer arithmetic - EXECNOW: LOG gen_ptr.c BIN gen_ptr.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/ptr.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_ptr.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_ptr.out -lgmp ./tests/e-acsl-runtime/result/gen_ptr.c && ./tests/e-acsl-runtime/result/gen_ptr.out + EXECNOW: LOG gen_ptr.c BIN gen_ptr.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/ptr.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_ptr.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_ptr.out ./tests/e-acsl-runtime/result/gen_ptr.c -lgmp && ./tests/e-acsl-runtime/result/gen_ptr.out */ int main(void) { diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/sizeof.i b/src/plugins/e-acsl/tests/e-acsl-runtime/sizeof.i index f56d5a47027..7c701fe1de3 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/sizeof.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/sizeof.i @@ -1,10 +1,11 @@ /* run.config COMMENT: sizeof - EXECNOW: LOG gen_sizeof.c BIN gen_sizeof.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/sizeof.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_sizeof.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_sizeof.out -lgmp ./tests/e-acsl-runtime/result/gen_sizeof.c + EXECNOW: LOG gen_sizeof.c BIN gen_sizeof.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/sizeof.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_sizeof.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_sizeof.out ./tests/e-acsl-runtime/result/gen_sizeof.c -lgmp && ./tests/e-acsl-runtime/result/gen_sizeof.out */ -void main() { +int main(void) { int x = 0; /*@ assert sizeof(int) == sizeof(x); */ ; /*@ assert sizeof("totototototo") == sizeof(char *); */ ; + return 0; } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i b/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i index a7e13016e8e..60111c14b3f 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/stmt_contract.i @@ -1,6 +1,6 @@ /* run.config COMMENT: stmt contract - EXECNOW: LOG gen_stmt_contract.c BIN gen_stmt_contract.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/stmt_contract.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_stmt_contract.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_stmt_contract.out -lgmp ./tests/e-acsl-runtime/result/gen_stmt_contract.c && ./tests/e-acsl-runtime/result/gen_stmt_contract.out + EXECNOW: LOG gen_stmt_contract.c BIN gen_stmt_contract.out FRAMAC_SHARE=./share @frama-c@ ./tests/e-acsl-runtime/stmt_contract.i -e-acsl-project p -e-acsl-include-headers -then-on p -print -ocode ./tests/e-acsl-runtime/result/gen_stmt_contract.c > /dev/null && gcc -o ./tests/e-acsl-runtime/result/gen_stmt_contract.out ./tests/e-acsl-runtime/result/gen_stmt_contract.c -lgmp && ./tests/e-acsl-runtime/result/gen_stmt_contract.out */ int main(void) { int x = 0, y = 2; diff --git a/src/plugins/e-acsl/visit.ml b/src/plugins/e-acsl/visit.ml index b791937f817..d589571a43e 100644 --- a/src/plugins/e-acsl/visit.ml +++ b/src/plugins/e-acsl/visit.ml @@ -123,8 +123,8 @@ let name_of_mpz_arith_bop = function | PlusA -> "mpz_add" | MinusA -> "mpz_sub" | Mult -> "mpz_mul" - | Div -> "mpz_cdiv_q" - | Mod -> "mpz_mod_ui" + | Div -> "mpz_tdiv_q" + | Mod -> "mpz_tdiv_r" | Lt | Gt | Le | Ge | Eq | Ne | BAnd | BXor | BOr | LAnd | LOr | Shiftlt | Shiftrt | PlusPI | IndexPI | MinusPI | MinusPP -> assert false @@ -297,8 +297,9 @@ and context_insensitive_term_to_exp env t = | Tlambda _ -> Misc.not_yet "functional" | TDataCons _ -> Misc.not_yet "constructor" | Tif _ -> Misc.not_yet "conditional" - | Tat(t', StmtLabel { contents = stmt } (*_label*)) -> -(* Options.feedback "proceeding term %a" Term.pretty t;*) + | Tat(t', label) -> + let stmt = Env.stmt_of_label env label in + (* Options.feedback "proceeding term %a" Term.pretty t;*) let ty = t'.term_type in let e, env = term_to_exp (Env.push env) ty t' in let new_v = ref None in @@ -343,7 +344,6 @@ and context_insensitive_term_to_exp env t = let new_stmt = Visitor.visitFramacStmt o (get_stmt bhv stmt) in set_stmt bhv stmt new_stmt; res, !env_ref, false - | Tat(_t, LogicLabel(_, _label)) -> Misc.not_yet "builtin logic label in \\at" | Tbase_addr _ -> Misc.not_yet "\\base_addr" | Tblock_length _ -> Misc.not_yet "\\block_length" | Tnull -> mkCast (zero ~loc) (TPtr(TVoid [], [])), env, false -- GitLab