diff --git a/src/plugins/e-acsl/src/analyses/labels.ml b/src/plugins/e-acsl/src/analyses/labels.ml index ff1bc163c8f1c07afb893c08c85a28a4f3358d35..ecf2dad710ab28f9d08d2d8ac81989ee99fabaf6 100644 --- a/src/plugins/e-acsl/src/analyses/labels.ml +++ b/src/plugins/e-acsl/src/analyses/labels.ml @@ -401,7 +401,7 @@ module Process: sig kernel_function -> kinstr -> stmt -> - Smart_stmt.annotation_kind -> + annotation_kind -> lscope -> term -> unit @@ -416,7 +416,7 @@ module Process: sig kernel_function -> kinstr -> stmt -> - Smart_stmt.annotation_kind -> + annotation_kind -> lscope -> predicate -> unit @@ -438,7 +438,7 @@ end = struct (** Statement of the predicate or term being analysed. *) stmt: stmt; (** King of annotation for the predicate or term being analysed. *) - akind: Smart_stmt.annotation_kind; + akind: annotation_kind; (** Logic scope for the predicate or term being analysed. *) lscope: Lscope.t; } @@ -462,12 +462,12 @@ end = struct (** @return a textual representation of the given kind of annotation. *) let akind_to_string k = match k with - | Smart_stmt.Assertion -> "Assertion" - | Smart_stmt.Precondition -> "Precondition" - | Smart_stmt.Postcondition -> "Postcondition" - | Smart_stmt.Invariant -> "Invariant" - | Smart_stmt.Variant -> "Variant" - | Smart_stmt.RTE -> "RTE" + | Assertion -> "Assertion" + | Precondition -> "Precondition" + | Postcondition -> "Postcondition" + | Invariant -> "Invariant" + | Variant -> "Variant" + | RTE -> "RTE" (** Apply [fct ?error env] on every element of the list [args]. *) let do_list fct ?error env args = @@ -493,15 +493,15 @@ end = struct (* Translate on the statement corresponding to the [Pre] label of the enclosing function. *) - | Kglobal, Smart_stmt.Postcondition, BuiltinLabel(Pre | Old) -> + | Kglobal, Postcondition, BuiltinLabel(Pre | Old) -> error, Some env.pre_func_stmt - | Kstmt _, Smart_stmt.(Precondition | Postcondition), BuiltinLabel(Pre) -> + | Kstmt _, (Precondition | Postcondition), BuiltinLabel(Pre) -> error, Some env.pre_func_stmt - | _, Smart_stmt.Assertion, BuiltinLabel(Pre) -> + | _, Assertion, BuiltinLabel(Pre) -> error, Some env.pre_func_stmt (* Translate before the current statement. *) - | Kstmt stmt, Smart_stmt.Postcondition, BuiltinLabel(Old) -> + | Kstmt stmt, Postcondition, BuiltinLabel(Old) -> if not (Cil_datatype.Stmt.equal stmt env.stmt) then Options.fatal "The statement of the kinstr and the current statement should \ @@ -511,16 +511,16 @@ end = struct (* In-place translations *) | _, _, BuiltinLabel(Here) -> error, None - | Kglobal, Smart_stmt.Precondition, BuiltinLabel(Pre | Old) -> + | Kglobal, Precondition, BuiltinLabel(Pre | Old) -> error, None - | _, Smart_stmt.Postcondition, BuiltinLabel(Post) -> + | _, Postcondition, BuiltinLabel(Post) -> error, None - | Kstmt _, Smart_stmt.Precondition, BuiltinLabel(Old) -> + | Kstmt _, Precondition, BuiltinLabel(Old) -> error, None (* Invalid position for the given label *) - | _, Smart_stmt.Assertion, BuiltinLabel(Old | Post) - | _, Smart_stmt.Precondition, BuiltinLabel(Post) -> + | _, Assertion, BuiltinLabel(Old | Post) + | _, Precondition, BuiltinLabel(Post) -> let msg = Format.asprintf "label '%a' within annotation '%s' in '%a'" Printer.pp_logic_label label @@ -773,7 +773,7 @@ end class vis_at_labels () = object (self) - inherit E_acsl_visitor.visitor + inherit E_acsl_visitor.visitor dkey (** Statement corresponding to the [Pre] label of the enclosing function*) val mutable pre_func_stmt: stmt option = None @@ -858,7 +858,7 @@ class vis_at_labels () = method process_spec ?error kf kinstr stmt spec = List.iter (fun bhv -> - let akind = Smart_stmt.Precondition in + let akind = Precondition in List.iter (fun assumes -> self#process_id_pred kf kinstr stmt akind assumes) bhv.b_assumes; @@ -868,7 +868,7 @@ class vis_at_labels () = (Property.ip_of_requires kf kinstr bhv requires) then self#process_id_pred kf kinstr stmt akind requires) bhv.b_requires; - let akind = Smart_stmt.Postcondition in + let akind = Postcondition in (* The links between the [identified_property]s and the [assigns] or [allocates] clauses are not clear. For now store a [not_yet] error for every term of the clauses. Update the code to add the relevant @@ -925,7 +925,7 @@ class vis_at_labels () = kf kinstr stmt - Smart_stmt.Assertion + Assertion p.tp_statement | AStmtSpec(l, spec) -> let error = @@ -950,13 +950,13 @@ class vis_at_labels () = kf kinstr stmt - Smart_stmt.Invariant + Invariant p.tp_statement end | AVariant(t, _) -> if !must_translate_ppt_ref (Property.ip_of_code_annot_single kf stmt annot) then - self#process_term kf kinstr stmt Smart_stmt.Variant t + self#process_term kf kinstr stmt Variant t | AAssigns (_, assigns) -> (* The link between the [identified_property] and the [assigns] clause is not clear. For now store a [not_yet] error for every @@ -969,7 +969,7 @@ class vis_at_labels () = kf kinstr stmt - (Smart_stmt.Postcondition) + Postcondition assigns | AAllocation (_, allocates) -> (* The link between the [identified_property] and the [allocates] @@ -983,7 +983,7 @@ class vis_at_labels () = kf kinstr stmt - (Smart_stmt.Postcondition) + Postcondition allocates | APragma _ -> () | AExtended _ -> () @@ -1015,3 +1015,9 @@ let pp_at_data = AtData.pretty let _debug () = Options.feedback ~level:2 "Labels preprocessing"; Translation._debug () + +(* +Local Variables: +compile-command: "make -C ../../../../.." +End: +*) diff --git a/src/plugins/e-acsl/src/analyses/labels.mli b/src/plugins/e-acsl/src/analyses/labels.mli index dafff0e4e0dc63dafc2033a69571fe7859cdae75..92f7ee4a663e97cefd73dcbe1aeb821c710f0909 100644 --- a/src/plugins/e-acsl/src/analyses/labels.mli +++ b/src/plugins/e-acsl/src/analyses/labels.mli @@ -88,3 +88,9 @@ val must_translate_ppt_ref: (Property.t -> bool) ref val must_translate_ppt_opt_ref: (Property.t option -> bool) ref val has_empty_quantif_ref: ((term * logic_var * term) list -> bool) ref + +(* +Local Variables: +compile-command: "make -C ../../../../.." +End: +*) diff --git a/src/plugins/e-acsl/tests/arith/oracle/at.res.oracle b/src/plugins/e-acsl/tests/arith/oracle/at.res.oracle index f3865d1f2f042441bd3124fed3575f1b75e91b29..d80d90f51a5fb5f56e02e59dd81038d7ce1da885 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/at.res.oracle +++ b/src/plugins/e-acsl/tests/arith/oracle/at.res.oracle @@ -1,27 +1,37 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] at.i:38: Warning: +[eva:alarm] at.i:48: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] at.i:13: Warning: assertion got status unknown. -[eva:alarm] at.i:15: Warning: assertion got status unknown. -[eva:alarm] at.i:54: Warning: assertion got status unknown. -[eva:alarm] at.i:55: Warning: assertion got status unknown. -[eva:alarm] at.i:56: Warning: assertion got status unknown. -[eva:alarm] at.i:31: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || - \valid(data->values) got status unknown. -[eva:alarm] at.i:29: Warning: +[eva:alarm] at.i:17: Warning: assertion got status unknown. +[eva:alarm] at.i:19: Warning: assertion got status unknown. +[eva:alarm] at.i:10: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. +[eva:alarm] at.i:77: Warning: assertion got status unknown. +[eva:alarm] at.i:78: Warning: assertion got status unknown. +[eva:alarm] at.i:79: Warning: assertion got status unknown. +[eva:alarm] at.i:39: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] :0: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] at.i:29: Warning: +[eva:alarm] at.i:39: Warning: + function __e_acsl_assert_register_ulong: precondition data->values == \null || + \valid(data->values) got status unknown. +[eva:alarm] at.i:39: Warning: assertion got status unknown. +[eva:alarm] at.i:43: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] at.i:29: Warning: assertion got status unknown. -[eva:alarm] at.i:31: Warning: +[eva:alarm] at.i:41: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] at.i:31: Warning: assertion got status unknown. +[eva:alarm] at.i:41: Warning: assertion got status unknown. +[eva:alarm] at.i:43: Warning: assertion got status unknown. +[eva:alarm] at.i:59: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. +[eva:alarm] at.i:62: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle/at_on-purely-logic-variables.res.oracle b/src/plugins/e-acsl/tests/arith/oracle/at_on-purely-logic-variables.res.oracle index 2079be04d3c5a8254e004dbe5575667d74c81959..483ee2e7ba01554a0dd943dfc1aaa0df551c7306 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/at_on-purely-logic-variables.res.oracle +++ b/src/plugins/e-acsl/tests/arith/oracle/at_on-purely-logic-variables.res.oracle @@ -4,7 +4,7 @@ `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' is not yet supported. Ignoring annotation. -[e-acsl] at_on-purely-logic-variables.c:69: Warning: +[e-acsl] at_on-purely-logic-variables.c:70: Warning: E-ACSL construct `\at with logic variable linked to C variable' is not yet supported. Ignoring annotation. @@ -57,8 +57,8 @@ accessing uninitialized left-value. assert \initialized(__gen_e_acsl_at_6 + - (int)((int)((int)(__gen_e_acsl_u_3 - 9) * 32) + - (int)(__gen_e_acsl_v_3 - -4))); + (int)((int)((int)(__gen_e_acsl_u_7 - 9) * 32) + + (int)(__gen_e_acsl_v_5 - -4))); [eva:alarm] at_on-purely-logic-variables.c:44: Warning: assertion got status unknown. [eva:alarm] at_on-purely-logic-variables.c:8: Warning: diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_at.c b/src/plugins/e-acsl/tests/arith/oracle/gen_at.c index 888d2c9fac9ba632c1a45380d70b369d72548fbe..9f178a13837c806c0575135acd2c7013ce7fd34c 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_at.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_at.c @@ -9,7 +9,11 @@ extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; int A = 0; -/*@ ensures \at(A,Post) == 3; */ +/*@ requires \at(A,Here) == 0; + requires \at(A,Pre) == 0; + ensures \at(A,Pre) == \old(A) == 0; + ensures \at(A,Post) == 4; + */ void __gen_e_acsl_f(void); void f(void) @@ -18,14 +22,11 @@ void f(void) int __gen_e_acsl_at_3; int __gen_e_acsl_at_2; int __gen_e_acsl_at; - __gen_e_acsl_at_3 = A; __gen_e_acsl_at = A; A = 1; - F: { - __gen_e_acsl_at_4 = __gen_e_acsl_at_3; - __gen_e_acsl_at_2 = A; - A = 2; - } + F: __gen_e_acsl_at_2 = A; + __gen_e_acsl_at_3 = __gen_e_acsl_at; + A = 2; { __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\at(A,Pre)",0, @@ -35,7 +36,7 @@ void f(void) __gen_e_acsl_assert_data.pred_txt = "\\at(A,Pre) == 0"; __gen_e_acsl_assert_data.file = "at.i"; __gen_e_acsl_assert_data.fct = "f"; - __gen_e_acsl_assert_data.line = 12; + __gen_e_acsl_assert_data.line = 16; __e_acsl_assert(__gen_e_acsl_at == 0,& __gen_e_acsl_assert_data); __e_acsl_assert_clean(& __gen_e_acsl_assert_data); } @@ -50,7 +51,7 @@ void f(void) __gen_e_acsl_assert_data_2.pred_txt = "\\at(A,F) == 1"; __gen_e_acsl_assert_data_2.file = "at.i"; __gen_e_acsl_assert_data_2.fct = "f"; - __gen_e_acsl_assert_data_2.line = 13; + __gen_e_acsl_assert_data_2.line = 17; __e_acsl_assert(__gen_e_acsl_at_2 == 1,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); } @@ -64,7 +65,7 @@ void f(void) __gen_e_acsl_assert_data_3.pred_txt = "\\at(A,Here) == 2"; __gen_e_acsl_assert_data_3.file = "at.i"; __gen_e_acsl_assert_data_3.fct = "f"; - __gen_e_acsl_assert_data_3.line = 14; + __gen_e_acsl_assert_data_3.line = 18; __e_acsl_assert(A == 2,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); } @@ -73,18 +74,75 @@ void f(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, - "\\at(\\at(A,Pre),F)",0,__gen_e_acsl_at_4); + "\\at(\\at(A,Pre),F)",0,__gen_e_acsl_at_3); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Assertion"; __gen_e_acsl_assert_data_4.pred_txt = "\\at(\\at(A,Pre),F) == 0"; __gen_e_acsl_assert_data_4.file = "at.i"; __gen_e_acsl_assert_data_4.fct = "f"; - __gen_e_acsl_assert_data_4.line = 15; - __e_acsl_assert(__gen_e_acsl_at_4 == 0,& __gen_e_acsl_assert_data_4); + __gen_e_acsl_assert_data_4.line = 19; + __e_acsl_assert(__gen_e_acsl_at_3 == 0,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); } /*@ assert \at(\at(A,Pre),F) == 0; */ ; A = 3; + { + { + __gen_e_acsl_at_4 = A; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = + {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"A",0,A); + __gen_e_acsl_assert_data_5.blocking = 1; + __gen_e_acsl_assert_data_5.kind = "Precondition"; + __gen_e_acsl_assert_data_5.pred_txt = "\\at(A,Here) == 3"; + __gen_e_acsl_assert_data_5.file = "at.i"; + __gen_e_acsl_assert_data_5.fct = "f"; + __gen_e_acsl_assert_data_5.line = 21; + __e_acsl_assert(A == 3,& __gen_e_acsl_assert_data_5); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); + } + /*@ requires \at(A,Here) == 3; + ensures \at(A,Pre) == 0; + ensures \old(A) == 3; + ensures \at(A,Post) == 4; + */ + A = 4; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = + {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"\\at(A,Pre)", + 0,__gen_e_acsl_at); + __gen_e_acsl_assert_data_6.blocking = 1; + __gen_e_acsl_assert_data_6.kind = "Postcondition"; + __gen_e_acsl_assert_data_6.pred_txt = "\\at(A,Pre) == 0"; + __gen_e_acsl_assert_data_6.file = "at.i"; + __gen_e_acsl_assert_data_6.fct = "f"; + __gen_e_acsl_assert_data_6.line = 22; + __e_acsl_assert(__gen_e_acsl_at == 0,& __gen_e_acsl_assert_data_6); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); + __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = + {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"\\old(A)",0, + __gen_e_acsl_at_4); + __gen_e_acsl_assert_data_7.blocking = 1; + __gen_e_acsl_assert_data_7.kind = "Postcondition"; + __gen_e_acsl_assert_data_7.pred_txt = "\\old(A) == 3"; + __gen_e_acsl_assert_data_7.file = "at.i"; + __gen_e_acsl_assert_data_7.fct = "f"; + __gen_e_acsl_assert_data_7.line = 23; + __e_acsl_assert(__gen_e_acsl_at_4 == 3,& __gen_e_acsl_assert_data_7); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); + __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = + {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"A",0,A); + __gen_e_acsl_assert_data_8.blocking = 1; + __gen_e_acsl_assert_data_8.kind = "Postcondition"; + __gen_e_acsl_assert_data_8.pred_txt = "\\at(A,Post) == 4"; + __gen_e_acsl_assert_data_8.file = "at.i"; + __gen_e_acsl_assert_data_8.fct = "f"; + __gen_e_acsl_assert_data_8.line = 24; + __e_acsl_assert(A == 4,& __gen_e_acsl_assert_data_8); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); + } return; } @@ -103,137 +161,141 @@ void g(int *p, int *q) *q = 0; L1: { - { - int __gen_e_acsl_valid_read_3; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = - {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"q", - (void *)q); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, - "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)q,sizeof(int), - (void *)q, - (void *)(& q)); - __gen_e_acsl_assert_data_5.blocking = 1; - __gen_e_acsl_assert_data_5.kind = "RTE"; - __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(q)"; - __gen_e_acsl_assert_data_5.file = "at.i"; - __gen_e_acsl_assert_data_5.fct = "g"; - __gen_e_acsl_assert_data_5.line = 31; - __gen_e_acsl_assert_data_5.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read_3,& __gen_e_acsl_assert_data_5); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); - __gen_e_acsl_at_3 = *q; - } - { - int __gen_e_acsl_valid_read; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = - {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q", - (void *)q); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)q,sizeof(int), - (void *)q,(void *)(& q)); - __gen_e_acsl_assert_data_2.blocking = 1; - __gen_e_acsl_assert_data_2.kind = "RTE"; - __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(q)"; - __gen_e_acsl_assert_data_2.file = "at.i"; - __gen_e_acsl_assert_data_2.fct = "g"; - __gen_e_acsl_assert_data_2.line = 29; - __gen_e_acsl_assert_data_2.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_2); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); - __gen_e_acsl_at = *q; - } + int __gen_e_acsl_valid_read; + __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"q",(void *)q); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", + 0,sizeof(int)); + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)q,sizeof(int), + (void *)q,(void *)(& q)); + __gen_e_acsl_assert_data.blocking = 1; + __gen_e_acsl_assert_data.kind = "RTE"; + __gen_e_acsl_assert_data.pred_txt = "mem_access: \\valid_read(q)"; + __gen_e_acsl_assert_data.file = "at.i"; + __gen_e_acsl_assert_data.fct = "g"; + __gen_e_acsl_assert_data.line = 39; + __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data); + __gen_e_acsl_at = *q; __e_acsl_initialize((void *)p,sizeof(int)); - *p = 2; } + *p = 2; __e_acsl_initialize((void *)(p + 1),sizeof(int)); *(p + 1) = 3; __e_acsl_initialize((void *)q,sizeof(int)); *q = 1; L2: { - { - int __gen_e_acsl_valid_read_2; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = - {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", - (void *)p); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, - "__gen_e_acsl_at",0,__gen_e_acsl_at); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, - "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at), - sizeof(int),(void *)p, - (void *)(& p)); - __gen_e_acsl_assert_data_3.blocking = 1; - __gen_e_acsl_assert_data_3.kind = "RTE"; - __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(p + __gen_e_acsl_at)"; - __gen_e_acsl_assert_data_3.file = "at.i"; - __gen_e_acsl_assert_data_3.fct = "g"; - __gen_e_acsl_assert_data_3.line = 29; - __gen_e_acsl_assert_data_3.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_3); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __gen_e_acsl_at_2 = *(p + __gen_e_acsl_at); - } - A = 4; + int __gen_e_acsl_valid_read_2; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = + {.values = (void *)0}; + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p",(void *)p); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, + "__gen_e_acsl_at",0,__gen_e_acsl_at); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "sizeof(int)",0,sizeof(int)); + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at), + sizeof(int),(void *)p, + (void *)(& p)); + __gen_e_acsl_assert_data_2.blocking = 1; + __gen_e_acsl_assert_data_2.kind = "RTE"; + __gen_e_acsl_assert_data_2.pred_txt = "mem_access: \\valid_read(p + __gen_e_acsl_at)"; + __gen_e_acsl_assert_data_2.file = "at.i"; + __gen_e_acsl_assert_data_2.fct = "g"; + __gen_e_acsl_assert_data_2.line = 39; + __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_2); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + __gen_e_acsl_at_2 = *(p + __gen_e_acsl_at); } + A = 4; { - __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = + {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\at(*(p + \\at(*q,L1)),L2)",0, __gen_e_acsl_at_2); - __gen_e_acsl_assert_data.blocking = 1; - __gen_e_acsl_assert_data.kind = "Assertion"; - __gen_e_acsl_assert_data.pred_txt = "\\at(*(p + \\at(*q,L1)),L2) == 2"; - __gen_e_acsl_assert_data.file = "at.i"; - __gen_e_acsl_assert_data.fct = "g"; - __gen_e_acsl_assert_data.line = 29; - __e_acsl_assert(__gen_e_acsl_at_2 == 2,& __gen_e_acsl_assert_data); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data); + __gen_e_acsl_assert_data_3.blocking = 1; + __gen_e_acsl_assert_data_3.kind = "Assertion"; + __gen_e_acsl_assert_data_3.pred_txt = "\\at(*(p + \\at(*q,L1)),L2) == 2"; + __gen_e_acsl_assert_data_3.file = "at.i"; + __gen_e_acsl_assert_data_3.fct = "g"; + __gen_e_acsl_assert_data_3.line = 39; + __e_acsl_assert(__gen_e_acsl_at_2 == 2,& __gen_e_acsl_assert_data_3); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); } /*@ assert \at(*(p + \at(*q,L1)),L2) == 2; */ ; L3: { + int __gen_e_acsl_valid_read_3; int __gen_e_acsl_valid_read_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, + "__gen_e_acsl_at",0,__gen_e_acsl_at); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, + "sizeof(int)",0,sizeof(int)); + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at), + sizeof(int),(void *)p, + (void *)(& p)); + __gen_e_acsl_assert_data_4.blocking = 1; + __gen_e_acsl_assert_data_4.kind = "RTE"; + __gen_e_acsl_assert_data_4.pred_txt = "mem_access: \\valid_read(p + __gen_e_acsl_at)"; + __gen_e_acsl_assert_data_4.file = "at.i"; + __gen_e_acsl_assert_data_4.fct = "g"; + __gen_e_acsl_assert_data_4.line = 43; + __e_acsl_assert(__gen_e_acsl_valid_read_3,& __gen_e_acsl_assert_data_4); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + __gen_e_acsl_at_3 = *(p + __gen_e_acsl_at); + __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = + {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "*(p + \\at(*q,L1))",0, - *(p + __gen_e_acsl_at_3)); + *(p + __gen_e_acsl_at)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, - "__gen_e_acsl_at_3",0,__gen_e_acsl_at_3); + "__gen_e_acsl_at",0,__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at_3), + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at), sizeof(int),(void *)p, (void *)(& p)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; - __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(p + __gen_e_acsl_at_3)"; + __gen_e_acsl_assert_data_6.pred_txt = "mem_access: \\valid_read(p + __gen_e_acsl_at)"; __gen_e_acsl_assert_data_6.file = "at.i"; __gen_e_acsl_assert_data_6.fct = "g"; - __gen_e_acsl_assert_data_6.line = 31; - __gen_e_acsl_assert_data_6.name = "mem_access"; + __gen_e_acsl_assert_data_6.line = 41; __e_acsl_assert(__gen_e_acsl_valid_read_4,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); - __gen_e_acsl_assert_data_4.blocking = 1; - __gen_e_acsl_assert_data_4.kind = "Assertion"; - __gen_e_acsl_assert_data_4.pred_txt = "\\at(*(p + \\at(*q,L1)),Here) == 2"; - __gen_e_acsl_assert_data_4.file = "at.i"; - __gen_e_acsl_assert_data_4.fct = "g"; - __gen_e_acsl_assert_data_4.line = 31; - __e_acsl_assert(*(p + __gen_e_acsl_at_3) == 2, - & __gen_e_acsl_assert_data_4); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + __gen_e_acsl_assert_data_5.blocking = 1; + __gen_e_acsl_assert_data_5.kind = "Assertion"; + __gen_e_acsl_assert_data_5.pred_txt = "\\at(*(p + \\at(*q,L1)),Here) == 2"; + __gen_e_acsl_assert_data_5.file = "at.i"; + __gen_e_acsl_assert_data_5.fct = "g"; + __gen_e_acsl_assert_data_5.line = 41; + __e_acsl_assert(*(p + __gen_e_acsl_at) == 2,& __gen_e_acsl_assert_data_5); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); } /*@ assert \at(*(p + \at(*q,L1)),Here) == 2; */ ; + { + __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = + {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, + "\\at(*(p + \\at(*q,L1)),L3)",0, + __gen_e_acsl_at_3); + __gen_e_acsl_assert_data_7.blocking = 1; + __gen_e_acsl_assert_data_7.kind = "Assertion"; + __gen_e_acsl_assert_data_7.pred_txt = "\\at(*(p + \\at(*q,L1)),L3) == 2"; + __gen_e_acsl_assert_data_7.file = "at.i"; + __gen_e_acsl_assert_data_7.fct = "g"; + __gen_e_acsl_assert_data_7.line = 43; + __e_acsl_assert(__gen_e_acsl_at_3 == 2,& __gen_e_acsl_assert_data_7); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); + } + /*@ assert \at(*(p + \at(*q,L1)),L3) == 2; */ ; __e_acsl_delete_block((void *)(& q)); __e_acsl_delete_block((void *)(& p)); return; @@ -249,9 +311,53 @@ int h(int x) return x; } +void i(void) +{ + long __gen_e_acsl_at_2; + long __gen_e_acsl_at; + int a = 0; + { + __gen_e_acsl_at = (long)a; + /*@ ensures \old(a) + 1 == \at(a,Post); */ + a ++; + __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data,"\\old(a)",0, + __gen_e_acsl_at); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"a",0,a); + __gen_e_acsl_assert_data.blocking = 1; + __gen_e_acsl_assert_data.kind = "Postcondition"; + __gen_e_acsl_assert_data.pred_txt = "\\old(a) + 1 == \\at(a,Post)"; + __gen_e_acsl_assert_data.file = "at.i"; + __gen_e_acsl_assert_data.fct = "i"; + __gen_e_acsl_assert_data.line = 59; + __e_acsl_assert(__gen_e_acsl_at + 1L == (long)a, + & __gen_e_acsl_assert_data); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data); + } + { + __gen_e_acsl_at_2 = (long)a; + /*@ ensures \old(a) + 1 == \at(a,Post); */ + a ++; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = + {.values = (void *)0}; + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_2,"\\old(a)",0, + __gen_e_acsl_at_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"a",0,a); + __gen_e_acsl_assert_data_2.blocking = 1; + __gen_e_acsl_assert_data_2.kind = "Postcondition"; + __gen_e_acsl_assert_data_2.pred_txt = "\\old(a) + 1 == \\at(a,Post)"; + __gen_e_acsl_assert_data_2.file = "at.i"; + __gen_e_acsl_assert_data_2.fct = "i"; + __gen_e_acsl_assert_data_2.line = 62; + __e_acsl_assert(__gen_e_acsl_at_2 + 1L == (long)a, + & __gen_e_acsl_assert_data_2); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + } + return; +} + int main(void) { - long __gen_e_acsl_at_3; long __gen_e_acsl_at_2; int __gen_e_acsl_at; int __retres; @@ -264,24 +370,20 @@ int main(void) x = __gen_e_acsl_h(0); L: { - __gen_e_acsl_at_3 = (long)x; - __gen_e_acsl_at_2 = x + 1L; __gen_e_acsl_at = x; - { - __e_acsl_assert_data_t __gen_e_acsl_assert_data = - {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x); - __gen_e_acsl_assert_data.blocking = 1; - __gen_e_acsl_assert_data.kind = "Assertion"; - __gen_e_acsl_assert_data.pred_txt = "x == 0"; - __gen_e_acsl_assert_data.file = "at.i"; - __gen_e_acsl_assert_data.fct = "main"; - __gen_e_acsl_assert_data.line = 48; - __e_acsl_assert(x == 0,& __gen_e_acsl_assert_data); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data); - } - /*@ assert x == 0; */ ; + __gen_e_acsl_at_2 = x + 1L; + __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x); + __gen_e_acsl_assert_data.blocking = 1; + __gen_e_acsl_assert_data.kind = "Assertion"; + __gen_e_acsl_assert_data.pred_txt = "x == 0"; + __gen_e_acsl_assert_data.file = "at.i"; + __gen_e_acsl_assert_data.fct = "main"; + __gen_e_acsl_assert_data.line = 71; + __e_acsl_assert(x == 0,& __gen_e_acsl_assert_data); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data); } + /*@ assert x == 0; */ ; __e_acsl_full_init((void *)(& x)); x = 1; __e_acsl_full_init((void *)(& x)); @@ -297,7 +399,7 @@ int main(void) __gen_e_acsl_assert_data_2.pred_txt = "\\at(x,L) == 0"; __gen_e_acsl_assert_data_2.file = "at.i"; __gen_e_acsl_assert_data_2.fct = "main"; - __gen_e_acsl_assert_data_2.line = 54; + __gen_e_acsl_assert_data_2.line = 77; __e_acsl_assert(__gen_e_acsl_at == 0,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); } @@ -312,7 +414,7 @@ int main(void) __gen_e_acsl_assert_data_3.pred_txt = "\\at(x + 1,L) == 1"; __gen_e_acsl_assert_data_3.file = "at.i"; __gen_e_acsl_assert_data_3.fct = "main"; - __gen_e_acsl_assert_data_3.line = 55; + __gen_e_acsl_assert_data_3.line = 78; __e_acsl_assert(__gen_e_acsl_at_2 == 1L,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); } @@ -320,20 +422,21 @@ int main(void) { __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_4,"\\at(x,L)",0, - __gen_e_acsl_at_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\at(x,L)",0, + __gen_e_acsl_at); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Assertion"; __gen_e_acsl_assert_data_4.pred_txt = "\\at(x,L) + 1 == 1"; __gen_e_acsl_assert_data_4.file = "at.i"; __gen_e_acsl_assert_data_4.fct = "main"; - __gen_e_acsl_assert_data_4.line = 56; - __e_acsl_assert(__gen_e_acsl_at_3 + 1L == 1L, + __gen_e_acsl_assert_data_4.line = 79; + __e_acsl_assert((long)__gen_e_acsl_at + 1L == 1L, & __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); } /*@ assert \at(x,L) + 1 == 1; */ ; g(t,& x); + i(); __retres = 0; __e_acsl_delete_block((void *)(t)); __e_acsl_delete_block((void *)(& x)); @@ -361,7 +464,7 @@ int __gen_e_acsl_h(int x) __gen_e_acsl_assert_data.pred_txt = "\\result == \\old(x)"; __gen_e_acsl_assert_data.file = "at.i"; __gen_e_acsl_assert_data.fct = "h"; - __gen_e_acsl_assert_data.line = 38; + __gen_e_acsl_assert_data.line = 48; __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data); __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_delete_block((void *)(& x)); @@ -370,24 +473,75 @@ int __gen_e_acsl_h(int x) } } -/*@ ensures \at(A,Post) == 3; */ +/*@ requires \at(A,Here) == 0; + requires \at(A,Pre) == 0; + ensures \at(A,Pre) == \old(A) == 0; + ensures \at(A,Post) == 4; + */ void __gen_e_acsl_f(void) { + int __gen_e_acsl_at_2; int __gen_e_acsl_at; - f(); { __gen_e_acsl_at = A; + __gen_e_acsl_at_2 = A; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\at(A,Post)",0, - __gen_e_acsl_at); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"A",0,A); __gen_e_acsl_assert_data.blocking = 1; - __gen_e_acsl_assert_data.kind = "Postcondition"; - __gen_e_acsl_assert_data.pred_txt = "\\at(A,Post) == 3"; + __gen_e_acsl_assert_data.kind = "Precondition"; + __gen_e_acsl_assert_data.pred_txt = "\\at(A,Here) == 0"; __gen_e_acsl_assert_data.file = "at.i"; __gen_e_acsl_assert_data.fct = "f"; - __gen_e_acsl_assert_data.line = 7; - __e_acsl_assert(__gen_e_acsl_at == 3,& __gen_e_acsl_assert_data); + __gen_e_acsl_assert_data.line = 8; + __e_acsl_assert(A == 0,& __gen_e_acsl_assert_data); __e_acsl_assert_clean(& __gen_e_acsl_assert_data); + __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = + {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\at(A,Pre)", + 0,__gen_e_acsl_at_2); + __gen_e_acsl_assert_data_2.blocking = 1; + __gen_e_acsl_assert_data_2.kind = "Precondition"; + __gen_e_acsl_assert_data_2.pred_txt = "\\at(A,Pre) == 0"; + __gen_e_acsl_assert_data_2.file = "at.i"; + __gen_e_acsl_assert_data_2.fct = "f"; + __gen_e_acsl_assert_data_2.line = 9; + __e_acsl_assert(__gen_e_acsl_at_2 == 0,& __gen_e_acsl_assert_data_2); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + } + f(); + { + int __gen_e_acsl_and; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = + {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\at(A,Pre)", + 0,__gen_e_acsl_at_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\old(A)",0, + __gen_e_acsl_at); + if (__gen_e_acsl_at_2 == __gen_e_acsl_at) { + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\old(A)",0, + __gen_e_acsl_at); + __gen_e_acsl_and = __gen_e_acsl_at == 0; + } + else __gen_e_acsl_and = 0; + __gen_e_acsl_assert_data_3.blocking = 1; + __gen_e_acsl_assert_data_3.kind = "Postcondition"; + __gen_e_acsl_assert_data_3.pred_txt = "\\at(A,Pre) == \\old(A) == 0"; + __gen_e_acsl_assert_data_3.file = "at.i"; + __gen_e_acsl_assert_data_3.fct = "f"; + __gen_e_acsl_assert_data_3.line = 10; + __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_3); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); + __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = + {.values = (void *)0}; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"A",0,A); + __gen_e_acsl_assert_data_4.blocking = 1; + __gen_e_acsl_assert_data_4.kind = "Postcondition"; + __gen_e_acsl_assert_data_4.pred_txt = "\\at(A,Post) == 4"; + __gen_e_acsl_assert_data_4.file = "at.i"; + __gen_e_acsl_assert_data_4.fct = "f"; + __gen_e_acsl_assert_data_4.line = 11; + __e_acsl_assert(A == 4,& __gen_e_acsl_assert_data_4); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); return; } } diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c b/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c index 9398cc676d2148b415c3b2fd7bf634e7274f861e..1e9af6023135f12963514b9fcbd469d275a408d4 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c @@ -30,26 +30,24 @@ void g(void) m = 8; Q: { - { - int __gen_e_acsl_w_2; - __gen_e_acsl_w_2 = 3; - while (1) { - if (__gen_e_acsl_w_2 < 6) ; else break; - *(__gen_e_acsl_at + (__gen_e_acsl_w_2 - 3)) = m + (long)__gen_e_acsl_w_2 == 12L; - __gen_e_acsl_w_2 ++; - } + int __gen_e_acsl_w; + __gen_e_acsl_w = 3; + while (1) { + if (__gen_e_acsl_w < 6) ; else break; + *(__gen_e_acsl_at + (__gen_e_acsl_w - 3)) = m + (long)__gen_e_acsl_w == 12L; + __gen_e_acsl_w ++; } - ; } + ; m = 10; { int __gen_e_acsl_exists; - int __gen_e_acsl_w; + int __gen_e_acsl_w_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __gen_e_acsl_exists = 0; - __gen_e_acsl_w = 3; + __gen_e_acsl_w_2 = 3; while (1) { - if (__gen_e_acsl_w < 6) ; else break; + if (__gen_e_acsl_w_2 < 6) ; else break; { int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = @@ -58,30 +56,30 @@ void g(void) "__gen_e_acsl_at", (void *)__gen_e_acsl_at); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, - "__gen_e_acsl_w",0,__gen_e_acsl_w); + "__gen_e_acsl_w_2",0,__gen_e_acsl_w_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(__gen_e_acsl_at + (int)( - __gen_e_acsl_w - 3L)), + __gen_e_acsl_w_2 - 3L)), sizeof(int), (void *)__gen_e_acsl_at, (void *)(& __gen_e_acsl_at)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; - __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(__gen_e_acsl_at + (int)(__gen_e_acsl_w - 3))"; + __gen_e_acsl_assert_data_2.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at + (int)(__gen_e_acsl_w_2 - 3))"; __gen_e_acsl_assert_data_2.file = "at_on-purely-logic-variables.c"; __gen_e_acsl_assert_data_2.fct = "g"; __gen_e_acsl_assert_data_2.line = 16; __gen_e_acsl_assert_data_2.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); - if (! *(__gen_e_acsl_at + (__gen_e_acsl_w - 3))) ; + if (! *(__gen_e_acsl_at + (__gen_e_acsl_w_2 - 3))) ; else { __gen_e_acsl_exists = 1; goto e_acsl_end_loop1; } } - __gen_e_acsl_w ++; + __gen_e_acsl_w_2 ++; } e_acsl_end_loop1: ; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, @@ -103,138 +101,134 @@ void g(void) int main(void) { + long *__gen_e_acsl_at_8; int *__gen_e_acsl_at_7; - int *__gen_e_acsl_at_6; - long *__gen_e_acsl_at_5; - long *__gen_e_acsl_at_4; + long *__gen_e_acsl_at_6; + int *__gen_e_acsl_at_5; int *__gen_e_acsl_at_3; - int *__gen_e_acsl_at_2; + long *__gen_e_acsl_at_2; int *__gen_e_acsl_at; int __retres; int n; __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); + __gen_e_acsl_at_8 = (long *)malloc((size_t)64); __gen_e_acsl_at_7 = (int *)malloc((size_t)12000); - __gen_e_acsl_at_6 = (int *)malloc((size_t)1536); - __gen_e_acsl_at_5 = (long *)malloc((size_t)64); - __gen_e_acsl_at_4 = (long *)malloc((size_t)8); - __gen_e_acsl_at_3 = (int *)malloc((size_t)528); - __gen_e_acsl_at_2 = (int *)malloc((size_t)12); + __gen_e_acsl_at_6 = (long *)malloc((size_t)3072); + __gen_e_acsl_at_5 = (int *)malloc((size_t)528); + __gen_e_acsl_at_3 = (int *)malloc((size_t)12); + __gen_e_acsl_at_2 = (long *)malloc((size_t)8); __gen_e_acsl_at = (int *)malloc((size_t)4); __e_acsl_store_block((void *)(& n),(size_t)4); __e_acsl_full_init((void *)(& n)); n = 7; L: { - { - int __gen_e_acsl_i_4; - __gen_e_acsl_i_4 = 3; - *(__gen_e_acsl_at_4 + 0) = n + (long)__gen_e_acsl_i_4; - } - { - int __gen_e_acsl_j_2; - __gen_e_acsl_j_2 = 2; - while (1) { - if (__gen_e_acsl_j_2 < 5) ; else break; - *(__gen_e_acsl_at_2 + (__gen_e_acsl_j_2 - 2)) = n + (long)__gen_e_acsl_j_2 == 11L; - __gen_e_acsl_j_2 ++; - } - } - { - int __gen_e_acsl_i_2; - __gen_e_acsl_i_2 = 3; - *(__gen_e_acsl_at + 0) = n + (long)__gen_e_acsl_i_2 == 10L; + int __gen_e_acsl_i; + __gen_e_acsl_i = 3; + *(__gen_e_acsl_at + 0) = n + (long)__gen_e_acsl_i == 10L; + } + { + int __gen_e_acsl_i_2; + __gen_e_acsl_i_2 = 3; + *(__gen_e_acsl_at_2 + 0) = n + (long)__gen_e_acsl_i_2; + } + { + int __gen_e_acsl_j; + __gen_e_acsl_j = 2; + while (1) { + if (__gen_e_acsl_j < 5) ; else break; + *(__gen_e_acsl_at_3 + (__gen_e_acsl_j - 2)) = n + (long)__gen_e_acsl_j == 11L; + __gen_e_acsl_j ++; } - ; } + ; __e_acsl_full_init((void *)(& n)); n = 9; K: { - { - int __gen_e_acsl_u_6; - int __gen_e_acsl_v_6; - int __gen_e_acsl_w_2; - __gen_e_acsl_u_6 = 10; + int __gen_e_acsl_k; + int __gen_e_acsl_u; + int __gen_e_acsl_v; + __gen_e_acsl_k = -7; + __gen_e_acsl_u = 9; + while (1) { + if (__gen_e_acsl_u < 21) ; else break; + __gen_e_acsl_v = -5 + 1; while (1) { - if (__gen_e_acsl_u_6 < 20) ; else break; - __gen_e_acsl_v_6 = -10 + 1; - while (1) { - { - int __gen_e_acsl_u_8; - __gen_e_acsl_u_8 = -2; - if (__gen_e_acsl_v_6 <= -5 + __gen_e_acsl_u_8) ; else break; - } - __gen_e_acsl_w_2 = 100 + 1; - while (1) { - if (__gen_e_acsl_w_2 <= 200) ; else break; - { - int __gen_e_acsl_u_7; - __gen_e_acsl_u_7 = 42; - *(__gen_e_acsl_at_7 + ((__gen_e_acsl_u_6 - 10) * 300 + ( - (__gen_e_acsl_v_6 - -9) * 100 + ( - __gen_e_acsl_w_2 - 101)))) = ((( - n - (long)__gen_e_acsl_u_6) + __gen_e_acsl_u_7) + __gen_e_acsl_v_6) + __gen_e_acsl_w_2 > 0L; - } - __gen_e_acsl_w_2 ++; - } - __gen_e_acsl_v_6 ++; + if (__gen_e_acsl_v <= 6) ; else break; + { + long __gen_e_acsl_if; + if (__gen_e_acsl_u > 0) __gen_e_acsl_if = n + (long)__gen_e_acsl_k; + else __gen_e_acsl_if = __gen_e_acsl_u + __gen_e_acsl_v; + *(__gen_e_acsl_at_5 + ((__gen_e_acsl_u - 9) * 11 + (__gen_e_acsl_v - -4))) = + __gen_e_acsl_if > 0L; } - __gen_e_acsl_u_6 ++; + __gen_e_acsl_v ++; } + __gen_e_acsl_u ++; } - { - int __gen_e_acsl_u_4; - int __gen_e_acsl_v_4; - __gen_e_acsl_u_4 = 9; + } + { + int __gen_e_acsl_u_2; + int __gen_e_acsl_v_2; + __gen_e_acsl_u_2 = 9; + while (1) { + if (__gen_e_acsl_u_2 < 21) ; else break; + __gen_e_acsl_v_2 = -5 + 1; while (1) { - if (__gen_e_acsl_u_4 < 21) ; else break; - __gen_e_acsl_v_4 = -5 + 1; - while (1) { - { - int __gen_e_acsl_if_2; - if (__gen_e_acsl_u_4 < 15) __gen_e_acsl_if_2 = __gen_e_acsl_u_4 + 6; - else __gen_e_acsl_if_2 = 3; - if (__gen_e_acsl_v_4 <= __gen_e_acsl_if_2) ; else break; - } - *(__gen_e_acsl_at_6 + ((__gen_e_acsl_u_4 - 9) * 32 + (__gen_e_acsl_v_4 - -4))) = - (n + (long)__gen_e_acsl_u_4) + __gen_e_acsl_v_4 > 0L; - __gen_e_acsl_v_4 ++; + { + int __gen_e_acsl_if_2; + if (__gen_e_acsl_u_2 < 15) __gen_e_acsl_if_2 = __gen_e_acsl_u_2 + 6; + else __gen_e_acsl_if_2 = 3; + if (__gen_e_acsl_v_2 <= __gen_e_acsl_if_2) ; else break; } - __gen_e_acsl_u_4 ++; + *(__gen_e_acsl_at_6 + ((__gen_e_acsl_u_2 - 9) * 32 + (__gen_e_acsl_v_2 - -4))) = + (n + (long)__gen_e_acsl_u_2) + __gen_e_acsl_v_2; + __gen_e_acsl_v_2 ++; } + __gen_e_acsl_u_2 ++; } - { - int __gen_e_acsl_k_2; - int __gen_e_acsl_u_2; - int __gen_e_acsl_v_2; - __gen_e_acsl_k_2 = -7; - __gen_e_acsl_u_2 = 9; + } + { + int __gen_e_acsl_u_3; + int __gen_e_acsl_v_3; + int __gen_e_acsl_w; + __gen_e_acsl_u_3 = 10; + while (1) { + if (__gen_e_acsl_u_3 < 20) ; else break; + __gen_e_acsl_v_3 = -10 + 1; while (1) { - if (__gen_e_acsl_u_2 < 21) ; else break; - __gen_e_acsl_v_2 = -5 + 1; + { + int __gen_e_acsl_u_5; + __gen_e_acsl_u_5 = -2; + if (__gen_e_acsl_v_3 <= -5 + __gen_e_acsl_u_5) ; else break; + } + __gen_e_acsl_w = 100 + 1; while (1) { - if (__gen_e_acsl_v_2 <= 6) ; else break; + if (__gen_e_acsl_w <= 200) ; else break; { - long __gen_e_acsl_if; - if (__gen_e_acsl_u_2 > 0) __gen_e_acsl_if = n + (long)__gen_e_acsl_k_2; - else __gen_e_acsl_if = __gen_e_acsl_u_2 + __gen_e_acsl_v_2; - *(__gen_e_acsl_at_3 + ((__gen_e_acsl_u_2 - 9) * 11 + (__gen_e_acsl_v_2 - -4))) = - __gen_e_acsl_if > 0L; + int __gen_e_acsl_u_4; + __gen_e_acsl_u_4 = 42; + *(__gen_e_acsl_at_7 + ((__gen_e_acsl_u_3 - 10) * 300 + (( + __gen_e_acsl_v_3 - -9) * 100 + ( + __gen_e_acsl_w - 101)))) = + (((n - (long)__gen_e_acsl_u_3) + __gen_e_acsl_u_4) + __gen_e_acsl_v_3) + __gen_e_acsl_w > 0L; } - __gen_e_acsl_v_2 ++; + __gen_e_acsl_w ++; } - __gen_e_acsl_u_2 ++; + __gen_e_acsl_v_3 ++; } + __gen_e_acsl_u_3 ++; } - ; } + ; __e_acsl_full_init((void *)(& n)); n = 666; { - int __gen_e_acsl_i; + int __gen_e_acsl_i_3; int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __gen_e_acsl_i = 3; + __gen_e_acsl_i_3 = 3; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\at(n + i == 10,L)",0, *(__gen_e_acsl_at + 0)); @@ -269,32 +263,32 @@ int main(void) /*@ assert \let i = 3; \at(n + i == 10,L); */ ; { int __gen_e_acsl_exists; - int __gen_e_acsl_j; + int __gen_e_acsl_j_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; __gen_e_acsl_exists = 0; - __gen_e_acsl_j = 2; + __gen_e_acsl_j_2 = 2; while (1) { - if (__gen_e_acsl_j < 5) ; else break; + if (__gen_e_acsl_j_2 < 5) ; else break; { int __gen_e_acsl_valid_read_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, - "__gen_e_acsl_at_2", - (void *)__gen_e_acsl_at_2); + "__gen_e_acsl_at_3", + (void *)__gen_e_acsl_at_3); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, - "__gen_e_acsl_j",0,__gen_e_acsl_j); + "__gen_e_acsl_j_2",0,__gen_e_acsl_j_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_2 + (int)( - __gen_e_acsl_j - 2L)), + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_3 + (int)( + __gen_e_acsl_j_2 - 2L)), sizeof(int), - (void *)__gen_e_acsl_at_2, - (void *)(& __gen_e_acsl_at_2)); + (void *)__gen_e_acsl_at_3, + (void *)(& __gen_e_acsl_at_3)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; - __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(__gen_e_acsl_at_2 + (int)(__gen_e_acsl_j - 2))"; + __gen_e_acsl_assert_data_4.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at_3 + (int)(__gen_e_acsl_j_2 - 2))"; __gen_e_acsl_assert_data_4.file = "at_on-purely-logic-variables.c"; __gen_e_acsl_assert_data_4.fct = "main"; __gen_e_acsl_assert_data_4.line = 29; @@ -302,13 +296,13 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_2, & __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); - if (! *(__gen_e_acsl_at_2 + (__gen_e_acsl_j - 2))) ; + if (! *(__gen_e_acsl_at_3 + (__gen_e_acsl_j_2 - 2))) ; else { __gen_e_acsl_exists = 1; goto e_acsl_end_loop2; } } - __gen_e_acsl_j ++; + __gen_e_acsl_j_2 ++; } e_acsl_end_loop2: ; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, @@ -325,48 +319,50 @@ int main(void) } /*@ assert \exists integer j; 2 <= j < 5 && \at(n + j == 11,L); */ ; { - int __gen_e_acsl_k; + int __gen_e_acsl_k_2; int __gen_e_acsl_exists_2; - int __gen_e_acsl_u; + int __gen_e_acsl_u_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; - __gen_e_acsl_k = -7; + __gen_e_acsl_k_2 = -7; __gen_e_acsl_exists_2 = 0; - __gen_e_acsl_u = 9; + __gen_e_acsl_u_6 = 9; while (1) { - if (__gen_e_acsl_u < 21) ; else break; + if (__gen_e_acsl_u_6 < 21) ; else break; { int __gen_e_acsl_forall; - int __gen_e_acsl_v; + int __gen_e_acsl_v_4; __gen_e_acsl_forall = 1; - __gen_e_acsl_v = -5 + 1; + __gen_e_acsl_v_4 = -5 + 1; while (1) { - if (__gen_e_acsl_v <= 6) ; else break; + if (__gen_e_acsl_v_4 <= 6) ; else break; { int __gen_e_acsl_valid_read_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, - "__gen_e_acsl_at_3", - (void *)__gen_e_acsl_at_3); + "__gen_e_acsl_at_5", + (void *)__gen_e_acsl_at_5); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, - "__gen_e_acsl_u",0,__gen_e_acsl_u); + "__gen_e_acsl_u_6",0, + __gen_e_acsl_u_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, - "__gen_e_acsl_v",0,__gen_e_acsl_v); + "__gen_e_acsl_v_4",0, + __gen_e_acsl_v_4); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)( - __gen_e_acsl_at_3 + (int)( + __gen_e_acsl_at_5 + (int)( (long)((int)( (long)((int)( - __gen_e_acsl_u - 9L)) * 11L)) + (int)( - __gen_e_acsl_v - -4L))), + __gen_e_acsl_u_6 - 9L)) * 11L)) + (int)( + __gen_e_acsl_v_4 - -4L))), sizeof(int), - (void *)__gen_e_acsl_at_3, - (void *)(& __gen_e_acsl_at_3)); + (void *)__gen_e_acsl_at_5, + (void *)(& __gen_e_acsl_at_5)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; - __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(__gen_e_acsl_at_3 +\n (int)((int)((int)(__gen_e_acsl_u - 9) * 11) +\n (int)(__gen_e_acsl_v - -4)))"; + __gen_e_acsl_assert_data_6.pred_txt = "mem_access:\n \\valid_read(__gen_e_acsl_at_5 +\n (int)((int)((int)(__gen_e_acsl_u_6 - 9) * 11) +\n (int)(__gen_e_acsl_v_4 - -4)))"; __gen_e_acsl_assert_data_6.file = "at_on-purely-logic-variables.c"; __gen_e_acsl_assert_data_6.fct = "main"; __gen_e_acsl_assert_data_6.line = 34; @@ -374,14 +370,14 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_3, & __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); - if (*(__gen_e_acsl_at_3 + ((__gen_e_acsl_u - 9) * 11 + (__gen_e_acsl_v - -4)))) - ; + if (*(__gen_e_acsl_at_5 + ((__gen_e_acsl_u_6 - 9) * 11 + ( + __gen_e_acsl_v_4 - -4)))) ; else { __gen_e_acsl_forall = 0; goto e_acsl_end_loop3; } } - __gen_e_acsl_v ++; + __gen_e_acsl_v_4 ++; } e_acsl_end_loop3: ; if (! __gen_e_acsl_forall) ; @@ -390,7 +386,7 @@ int main(void) goto e_acsl_end_loop4; } } - __gen_e_acsl_u ++; + __gen_e_acsl_u_6 ++; } e_acsl_end_loop4: ; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, @@ -413,27 +409,27 @@ int main(void) */ ; { - int __gen_e_acsl_i_3; + int __gen_e_acsl_i_4; int __gen_e_acsl_valid_read_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __gen_e_acsl_i_3 = 3; + __gen_e_acsl_i_4 = 3; __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_7, - "\\at(n + i,L)",0,*(__gen_e_acsl_at_4 + 0)); + "\\at(n + i,L)",0,*(__gen_e_acsl_at_2 + 0)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, - "__gen_e_acsl_at_4", - (void *)__gen_e_acsl_at_4); + "__gen_e_acsl_at_2", + (void *)__gen_e_acsl_at_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_4 + 0), + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_2 + 0), sizeof(long), - (void *)__gen_e_acsl_at_4, - (void *)(& __gen_e_acsl_at_4)); + (void *)__gen_e_acsl_at_2, + (void *)(& __gen_e_acsl_at_2)); __gen_e_acsl_assert_data_8.blocking = 1; __gen_e_acsl_assert_data_8.kind = "RTE"; - __gen_e_acsl_assert_data_8.pred_txt = "\\valid_read(__gen_e_acsl_at_4 + 0)"; + __gen_e_acsl_assert_data_8.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at_2 + 0)"; __gen_e_acsl_assert_data_8.file = "at_on-purely-logic-variables.c"; __gen_e_acsl_assert_data_8.fct = "main"; __gen_e_acsl_assert_data_8.line = 38; @@ -446,7 +442,7 @@ int main(void) __gen_e_acsl_assert_data_7.file = "at_on-purely-logic-variables.c"; __gen_e_acsl_assert_data_7.fct = "main"; __gen_e_acsl_assert_data_7.line = 38; - __e_acsl_assert(*(__gen_e_acsl_at_4 + 0) == 10L, + __e_acsl_assert(*(__gen_e_acsl_at_2 + 0) == 10L, & __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); } @@ -454,46 +450,44 @@ int main(void) unsigned int m = (unsigned int)3; G: { - { - int __gen_e_acsl_k_4; - __gen_e_acsl_k_4 = -9 + 1; - while (1) { - if (__gen_e_acsl_k_4 < 0) ; else break; - *(__gen_e_acsl_at_5 + (__gen_e_acsl_k_4 - -8)) = m + (long)__gen_e_acsl_k_4; - __gen_e_acsl_k_4 ++; - } + int __gen_e_acsl_k_3; + __gen_e_acsl_k_3 = -9 + 1; + while (1) { + if (__gen_e_acsl_k_3 < 0) ; else break; + *(__gen_e_acsl_at_8 + (__gen_e_acsl_k_3 - -8)) = m + (long)__gen_e_acsl_k_3; + __gen_e_acsl_k_3 ++; } - ; } + ; m = (unsigned int)(-3); { int __gen_e_acsl_exists_3; - int __gen_e_acsl_k_3; + int __gen_e_acsl_k_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; __gen_e_acsl_exists_3 = 0; - __gen_e_acsl_k_3 = -9 + 1; + __gen_e_acsl_k_4 = -9 + 1; while (1) { - if (__gen_e_acsl_k_3 < 0) ; else break; + if (__gen_e_acsl_k_4 < 0) ; else break; { int __gen_e_acsl_valid_read_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, - "__gen_e_acsl_at_5", - (void *)__gen_e_acsl_at_5); + "__gen_e_acsl_at_8", + (void *)__gen_e_acsl_at_8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, - "__gen_e_acsl_k_3",0,__gen_e_acsl_k_3); + "__gen_e_acsl_k_4",0,__gen_e_acsl_k_4); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_5 + (int)( - __gen_e_acsl_k_3 - -8L)), + __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_8 + (int)( + __gen_e_acsl_k_4 - -8L)), sizeof(long), - (void *)__gen_e_acsl_at_5, - (void *)(& __gen_e_acsl_at_5)); + (void *)__gen_e_acsl_at_8, + (void *)(& __gen_e_acsl_at_8)); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "RTE"; - __gen_e_acsl_assert_data_10.pred_txt = "\\valid_read(__gen_e_acsl_at_5 + (int)(__gen_e_acsl_k_3 - -8))"; + __gen_e_acsl_assert_data_10.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at_8 + (int)(__gen_e_acsl_k_4 - -8))"; __gen_e_acsl_assert_data_10.file = "at_on-purely-logic-variables.c"; __gen_e_acsl_assert_data_10.fct = "main"; __gen_e_acsl_assert_data_10.line = 42; @@ -501,14 +495,14 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_5, & __gen_e_acsl_assert_data_10); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10); - if (! (*(__gen_e_acsl_at_5 + (__gen_e_acsl_k_3 - -8)) == 0L)) + if (! (*(__gen_e_acsl_at_8 + (__gen_e_acsl_k_4 - -8)) == 0L)) ; else { __gen_e_acsl_exists_3 = 1; goto e_acsl_end_loop5; } } - __gen_e_acsl_k_3 ++; + __gen_e_acsl_k_4 ++; } e_acsl_end_loop5: ; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, @@ -526,24 +520,24 @@ int main(void) /*@ assert \exists integer k; -9 < k < 0 && \at(m + k,G) == 0; */ ; { int __gen_e_acsl_exists_4; - int __gen_e_acsl_u_3; + int __gen_e_acsl_u_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; __gen_e_acsl_exists_4 = 0; - __gen_e_acsl_u_3 = 9; + __gen_e_acsl_u_7 = 9; while (1) { - if (__gen_e_acsl_u_3 < 21) ; else break; + if (__gen_e_acsl_u_7 < 21) ; else break; { int __gen_e_acsl_forall_2; - int __gen_e_acsl_v_3; + int __gen_e_acsl_v_5; __gen_e_acsl_forall_2 = 1; - __gen_e_acsl_v_3 = -5 + 1; + __gen_e_acsl_v_5 = -5 + 1; while (1) { { int __gen_e_acsl_if_3; - if (__gen_e_acsl_u_3 < 15) __gen_e_acsl_if_3 = __gen_e_acsl_u_3 + 6; + if (__gen_e_acsl_u_7 < 15) __gen_e_acsl_if_3 = __gen_e_acsl_u_7 + 6; else __gen_e_acsl_if_3 = 3; - if (__gen_e_acsl_v_3 <= __gen_e_acsl_if_3) ; else break; + if (__gen_e_acsl_v_5 <= __gen_e_acsl_if_3) ; else break; } { int __gen_e_acsl_valid_read_6; @@ -553,25 +547,25 @@ int main(void) "__gen_e_acsl_at_6", (void *)__gen_e_acsl_at_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, - "__gen_e_acsl_u_3",0, - __gen_e_acsl_u_3); + "__gen_e_acsl_u_7",0, + __gen_e_acsl_u_7); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, - "__gen_e_acsl_v_3",0, - __gen_e_acsl_v_3); + "__gen_e_acsl_v_5",0, + __gen_e_acsl_v_5); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, - "sizeof(int)",0,sizeof(int)); + "sizeof(long)",0,sizeof(long)); __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)( __gen_e_acsl_at_6 + (int)( (long)((int)( (long)((int)( - __gen_e_acsl_u_3 - 9L)) * 32L)) + (int)( - __gen_e_acsl_v_3 - -4L))), - sizeof(int), + __gen_e_acsl_u_7 - 9L)) * 32L)) + (int)( + __gen_e_acsl_v_5 - -4L))), + sizeof(long), (void *)__gen_e_acsl_at_6, (void *)(& __gen_e_acsl_at_6)); __gen_e_acsl_assert_data_12.blocking = 1; __gen_e_acsl_assert_data_12.kind = "RTE"; - __gen_e_acsl_assert_data_12.pred_txt = "\\valid_read(__gen_e_acsl_at_6 +\n (int)((int)((int)(__gen_e_acsl_u_3 - 9) * 32) +\n (int)(__gen_e_acsl_v_3 - -4)))"; + __gen_e_acsl_assert_data_12.pred_txt = "mem_access:\n \\valid_read(__gen_e_acsl_at_6 +\n (int)((int)((int)(__gen_e_acsl_u_7 - 9) * 32) +\n (int)(__gen_e_acsl_v_5 - -4)))"; __gen_e_acsl_assert_data_12.file = "at_on-purely-logic-variables.c"; __gen_e_acsl_assert_data_12.fct = "main"; __gen_e_acsl_assert_data_12.line = 46; @@ -582,17 +576,18 @@ int main(void) /*@ assert Eva: initialization: \initialized(__gen_e_acsl_at_6 + - (int)((int)((int)(__gen_e_acsl_u_3 - 9) * 32) - + (int)(__gen_e_acsl_v_3 - -4))); + (int)((int)((int)(__gen_e_acsl_u_7 - 9) * 32) + + (int)(__gen_e_acsl_v_5 - -4))); */ - if (*(__gen_e_acsl_at_6 + ((__gen_e_acsl_u_3 - 9) * 32 + ( - __gen_e_acsl_v_3 - -4)))) ; + if (*(__gen_e_acsl_at_6 + ((__gen_e_acsl_u_7 - 9) * 32 + ( + __gen_e_acsl_v_5 - -4))) > 0L) + ; else { __gen_e_acsl_forall_2 = 0; goto e_acsl_end_loop6; } } - __gen_e_acsl_v_3 ++; + __gen_e_acsl_v_5 ++; } e_acsl_end_loop6: ; if (! __gen_e_acsl_forall_2) ; @@ -601,15 +596,15 @@ int main(void) goto e_acsl_end_loop7; } } - __gen_e_acsl_u_3 ++; + __gen_e_acsl_u_7 ++; } e_acsl_end_loop7: ; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, - "\\exists integer u;\n 9 <= u < 21 &&\n (\\forall integer v; -5 < v <= (u < 15? u + 6: 3) ==> \\at((n + u) + v > 0,K))", + "\\exists integer u;\n 9 <= u < 21 &&\n (\\forall integer v; -5 < v <= (u < 15? u + 6: 3) ==> \\at((n + u) + v,K) > 0)", 0,__gen_e_acsl_exists_4); __gen_e_acsl_assert_data_11.blocking = 1; __gen_e_acsl_assert_data_11.kind = "Assertion"; - __gen_e_acsl_assert_data_11.pred_txt = "\\exists integer u;\n 9 <= u < 21 &&\n (\\forall integer v; -5 < v <= (u < 15? u + 6: 3) ==> \\at((n + u) + v > 0,K))"; + __gen_e_acsl_assert_data_11.pred_txt = "\\exists integer u;\n 9 <= u < 21 &&\n (\\forall integer v; -5 < v <= (u < 15? u + 6: 3) ==> \\at((n + u) + v,K) > 0)"; __gen_e_acsl_assert_data_11.file = "at_on-purely-logic-variables.c"; __gen_e_acsl_assert_data_11.fct = "main"; __gen_e_acsl_assert_data_11.line = 44; @@ -621,7 +616,7 @@ int main(void) \exists integer u; 9 <= u < 21 && (\forall integer v; - -5 < v <= (u < 15? u + 6: 3) ==> \at((n + u) + v > 0,K)); + -5 < v <= (u < 15? u + 6: 3) ==> \at((n + u) + v,K) > 0); */ ; int t[5] = {9, 12, 12, 12, -4}; @@ -631,31 +626,31 @@ int main(void) g(); { int __gen_e_acsl_exists_5; - int __gen_e_acsl_u_5; + int __gen_e_acsl_u_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; __gen_e_acsl_exists_5 = 0; - __gen_e_acsl_u_5 = 10; + __gen_e_acsl_u_8 = 10; while (1) { - if (__gen_e_acsl_u_5 < 20) ; else break; + if (__gen_e_acsl_u_8 < 20) ; else break; { int __gen_e_acsl_exists_6; - int __gen_e_acsl_v_5; + int __gen_e_acsl_v_6; __gen_e_acsl_exists_6 = 0; - __gen_e_acsl_v_5 = -10 + 1; + __gen_e_acsl_v_6 = -10 + 1; while (1) { { int __gen_e_acsl_u_9; __gen_e_acsl_u_9 = -2; - if (__gen_e_acsl_v_5 <= -5 + __gen_e_acsl_u_9) ; else break; + if (__gen_e_acsl_v_6 <= -5 + __gen_e_acsl_u_9) ; else break; } { int __gen_e_acsl_exists_7; - int __gen_e_acsl_w; + int __gen_e_acsl_w_2; __gen_e_acsl_exists_7 = 0; - __gen_e_acsl_w = 100 + 1; + __gen_e_acsl_w_2 = 100 + 1; while (1) { - if (__gen_e_acsl_w <= 200) ; else break; + if (__gen_e_acsl_w_2 <= 200) ; else break; { int __gen_e_acsl_valid_read_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = @@ -664,31 +659,31 @@ int main(void) "__gen_e_acsl_at_7", (void *)__gen_e_acsl_at_7); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, - "__gen_e_acsl_u_5",0, - __gen_e_acsl_u_5); + "__gen_e_acsl_u_8",0, + __gen_e_acsl_u_8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, - "__gen_e_acsl_v_5",0, - __gen_e_acsl_v_5); + "__gen_e_acsl_v_6",0, + __gen_e_acsl_v_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, - "__gen_e_acsl_w",0, - __gen_e_acsl_w); + "__gen_e_acsl_w_2",0, + __gen_e_acsl_w_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_14, "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)( __gen_e_acsl_at_7 + (int)( (long)((int)( (long)((int)( - __gen_e_acsl_u_5 - 10L)) * 300L)) + (int)( + __gen_e_acsl_u_8 - 10L)) * 300L)) + (int)( (long)((int)( (long)((int)( - __gen_e_acsl_v_5 - -9L)) * 100L)) + (int)( - __gen_e_acsl_w - 101L)))), + __gen_e_acsl_v_6 - -9L)) * 100L)) + (int)( + __gen_e_acsl_w_2 - 101L)))), sizeof(int), (void *)__gen_e_acsl_at_7, (void *)(& __gen_e_acsl_at_7)); __gen_e_acsl_assert_data_14.blocking = 1; __gen_e_acsl_assert_data_14.kind = "RTE"; - __gen_e_acsl_assert_data_14.pred_txt = "\\valid_read(__gen_e_acsl_at_7 +\n (int)((int)((int)(__gen_e_acsl_u_5 - 10) * 300) +\n (int)((int)((int)(__gen_e_acsl_v_5 - -9) * 100) +\n (int)(__gen_e_acsl_w - 101))))"; + __gen_e_acsl_assert_data_14.pred_txt = "mem_access:\n \\valid_read(__gen_e_acsl_at_7 +\n (int)((int)((int)(__gen_e_acsl_u_8 - 10) * 300) +\n (int)((int)((int)(__gen_e_acsl_v_6 - -9) * 100) +\n (int)(__gen_e_acsl_w_2 - 101))))"; __gen_e_acsl_assert_data_14.file = "at_on-purely-logic-variables.c"; __gen_e_acsl_assert_data_14.fct = "main"; __gen_e_acsl_assert_data_14.line = 59; @@ -696,16 +691,16 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_7, & __gen_e_acsl_assert_data_14); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_14); - if (! *(__gen_e_acsl_at_7 + ((__gen_e_acsl_u_5 - 10) * 300 + ( - (__gen_e_acsl_v_5 - -9) * 100 + ( - __gen_e_acsl_w - 101))))) + if (! *(__gen_e_acsl_at_7 + ((__gen_e_acsl_u_8 - 10) * 300 + ( + (__gen_e_acsl_v_6 - -9) * 100 + ( + __gen_e_acsl_w_2 - 101))))) ; else { __gen_e_acsl_exists_7 = 1; goto e_acsl_end_loop8; } } - __gen_e_acsl_w ++; + __gen_e_acsl_w_2 ++; } e_acsl_end_loop8: ; if (! __gen_e_acsl_exists_7) ; @@ -714,7 +709,7 @@ int main(void) goto e_acsl_end_loop9; } } - __gen_e_acsl_v_5 ++; + __gen_e_acsl_v_6 ++; } e_acsl_end_loop9: ; if (! __gen_e_acsl_exists_6) ; @@ -723,7 +718,7 @@ int main(void) goto e_acsl_end_loop10; } } - __gen_e_acsl_u_5 ++; + __gen_e_acsl_u_8 ++; } e_acsl_end_loop10: ; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, @@ -759,10 +754,10 @@ int main(void) free((void *)__gen_e_acsl_at); free((void *)__gen_e_acsl_at_2); free((void *)__gen_e_acsl_at_3); - free((void *)__gen_e_acsl_at_4); free((void *)__gen_e_acsl_at_5); free((void *)__gen_e_acsl_at_6); free((void *)__gen_e_acsl_at_7); + free((void *)__gen_e_acsl_at_8); __e_acsl_memory_clean(); return __retres; } @@ -778,101 +773,97 @@ void __gen_e_acsl_f(int *t) int *__gen_e_acsl_at_3; int *__gen_e_acsl_at_2; int *__gen_e_acsl_at; - __gen_e_acsl_at_4 = (int *)malloc((size_t)4); - __gen_e_acsl_at_3 = (int *)malloc((size_t)4); - __gen_e_acsl_at_2 = (int *)malloc((size_t)8); - __gen_e_acsl_at = (int *)malloc((size_t)8); + __gen_e_acsl_at_4 = (int *)malloc((size_t)8); + __gen_e_acsl_at_3 = (int *)malloc((size_t)8); + __gen_e_acsl_at_2 = (int *)malloc((size_t)4); + __gen_e_acsl_at = (int *)malloc((size_t)4); __e_acsl_store_block((void *)(& t),(size_t)8); { - int __gen_e_acsl_m_3; - __gen_e_acsl_m_3 = 4; + int __gen_e_acsl_m; + __gen_e_acsl_m = 4; { - int __gen_e_acsl_valid_read_7; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = + int __gen_e_acsl_valid_read; + __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"t", - (void *)t); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, - "__gen_e_acsl_m_3",0,__gen_e_acsl_m_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"t",(void *)t); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + "__gen_e_acsl_m",0,__gen_e_acsl_m); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)(t + (int)( - __gen_e_acsl_m_3 - 4L)), - sizeof(int),(void *)t, - (void *)(& t)); - __gen_e_acsl_assert_data_9.blocking = 1; - __gen_e_acsl_assert_data_9.kind = "RTE"; - __gen_e_acsl_assert_data_9.pred_txt = "\\valid_read(t + (int)(__gen_e_acsl_m_3 - 4))"; - __gen_e_acsl_assert_data_9.file = "at_on-purely-logic-variables.c"; - __gen_e_acsl_assert_data_9.fct = "f"; - __gen_e_acsl_assert_data_9.line = 8; - __gen_e_acsl_assert_data_9.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read_7,& __gen_e_acsl_assert_data_9); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9); - *(__gen_e_acsl_at_4 + 0) = *(t + (__gen_e_acsl_m_3 - 4)); + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(t + __gen_e_acsl_m), + sizeof(int),(void *)t, + (void *)(& t)); + __gen_e_acsl_assert_data.blocking = 1; + __gen_e_acsl_assert_data.kind = "RTE"; + __gen_e_acsl_assert_data.pred_txt = "mem_access: \\valid_read(t + __gen_e_acsl_m)"; + __gen_e_acsl_assert_data.file = "at_on-purely-logic-variables.c"; + __gen_e_acsl_assert_data.fct = "f"; + __gen_e_acsl_assert_data.line = 8; + __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data); + *(__gen_e_acsl_at + 0) = *(t + __gen_e_acsl_m) == -4; } } { int __gen_e_acsl_m_2; __gen_e_acsl_m_2 = 4; { - int __gen_e_acsl_valid_read_5; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = + int __gen_e_acsl_valid_read_2; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"t", + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"t", (void *)t); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "__gen_e_acsl_m_2",0,__gen_e_acsl_m_2); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(t + __gen_e_acsl_m_2), + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(t + (int)( + __gen_e_acsl_m_2 - 4L)), sizeof(int),(void *)t, (void *)(& t)); - __gen_e_acsl_assert_data_7.blocking = 1; - __gen_e_acsl_assert_data_7.kind = "RTE"; - __gen_e_acsl_assert_data_7.pred_txt = "\\valid_read(t + __gen_e_acsl_m_2)"; - __gen_e_acsl_assert_data_7.file = "at_on-purely-logic-variables.c"; - __gen_e_acsl_assert_data_7.fct = "f"; - __gen_e_acsl_assert_data_7.line = 8; - __gen_e_acsl_assert_data_7.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read_5,& __gen_e_acsl_assert_data_7); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); - *(__gen_e_acsl_at_3 + 0) = *(t + __gen_e_acsl_m_2) == -4; + __gen_e_acsl_assert_data_2.blocking = 1; + __gen_e_acsl_assert_data_2.kind = "RTE"; + __gen_e_acsl_assert_data_2.pred_txt = "mem_access: \\valid_read(t + (int)(__gen_e_acsl_m_2 - 4))"; + __gen_e_acsl_assert_data_2.file = "at_on-purely-logic-variables.c"; + __gen_e_acsl_assert_data_2.fct = "f"; + __gen_e_acsl_assert_data_2.line = 8; + __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_2); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + *(__gen_e_acsl_at_2 + 0) = *(t + (__gen_e_acsl_m_2 - 4)); } } { - int __gen_e_acsl_n_3; - __gen_e_acsl_n_3 = 1 + 1; + int __gen_e_acsl_n; + __gen_e_acsl_n = 1 + 1; while (1) { - if (__gen_e_acsl_n_3 <= 3) ; else break; + if (__gen_e_acsl_n <= 3) ; else break; { int __gen_e_acsl_valid_read_3; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = + __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"t", + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"t", (void *)t); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, - "__gen_e_acsl_n_3",0,__gen_e_acsl_n_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, + "__gen_e_acsl_n",0,__gen_e_acsl_n); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(t + (int)( - __gen_e_acsl_n_3 - 1L)), + __gen_e_acsl_n - 1L)), sizeof(int), (void *)t, (void *)(& t)); - __gen_e_acsl_assert_data_4.blocking = 1; - __gen_e_acsl_assert_data_4.kind = "RTE"; - __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(t + (int)(__gen_e_acsl_n_3 - 1))"; - __gen_e_acsl_assert_data_4.file = "at_on-purely-logic-variables.c"; - __gen_e_acsl_assert_data_4.fct = "f"; - __gen_e_acsl_assert_data_4.line = 7; - __gen_e_acsl_assert_data_4.name = "mem_access"; + __gen_e_acsl_assert_data_3.blocking = 1; + __gen_e_acsl_assert_data_3.kind = "RTE"; + __gen_e_acsl_assert_data_3.pred_txt = "mem_access: \\valid_read(t + (int)(__gen_e_acsl_n - 1))"; + __gen_e_acsl_assert_data_3.file = "at_on-purely-logic-variables.c"; + __gen_e_acsl_assert_data_3.fct = "f"; + __gen_e_acsl_assert_data_3.line = 7; __e_acsl_assert(__gen_e_acsl_valid_read_3, - & __gen_e_acsl_assert_data_4); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); - *(__gen_e_acsl_at_2 + (__gen_e_acsl_n_3 - 2)) = *(t + (__gen_e_acsl_n_3 - 1)) > 5; + & __gen_e_acsl_assert_data_3); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); + *(__gen_e_acsl_at_3 + (__gen_e_acsl_n - 2)) = *(t + (__gen_e_acsl_n - 1)) > 5; } - __gen_e_acsl_n_3 ++; + __gen_e_acsl_n ++; } } { @@ -881,28 +872,29 @@ void __gen_e_acsl_f(int *t) while (1) { if (__gen_e_acsl_n_2 <= 3) ; else break; { - int __gen_e_acsl_valid_read; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = + int __gen_e_acsl_valid_read_4; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"t", + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"t", (void *)t); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "__gen_e_acsl_n_2",0,__gen_e_acsl_n_2); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(t + __gen_e_acsl_n_2), - sizeof(int),(void *)t, - (void *)(& t)); - __gen_e_acsl_assert_data_2.blocking = 1; - __gen_e_acsl_assert_data_2.kind = "RTE"; - __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(t + __gen_e_acsl_n_2)"; - __gen_e_acsl_assert_data_2.file = "at_on-purely-logic-variables.c"; - __gen_e_acsl_assert_data_2.fct = "f"; - __gen_e_acsl_assert_data_2.line = 7; - __gen_e_acsl_assert_data_2.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_2); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); - *(__gen_e_acsl_at + (__gen_e_acsl_n_2 - 2)) = *(t + __gen_e_acsl_n_2) == 12; + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(t + __gen_e_acsl_n_2), + sizeof(int), + (void *)t, + (void *)(& t)); + __gen_e_acsl_assert_data_4.blocking = 1; + __gen_e_acsl_assert_data_4.kind = "RTE"; + __gen_e_acsl_assert_data_4.pred_txt = "mem_access: \\valid_read(t + __gen_e_acsl_n_2)"; + __gen_e_acsl_assert_data_4.file = "at_on-purely-logic-variables.c"; + __gen_e_acsl_assert_data_4.fct = "f"; + __gen_e_acsl_assert_data_4.line = 7; + __e_acsl_assert(__gen_e_acsl_valid_read_4, + & __gen_e_acsl_assert_data_4); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + *(__gen_e_acsl_at_4 + (__gen_e_acsl_n_2 - 2)) = *(t + __gen_e_acsl_n_2) == 12; } __gen_e_acsl_n_2 ++; } @@ -910,69 +902,68 @@ void __gen_e_acsl_f(int *t) f(t); { int __gen_e_acsl_forall; - int __gen_e_acsl_n; - int __gen_e_acsl_m; - int __gen_e_acsl_valid_read_6; + int __gen_e_acsl_n_3; + int __gen_e_acsl_m_3; + int __gen_e_acsl_valid_read_7; int __gen_e_acsl_and_2; - __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = + {.values = (void *)0}; __gen_e_acsl_forall = 1; - __gen_e_acsl_n = 1 + 1; + __gen_e_acsl_n_3 = 1 + 1; while (1) { - if (__gen_e_acsl_n <= 3) ; else break; + if (__gen_e_acsl_n_3 <= 3) ; else break; { - int __gen_e_acsl_valid_read_2; + int __gen_e_acsl_valid_read_5; int __gen_e_acsl_and; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = + __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, - "__gen_e_acsl_at", - (void *)__gen_e_acsl_at); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, - "__gen_e_acsl_n",0,__gen_e_acsl_n); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, + "__gen_e_acsl_at_4", + (void *)__gen_e_acsl_at_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, + "__gen_e_acsl_n_3",0,__gen_e_acsl_n_3); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(__gen_e_acsl_at + (int)( - __gen_e_acsl_n - 2L)), + __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_4 + (int)( + __gen_e_acsl_n_3 - 2L)), sizeof(int), - (void *)__gen_e_acsl_at, - (void *)(& __gen_e_acsl_at)); - __gen_e_acsl_assert_data_3.blocking = 1; - __gen_e_acsl_assert_data_3.kind = "RTE"; - __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(__gen_e_acsl_at + (int)(__gen_e_acsl_n - 2))"; - __gen_e_acsl_assert_data_3.file = "at_on-purely-logic-variables.c"; - __gen_e_acsl_assert_data_3.fct = "f"; - __gen_e_acsl_assert_data_3.line = 7; - __gen_e_acsl_assert_data_3.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read_2, - & __gen_e_acsl_assert_data_3); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - if (*(__gen_e_acsl_at + (__gen_e_acsl_n - 2))) { - int __gen_e_acsl_valid_read_4; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = + (void *)__gen_e_acsl_at_4, + (void *)(& __gen_e_acsl_at_4)); + __gen_e_acsl_assert_data_6.blocking = 1; + __gen_e_acsl_assert_data_6.kind = "RTE"; + __gen_e_acsl_assert_data_6.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at_4 + (int)(__gen_e_acsl_n_3 - 2))"; + __gen_e_acsl_assert_data_6.file = "at_on-purely-logic-variables.c"; + __gen_e_acsl_assert_data_6.fct = "f"; + __gen_e_acsl_assert_data_6.line = 7; + __e_acsl_assert(__gen_e_acsl_valid_read_5, + & __gen_e_acsl_assert_data_6); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); + if (*(__gen_e_acsl_at_4 + (__gen_e_acsl_n_3 - 2))) { + int __gen_e_acsl_valid_read_6; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, - "__gen_e_acsl_at_2", - (void *)__gen_e_acsl_at_2); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, - "__gen_e_acsl_n",0,__gen_e_acsl_n); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, + "__gen_e_acsl_at_3", + (void *)__gen_e_acsl_at_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, + "__gen_e_acsl_n_3",0,__gen_e_acsl_n_3); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_2 + (int)( - __gen_e_acsl_n - 2L)), + __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_3 + (int)( + __gen_e_acsl_n_3 - 2L)), sizeof(int), - (void *)__gen_e_acsl_at_2, - (void *)(& __gen_e_acsl_at_2)); - __gen_e_acsl_assert_data_5.blocking = 1; - __gen_e_acsl_assert_data_5.kind = "RTE"; - __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(__gen_e_acsl_at_2 + (int)(__gen_e_acsl_n - 2))"; - __gen_e_acsl_assert_data_5.file = "at_on-purely-logic-variables.c"; - __gen_e_acsl_assert_data_5.fct = "f"; - __gen_e_acsl_assert_data_5.line = 7; - __gen_e_acsl_assert_data_5.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read_4, - & __gen_e_acsl_assert_data_5); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); - __gen_e_acsl_and = *(__gen_e_acsl_at_2 + (__gen_e_acsl_n - 2)); + (void *)__gen_e_acsl_at_3, + (void *)(& __gen_e_acsl_at_3)); + __gen_e_acsl_assert_data_7.blocking = 1; + __gen_e_acsl_assert_data_7.kind = "RTE"; + __gen_e_acsl_assert_data_7.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at_3 + (int)(__gen_e_acsl_n_3 - 2))"; + __gen_e_acsl_assert_data_7.file = "at_on-purely-logic-variables.c"; + __gen_e_acsl_assert_data_7.fct = "f"; + __gen_e_acsl_assert_data_7.line = 7; + __e_acsl_assert(__gen_e_acsl_valid_read_6, + & __gen_e_acsl_assert_data_7); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); + __gen_e_acsl_and = *(__gen_e_acsl_at_3 + (__gen_e_acsl_n_3 - 2)); } else __gen_e_acsl_and = 0; if (__gen_e_acsl_and) ; @@ -981,65 +972,63 @@ void __gen_e_acsl_f(int *t) goto e_acsl_end_loop11; } } - __gen_e_acsl_n ++; + __gen_e_acsl_n_3 ++; } e_acsl_end_loop11: ; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\forall integer n;\n 1 < n <= 3 ==> \\old(*(t + n) == 12) && \\old(*(t + (n - 1)) > 5)", 0,__gen_e_acsl_forall); - __gen_e_acsl_assert_data.blocking = 1; - __gen_e_acsl_assert_data.kind = "Postcondition"; - __gen_e_acsl_assert_data.pred_txt = "\\forall integer n;\n 1 < n <= 3 ==> \\old(*(t + n) == 12) && \\old(*(t + (n - 1)) > 5)"; - __gen_e_acsl_assert_data.file = "at_on-purely-logic-variables.c"; - __gen_e_acsl_assert_data.fct = "f"; - __gen_e_acsl_assert_data.line = 6; - __e_acsl_assert(__gen_e_acsl_forall,& __gen_e_acsl_assert_data); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data); - __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = + __gen_e_acsl_assert_data_5.blocking = 1; + __gen_e_acsl_assert_data_5.kind = "Postcondition"; + __gen_e_acsl_assert_data_5.pred_txt = "\\forall integer n;\n 1 < n <= 3 ==> \\old(*(t + n) == 12) && \\old(*(t + (n - 1)) > 5)"; + __gen_e_acsl_assert_data_5.file = "at_on-purely-logic-variables.c"; + __gen_e_acsl_assert_data_5.fct = "f"; + __gen_e_acsl_assert_data_5.line = 6; + __e_acsl_assert(__gen_e_acsl_forall,& __gen_e_acsl_assert_data_5); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); + __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; - __gen_e_acsl_m = 4; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, + __gen_e_acsl_m_3 = 4; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\old(*(t + m) == -4)",0, - *(__gen_e_acsl_at_3 + 0)); - __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = + *(__gen_e_acsl_at + 0)); + __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, - "__gen_e_acsl_at_3", - (void *)__gen_e_acsl_at_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, + "__gen_e_acsl_at",(void *)__gen_e_acsl_at); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_3 + 0), + __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)(__gen_e_acsl_at + 0), sizeof(int), - (void *)__gen_e_acsl_at_3, - (void *)(& __gen_e_acsl_at_3)); - __gen_e_acsl_assert_data_8.blocking = 1; - __gen_e_acsl_assert_data_8.kind = "RTE"; - __gen_e_acsl_assert_data_8.pred_txt = "\\valid_read(__gen_e_acsl_at_3 + 0)"; - __gen_e_acsl_assert_data_8.file = "at_on-purely-logic-variables.c"; - __gen_e_acsl_assert_data_8.fct = "f"; - __gen_e_acsl_assert_data_8.line = 8; - __gen_e_acsl_assert_data_8.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read_6,& __gen_e_acsl_assert_data_8); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); - if (*(__gen_e_acsl_at_3 + 0)) { + (void *)__gen_e_acsl_at, + (void *)(& __gen_e_acsl_at)); + __gen_e_acsl_assert_data_9.blocking = 1; + __gen_e_acsl_assert_data_9.kind = "RTE"; + __gen_e_acsl_assert_data_9.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at + 0)"; + __gen_e_acsl_assert_data_9.file = "at_on-purely-logic-variables.c"; + __gen_e_acsl_assert_data_9.fct = "f"; + __gen_e_acsl_assert_data_9.line = 8; + __e_acsl_assert(__gen_e_acsl_valid_read_7,& __gen_e_acsl_assert_data_9); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9); + if (*(__gen_e_acsl_at + 0)) { int __gen_e_acsl_valid_read_8; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\old(*(t + (m - 4)))",0, - *(__gen_e_acsl_at_4 + 0)); + *(__gen_e_acsl_at_2 + 0)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, - "__gen_e_acsl_at_4", - (void *)__gen_e_acsl_at_4); + "__gen_e_acsl_at_2", + (void *)__gen_e_acsl_at_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_4 + 0), + __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_2 + 0), sizeof(int), - (void *)__gen_e_acsl_at_4, - (void *)(& __gen_e_acsl_at_4)); + (void *)__gen_e_acsl_at_2, + (void *)(& __gen_e_acsl_at_2)); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "RTE"; - __gen_e_acsl_assert_data_10.pred_txt = "\\valid_read(__gen_e_acsl_at_4 + 0)"; + __gen_e_acsl_assert_data_10.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at_2 + 0)"; __gen_e_acsl_assert_data_10.file = "at_on-purely-logic-variables.c"; __gen_e_acsl_assert_data_10.fct = "f"; __gen_e_acsl_assert_data_10.line = 8; @@ -1047,17 +1036,17 @@ void __gen_e_acsl_f(int *t) __e_acsl_assert(__gen_e_acsl_valid_read_8, & __gen_e_acsl_assert_data_10); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10); - __gen_e_acsl_and_2 = *(__gen_e_acsl_at_4 + 0) == 9; + __gen_e_acsl_and_2 = *(__gen_e_acsl_at_2 + 0) == 9; } else __gen_e_acsl_and_2 = 0; - __gen_e_acsl_assert_data_6.blocking = 1; - __gen_e_acsl_assert_data_6.kind = "Postcondition"; - __gen_e_acsl_assert_data_6.pred_txt = "\\let m = 4; \\old(*(t + m) == -4) && \\old(*(t + (m - 4))) == 9"; - __gen_e_acsl_assert_data_6.file = "at_on-purely-logic-variables.c"; - __gen_e_acsl_assert_data_6.fct = "f"; - __gen_e_acsl_assert_data_6.line = 8; - __e_acsl_assert(__gen_e_acsl_and_2,& __gen_e_acsl_assert_data_6); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); + __gen_e_acsl_assert_data_8.blocking = 1; + __gen_e_acsl_assert_data_8.kind = "Postcondition"; + __gen_e_acsl_assert_data_8.pred_txt = "\\let m = 4; \\old(*(t + m) == -4) && \\old(*(t + (m - 4))) == 9"; + __gen_e_acsl_assert_data_8.file = "at_on-purely-logic-variables.c"; + __gen_e_acsl_assert_data_8.fct = "f"; + __gen_e_acsl_assert_data_8.line = 8; + __e_acsl_assert(__gen_e_acsl_and_2,& __gen_e_acsl_assert_data_8); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); __e_acsl_delete_block((void *)(& t)); free((void *)__gen_e_acsl_at); free((void *)__gen_e_acsl_at_2); diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c b/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c index 189169fa1e0f2750dae762e7b894217bf8d20c39..43188869d2bf8a7e6e5d346fb82881ec4d3da6c7 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c @@ -359,13 +359,13 @@ double __gen_e_acsl_avg(double a, double b) double __gen_e_acsl_at_2; __e_acsl_mpq_t __gen_e_acsl_at; double __retres; - __gen_e_acsl_at_2 = b; { __e_acsl_mpq_t __gen_e_acsl_a; __gmpq_init(__gen_e_acsl_a); __gmpq_set_d(__gen_e_acsl_a,a); __gmpq_init(__gen_e_acsl_at); __gmpq_set(__gen_e_acsl_at,(__e_acsl_mpq_struct const *)(__gen_e_acsl_a)); + __gen_e_acsl_at_2 = b; __gmpq_clear(__gen_e_acsl_a); } __retres = avg(a,b); diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c index 4683310c7c5aa6cb601f118d1a34e10cecb0c3e4..91b3577515f914de25c8b42d016d2b5bbdeeca51 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c @@ -95,13 +95,10 @@ int main(void) */ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) { - float *__gen_e_acsl_at_6; - float *__gen_e_acsl_at_5; - float *__gen_e_acsl_at_4; + __e_acsl_contract_t *__gen_e_acsl_contract; float *__gen_e_acsl_at_3; float *__gen_e_acsl_at_2; float *__gen_e_acsl_at; - __e_acsl_contract_t *__gen_e_acsl_contract; { int __gen_e_acsl_valid; int __gen_e_acsl_valid_2; @@ -109,6 +106,9 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __e_acsl_store_block((void *)(& Mtmin_out),(size_t)8); __e_acsl_store_block((void *)(& Mwmin),(size_t)8); __e_acsl_store_block((void *)(& Mtmin_in),(size_t)8); + __gen_e_acsl_at = Mtmin_in; + __gen_e_acsl_at_2 = Mwmin; + __gen_e_acsl_at_3 = Mtmin_out; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)1); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"Mtmin_in", @@ -167,12 +167,6 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0,1); } - __gen_e_acsl_at_6 = Mwmin; - __gen_e_acsl_at_5 = Mtmin_in; - __gen_e_acsl_at_4 = Mwmin; - __gen_e_acsl_at_3 = Mtmin_in; - __gen_e_acsl_at_2 = Mtmin_in; - __gen_e_acsl_at = Mtmin_out; bar(Mtmin_in,Mwmin,Mtmin_out); { int __gen_e_acsl_assumes_value; @@ -186,23 +180,22 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmin_out)",*__gen_e_acsl_at); + "*\\old(Mtmin_out)",*__gen_e_acsl_at_3); __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmin_in)",*__gen_e_acsl_at_2); + "*\\old(Mtmin_in)",*__gen_e_acsl_at); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, - "__gen_e_acsl_at_2", - (void *)__gen_e_acsl_at_2); + "__gen_e_acsl_at",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)__gen_e_acsl_at_2, + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)__gen_e_acsl_at, sizeof(float), - (void *)__gen_e_acsl_at_2, - (void *)(& __gen_e_acsl_at_2)); + (void *)__gen_e_acsl_at, + (void *)(& __gen_e_acsl_at)); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "RTE"; - __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(__gen_e_acsl_at_2)"; + __gen_e_acsl_assert_data_5.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at)"; __gen_e_acsl_assert_data_5.file = "bts1307.i"; __gen_e_acsl_assert_data_5.fct = "bar"; __gen_e_acsl_assert_data_5.line = 26; @@ -212,42 +205,43 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, - "__gen_e_acsl_at",(void *)__gen_e_acsl_at); + "__gen_e_acsl_at_3", + (void *)__gen_e_acsl_at_3); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)__gen_e_acsl_at, + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)__gen_e_acsl_at_3, sizeof(float), - (void *)__gen_e_acsl_at, - (void *)(& __gen_e_acsl_at)); + (void *)__gen_e_acsl_at_3, + (void *)(& __gen_e_acsl_at_3)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; - __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(__gen_e_acsl_at)"; + __gen_e_acsl_assert_data_6.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at_3)"; __gen_e_acsl_assert_data_6.file = "bts1307.i"; __gen_e_acsl_assert_data_6.fct = "bar"; __gen_e_acsl_assert_data_6.line = 26; __gen_e_acsl_assert_data_6.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); - if (*__gen_e_acsl_at == *__gen_e_acsl_at_2) { + if (*__gen_e_acsl_at_3 == *__gen_e_acsl_at) { __e_acsl_mpq_t __gen_e_acsl_; __e_acsl_mpq_t __gen_e_acsl__2; __e_acsl_mpq_t __gen_e_acsl_mul; __e_acsl_mpq_t __gen_e_acsl__3; int __gen_e_acsl_lt; __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmin_in)",*__gen_e_acsl_at_3); + "*\\old(Mtmin_in)",*__gen_e_acsl_at); __gmpq_init(__gen_e_acsl_); __gmpq_set_str(__gen_e_acsl_,"085/100",10); __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mwmin)",*__gen_e_acsl_at_4); + "*\\old(Mwmin)",*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl__2); - __gmpq_set_d(__gen_e_acsl__2,(double)*__gen_e_acsl_at_4); + __gmpq_set_d(__gen_e_acsl__2,(double)*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl_mul); __gmpq_mul(__gen_e_acsl_mul, (__e_acsl_mpq_struct const *)(__gen_e_acsl_), (__e_acsl_mpq_struct const *)(__gen_e_acsl__2)); __gmpq_init(__gen_e_acsl__3); - __gmpq_set_d(__gen_e_acsl__3,(double)*__gen_e_acsl_at_3); + __gmpq_set_d(__gen_e_acsl__3,(double)*__gen_e_acsl_at); __gen_e_acsl_lt = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__3), (__e_acsl_mpq_struct const *)(__gen_e_acsl_mul)); __gen_e_acsl_and = __gen_e_acsl_lt < 0; @@ -260,21 +254,21 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) if (__gen_e_acsl_and) { int __gen_e_acsl_valid_read_3; __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmin_in)",*__gen_e_acsl_at_5); + "*\\old(Mtmin_in)",*__gen_e_acsl_at); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, - "__gen_e_acsl_at_5", - (void *)__gen_e_acsl_at_5); + "__gen_e_acsl_at", + (void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)__gen_e_acsl_at_5, + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)__gen_e_acsl_at, sizeof(float), - (void *)__gen_e_acsl_at_5, - (void *)(& __gen_e_acsl_at_5)); + (void *)__gen_e_acsl_at, + (void *)(& __gen_e_acsl_at)); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "RTE"; - __gen_e_acsl_assert_data_7.pred_txt = "\\valid_read(__gen_e_acsl_at_5)"; + __gen_e_acsl_assert_data_7.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at)"; __gen_e_acsl_assert_data_7.file = "bts1307.i"; __gen_e_acsl_assert_data_7.fct = "bar"; __gen_e_acsl_assert_data_7.line = 26; @@ -282,7 +276,7 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __e_acsl_assert(__gen_e_acsl_valid_read_3, & __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); - __gen_e_acsl_if = (double)*__gen_e_acsl_at_5 != 0.; + __gen_e_acsl_if = (double)*__gen_e_acsl_at != 0.; } else { __e_acsl_mpq_t __gen_e_acsl__4; @@ -293,9 +287,9 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __gmpq_init(__gen_e_acsl__4); __gmpq_set_str(__gen_e_acsl__4,"085/100",10); __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mwmin)",*__gen_e_acsl_at_6); + "*\\old(Mwmin)",*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl__5); - __gmpq_set_d(__gen_e_acsl__5,(double)*__gen_e_acsl_at_6); + __gmpq_set_d(__gen_e_acsl__5,(double)*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl_mul_2); __gmpq_mul(__gen_e_acsl_mul_2, (__e_acsl_mpq_struct const *)(__gen_e_acsl__4), @@ -340,10 +334,10 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) */ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) { + __e_acsl_contract_t *__gen_e_acsl_contract; float *__gen_e_acsl_at_3; float *__gen_e_acsl_at_2; float *__gen_e_acsl_at; - __e_acsl_contract_t *__gen_e_acsl_contract; { int __gen_e_acsl_valid; int __gen_e_acsl_valid_2; @@ -351,6 +345,9 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) __e_acsl_store_block((void *)(& Mtmax_out),(size_t)8); __e_acsl_store_block((void *)(& Mwmax),(size_t)8); __e_acsl_store_block((void *)(& Mtmax_in),(size_t)8); + __gen_e_acsl_at = Mtmax_in; + __gen_e_acsl_at_2 = Mwmax; + __gen_e_acsl_at_3 = Mtmax_out; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)1); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"Mtmax_in", @@ -409,9 +406,6 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0,1); } - __gen_e_acsl_at_3 = Mwmax; - __gen_e_acsl_at_2 = Mtmax_in; - __gen_e_acsl_at = Mtmax_out; foo(Mtmax_in,Mwmax,Mtmax_out); { int __gen_e_acsl_assumes_value; @@ -434,9 +428,9 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmax_out)",*__gen_e_acsl_at); + "*\\old(Mtmax_out)",*__gen_e_acsl_at_3); __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmax_in)",*__gen_e_acsl_at_2); + "*\\old(Mtmax_in)",*__gen_e_acsl_at); __gmpq_init(__gen_e_acsl_); __gmpq_set_str(__gen_e_acsl_,"5",10); __gmpq_init(__gen_e_acsl__2); @@ -448,9 +442,9 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) (__e_acsl_mpq_struct const *)(__gen_e_acsl__2), (__e_acsl_mpq_struct const *)(__gen_e_acsl__3)); __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mwmax)",*__gen_e_acsl_at_3); + "*\\old(Mwmax)",*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl__4); - __gmpq_set_d(__gen_e_acsl__4,(double)*__gen_e_acsl_at_3); + __gmpq_set_d(__gen_e_acsl__4,(double)*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl_mul); __gmpq_mul(__gen_e_acsl_mul, (__e_acsl_mpq_struct const *)(__gen_e_acsl_div), @@ -466,13 +460,13 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) (__e_acsl_mpq_struct const *)(__gen_e_acsl_), (__e_acsl_mpq_struct const *)(__gen_e_acsl_mul_2)); __gmpq_init(__gen_e_acsl__6); - __gmpq_set_d(__gen_e_acsl__6,(double)*__gen_e_acsl_at_2); + __gmpq_set_d(__gen_e_acsl__6,(double)*__gen_e_acsl_at); __gmpq_init(__gen_e_acsl_add); __gmpq_add(__gen_e_acsl_add, (__e_acsl_mpq_struct const *)(__gen_e_acsl__6), (__e_acsl_mpq_struct const *)(__gen_e_acsl_sub)); __gmpq_init(__gen_e_acsl__7); - __gmpq_set_d(__gen_e_acsl__7,(double)*__gen_e_acsl_at); + __gmpq_set_d(__gen_e_acsl__7,(double)*__gen_e_acsl_at_3); __gen_e_acsl_ne = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__7), (__e_acsl_mpq_struct const *)(__gen_e_acsl_add)); __gen_e_acsl_assert_data_4.blocking = 1; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c index e48c777bf33ec8b67b026477260fdad73930a82d..eb58dccf2f55da9a1211ad762c48191f56b73a15 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c @@ -57,20 +57,12 @@ int main(void) void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, int *AverageAccel) { - ArrayInt *__gen_e_acsl_at_6; - ArrayInt *__gen_e_acsl_at_5; - ArrayInt *__gen_e_acsl_at_4; - ArrayInt *__gen_e_acsl_at_3; - ArrayInt *__gen_e_acsl_at_2; - int *__gen_e_acsl_at; + int *__gen_e_acsl_at_2; + ArrayInt *__gen_e_acsl_at; __e_acsl_store_block((void *)(& AverageAccel),(size_t)8); __e_acsl_store_block((void *)(& Accel),(size_t)8); - __gen_e_acsl_at_6 = Accel; - __gen_e_acsl_at_5 = Accel; - __gen_e_acsl_at_4 = Accel; - __gen_e_acsl_at_3 = Accel; - __gen_e_acsl_at_2 = Accel; - __gen_e_acsl_at = AverageAccel; + __gen_e_acsl_at = Accel; + __gen_e_acsl_at_2 = AverageAccel; atp_NORMAL_computeAverageAccel(Accel,AverageAccel); { int __gen_e_acsl_valid_read; @@ -81,36 +73,36 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, int __gen_e_acsl_valid_read_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "*\\old(AverageAccel)",0,*__gen_e_acsl_at); + "*\\old(AverageAccel)",0,*__gen_e_acsl_at_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "(*\\old(Accel))[4]",0, - (*__gen_e_acsl_at_2)[4]); + (*__gen_e_acsl_at)[4]); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "(*\\old(Accel))[3]",0, - (*__gen_e_acsl_at_3)[3]); + (*__gen_e_acsl_at)[3]); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "(*\\old(Accel))[2]",0, - (*__gen_e_acsl_at_4)[2]); + (*__gen_e_acsl_at)[2]); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "(*\\old(Accel))[1]",0, - (*__gen_e_acsl_at_5)[1]); + (*__gen_e_acsl_at)[1]); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "(*\\old(Accel))[0]",0, - (*__gen_e_acsl_at_6)[0]); + (*__gen_e_acsl_at)[0]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, - "(int *)*__gen_e_acsl_at_6", - (void *)(*__gen_e_acsl_at_6)); + "(int *)*__gen_e_acsl_at", + (void *)(*__gen_e_acsl_at)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(*__gen_e_acsl_at_6), + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(*__gen_e_acsl_at), sizeof(int), - (void *)(*__gen_e_acsl_at_6), + (void *)(*__gen_e_acsl_at), (void *)0); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; - __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read((int *)*__gen_e_acsl_at_6)"; + __gen_e_acsl_assert_data_2.pred_txt = "mem_access: \\valid_read((int *)*__gen_e_acsl_at)"; __gen_e_acsl_assert_data_2.file = "bts1326.i"; __gen_e_acsl_assert_data_2.fct = "atp_NORMAL_computeAverageAccel"; __gen_e_acsl_assert_data_2.line = 8; @@ -120,17 +112,17 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, - "&(*__gen_e_acsl_at_5)[1]", - (void *)(& (*__gen_e_acsl_at_5)[1])); + "&(*__gen_e_acsl_at)[1]", + (void *)(& (*__gen_e_acsl_at)[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_5)[1]), + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[1]), sizeof(int), - (void *)(*__gen_e_acsl_at_5), + (void *)(*__gen_e_acsl_at), (void *)0); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "RTE"; - __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(&(*__gen_e_acsl_at_5)[1])"; + __gen_e_acsl_assert_data_3.pred_txt = "mem_access: \\valid_read(&(*__gen_e_acsl_at)[1])"; __gen_e_acsl_assert_data_3.file = "bts1326.i"; __gen_e_acsl_assert_data_3.fct = "atp_NORMAL_computeAverageAccel"; __gen_e_acsl_assert_data_3.line = 8; @@ -140,17 +132,17 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, - "&(*__gen_e_acsl_at_4)[2]", - (void *)(& (*__gen_e_acsl_at_4)[2])); + "&(*__gen_e_acsl_at)[2]", + (void *)(& (*__gen_e_acsl_at)[2])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_4)[2]), + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[2]), sizeof(int), - (void *)(*__gen_e_acsl_at_4), + (void *)(*__gen_e_acsl_at), (void *)0); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; - __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(&(*__gen_e_acsl_at_4)[2])"; + __gen_e_acsl_assert_data_4.pred_txt = "mem_access: \\valid_read(&(*__gen_e_acsl_at)[2])"; __gen_e_acsl_assert_data_4.file = "bts1326.i"; __gen_e_acsl_assert_data_4.fct = "atp_NORMAL_computeAverageAccel"; __gen_e_acsl_assert_data_4.line = 8; @@ -160,17 +152,17 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, - "&(*__gen_e_acsl_at_3)[3]", - (void *)(& (*__gen_e_acsl_at_3)[3])); + "&(*__gen_e_acsl_at)[3]", + (void *)(& (*__gen_e_acsl_at)[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_3)[3]), + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[3]), sizeof(int), - (void *)(*__gen_e_acsl_at_3), + (void *)(*__gen_e_acsl_at), (void *)0); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "RTE"; - __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(&(*__gen_e_acsl_at_3)[3])"; + __gen_e_acsl_assert_data_5.pred_txt = "mem_access: \\valid_read(&(*__gen_e_acsl_at)[3])"; __gen_e_acsl_assert_data_5.file = "bts1326.i"; __gen_e_acsl_assert_data_5.fct = "atp_NORMAL_computeAverageAccel"; __gen_e_acsl_assert_data_5.line = 8; @@ -180,17 +172,17 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, - "&(*__gen_e_acsl_at_2)[4]", - (void *)(& (*__gen_e_acsl_at_2)[4])); + "&(*__gen_e_acsl_at)[4]", + (void *)(& (*__gen_e_acsl_at)[4])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at_2)[4]), + __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[4]), sizeof(int), - (void *)(*__gen_e_acsl_at_2), + (void *)(*__gen_e_acsl_at), (void *)0); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; - __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(&(*__gen_e_acsl_at_2)[4])"; + __gen_e_acsl_assert_data_6.pred_txt = "mem_access: \\valid_read(&(*__gen_e_acsl_at)[4])"; __gen_e_acsl_assert_data_6.file = "bts1326.i"; __gen_e_acsl_assert_data_6.fct = "atp_NORMAL_computeAverageAccel"; __gen_e_acsl_assert_data_6.line = 8; @@ -200,16 +192,17 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, - "__gen_e_acsl_at",(void *)__gen_e_acsl_at); + "__gen_e_acsl_at_2", + (void *)__gen_e_acsl_at_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)__gen_e_acsl_at, + __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)__gen_e_acsl_at_2, sizeof(int), - (void *)__gen_e_acsl_at, - (void *)(& __gen_e_acsl_at)); + (void *)__gen_e_acsl_at_2, + (void *)(& __gen_e_acsl_at_2)); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "RTE"; - __gen_e_acsl_assert_data_7.pred_txt = "\\valid_read(__gen_e_acsl_at)"; + __gen_e_acsl_assert_data_7.pred_txt = "mem_access: \\valid_read(__gen_e_acsl_at_2)"; __gen_e_acsl_assert_data_7.file = "bts1326.i"; __gen_e_acsl_assert_data_7.fct = "atp_NORMAL_computeAverageAccel"; __gen_e_acsl_assert_data_7.line = 8; @@ -222,7 +215,7 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __gen_e_acsl_assert_data.file = "bts1326.i"; __gen_e_acsl_assert_data.fct = "atp_NORMAL_computeAverageAccel"; __gen_e_acsl_assert_data.line = 8; - __e_acsl_assert(*__gen_e_acsl_at == (int)((((((*__gen_e_acsl_at_2)[4] + (long)(*__gen_e_acsl_at_3)[3]) + (*__gen_e_acsl_at_4)[2]) + (*__gen_e_acsl_at_5)[1]) + (*__gen_e_acsl_at_6)[0]) / 5L), + __e_acsl_assert(*__gen_e_acsl_at_2 == (int)((((((*__gen_e_acsl_at)[4] + (long)(*__gen_e_acsl_at)[3]) + (*__gen_e_acsl_at)[2]) + (*__gen_e_acsl_at)[1]) + (*__gen_e_acsl_at)[0]) / 5L), & __gen_e_acsl_assert_data); __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_delete_block((void *)(& AverageAccel)); diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c index 18254b245ea74905f0a1daf93f8bc1869b91ae03..1626dbd4ea419ee09b6a1d48eedcacd2f584b7df 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c @@ -70,9 +70,9 @@ void *memchr(void const *buf, int c, size_t n) */ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) { + __e_acsl_contract_t *__gen_e_acsl_contract; int __gen_e_acsl_at_2; void const *__gen_e_acsl_at; - __e_acsl_contract_t *__gen_e_acsl_contract; void *__retres; __e_acsl_store_block((void *)(& __retres),(size_t)8); { @@ -81,6 +81,8 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) int __gen_e_acsl_forall; unsigned int __gen_e_acsl_k; __e_acsl_store_block((void *)(& buf),(size_t)8); + __gen_e_acsl_at = buf; + __gen_e_acsl_at_2 = c; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __gen_e_acsl_exists = 0; __gen_e_acsl_i = 0U; @@ -162,8 +164,6 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)1, __gen_e_acsl_forall); } - __gen_e_acsl_at_2 = c; - __gen_e_acsl_at = buf; __retres = memchr(buf,c,n); { int __gen_e_acsl_assumes_value; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c index 3b16a3b2a4bfd4764b7766b41ff34b7858988009..fbedbcc8e9c436959dea0e2e4eb241ed4452f867 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c @@ -53,14 +53,14 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, size_t n) { - __e_acsl_mpz_t __gen_e_acsl_at_3; - char *__gen_e_acsl_at_2; - char *__gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + __e_acsl_mpz_t __gen_e_acsl_at_2; + char *__gen_e_acsl_at; char *__retres; { - unsigned long __gen_e_acsl_size; __e_acsl_mpz_t __gen_e_acsl_n; + unsigned long __gen_e_acsl_size; + __e_acsl_mpz_t __gen_e_acsl_n_2; __e_acsl_mpz_t __gen_e_acsl_; __e_acsl_mpz_t __gen_e_acsl_sub; __e_acsl_mpz_t __gen_e_acsl__2; @@ -86,6 +86,10 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, int __gen_e_acsl_separated; __e_acsl_store_block((void *)(& src),(size_t)8); __e_acsl_store_block((void *)(& dest),(size_t)8); + __gen_e_acsl_at = dest; + __gmpz_init_set_ui(__gen_e_acsl_n,n); + __gmpz_init_set(__gen_e_acsl_at_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_n)); __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; @@ -96,11 +100,11 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"n",0,n); - __gmpz_init_set_ui(__gen_e_acsl_n,n); + __gmpz_init_set_ui(__gen_e_acsl_n_2,n); __gmpz_init_set_si(__gen_e_acsl_,1L); __gmpz_init(__gen_e_acsl_sub); __gmpz_sub(__gen_e_acsl_sub, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); __gmpz_init_set_si(__gen_e_acsl__2,0L); __gmpz_init(__gen_e_acsl_sub_2); @@ -253,21 +257,13 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert(__gen_e_acsl_separated,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); __gmpz_clear(__gen_e_acsl_n); + __gmpz_clear(__gen_e_acsl_n_2); __gmpz_clear(__gen_e_acsl_); __gmpz_clear(__gen_e_acsl_sub); __gmpz_clear(__gen_e_acsl__2); __gmpz_clear(__gen_e_acsl_sub_2); __gmpz_clear(__gen_e_acsl_add); } - { - __e_acsl_mpz_t __gen_e_acsl_n_2; - __gmpz_init_set_ui(__gen_e_acsl_n_2,n); - __gmpz_init_set(__gen_e_acsl_at_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2)); - __gmpz_clear(__gen_e_acsl_n_2); - } - __gen_e_acsl_at_2 = dest; - __gen_e_acsl_at = dest; __retres = strncpy(dest,src,n); __e_acsl_initialize((void *)dest,n); { @@ -298,17 +294,17 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"\\old(dest)", - (void *)__gen_e_acsl_at_2); + (void *)__gen_e_acsl_at); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", 0,1); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7,"\\old(n)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init_set_si(__gen_e_acsl__8,1L); __gmpz_init(__gen_e_acsl_sub_3); __gmpz_sub(__gen_e_acsl_sub_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); __gmpz_init_set_si(__gen_e_acsl__9,0L); __gmpz_init(__gen_e_acsl_sub_4); @@ -329,7 +325,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_size_6); __gen_e_acsl_if_6 = __gen_e_acsl_size_6; } - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(__gen_e_acsl_at_2 + + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(__gen_e_acsl_at + 1 * 0), __gen_e_acsl_if_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, @@ -352,7 +348,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gmpz_clear(__gen_e_acsl__9); __gmpz_clear(__gen_e_acsl_sub_4); __gmpz_clear(__gen_e_acsl_add_2); - __gmpz_clear(__gen_e_acsl_at_3); + __gmpz_clear(__gen_e_acsl_at_2); return __retres; } } diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c index a6466bb5a4cd839f0ff014b89c0080609e9786e8..213b4d9f74eac564bebdd0059d7b93532bd5c786 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c @@ -40,31 +40,29 @@ void __gen_e_acsl_f(struct X *item) { struct X __gen_e_acsl_at_2; struct X *__gen_e_acsl_at; - __e_acsl_store_block((void *)(& item),(size_t)8); { int __gen_e_acsl_valid_read; - __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = - {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"item", + __e_acsl_store_block((void *)(& item),(size_t)8); + __gen_e_acsl_at = item; + __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"item", (void *)item); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(struct X)",0,sizeof(struct X)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)item, sizeof(struct X), (void *)item, (void *)(& item)); - __gen_e_acsl_assert_data_2.blocking = 1; - __gen_e_acsl_assert_data_2.kind = "RTE"; - __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(item)"; - __gen_e_acsl_assert_data_2.file = "issue-eacsl-139.c"; - __gen_e_acsl_assert_data_2.fct = "f"; - __gen_e_acsl_assert_data_2.line = 9; - __gen_e_acsl_assert_data_2.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_2); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + __gen_e_acsl_assert_data.blocking = 1; + __gen_e_acsl_assert_data.kind = "RTE"; + __gen_e_acsl_assert_data.pred_txt = "mem_access: \\valid_read(item)"; + __gen_e_acsl_assert_data.file = "issue-eacsl-139.c"; + __gen_e_acsl_assert_data.fct = "f"; + __gen_e_acsl_assert_data.line = 9; + __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __gen_e_acsl_at_2 = *item; } - __gen_e_acsl_at = item; f(item); __e_acsl_delete_block((void *)(& item)); return; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c index 3e8074f9776e02e075d00ab8e2519445cb3f1f3b..0c097d165c898e577807b108df86ae1b9f1af4cd 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c @@ -55,15 +55,16 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream) { - __e_acsl_mpz_t __gen_e_acsl_at_3; - void *__gen_e_acsl_at_2; - size_t __gen_e_acsl_at; + size_t __gen_e_acsl_at_3; + __e_acsl_mpz_t __gen_e_acsl_at_2; + void *__gen_e_acsl_at; size_t __retres; { __e_acsl_mpz_t __gen_e_acsl_size; + __e_acsl_mpz_t __gen_e_acsl_size_2; __e_acsl_mpz_t __gen_e_acsl_sizeof; __e_acsl_mpz_t __gen_e_acsl_nmemb; - __e_acsl_mpz_t __gen_e_acsl_size_2; + __e_acsl_mpz_t __gen_e_acsl_size_3; __e_acsl_mpz_t __gen_e_acsl_mul; __e_acsl_mpz_t __gen_e_acsl_; __e_acsl_mpz_t __gen_e_acsl_sub; @@ -75,11 +76,16 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_mpz_t __gen_e_acsl_if; __e_acsl_mpz_t __gen_e_acsl__4; int __gen_e_acsl_le_2; - unsigned long __gen_e_acsl_size_3; + unsigned long __gen_e_acsl_size_4; int __gen_e_acsl_valid; int __gen_e_acsl_valid_2; __e_acsl_store_block((void *)(& stream),(size_t)8); __e_acsl_store_block((void *)(& ptr),(size_t)8); + __gen_e_acsl_at = ptr; + __gmpz_init_set_ui(__gen_e_acsl_size,size); + __gmpz_init_set(__gen_e_acsl_at_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); + __gen_e_acsl_at_3 = nmemb; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"ptr",ptr); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, @@ -91,11 +97,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, nmemb); __gmpz_init_set_ui(__gen_e_acsl_nmemb,nmemb); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"size",0,size); - __gmpz_init_set_ui(__gen_e_acsl_size_2,size); + __gmpz_init_set_ui(__gen_e_acsl_size_3,size); __gmpz_init(__gen_e_acsl_mul); __gmpz_mul(__gen_e_acsl_mul, (__e_acsl_mpz_struct const *)(__gen_e_acsl_nmemb), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_3)); __gmpz_init_set_si(__gen_e_acsl_,1L); __gmpz_init(__gen_e_acsl_sub); __gmpz_sub(__gen_e_acsl_sub, @@ -114,11 +120,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_mul(__gen_e_acsl_mul_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_sizeof), (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gmpz_init_set(__gen_e_acsl_size, + __gmpz_init_set(__gen_e_acsl_size_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_2)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); - __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); if (__gen_e_acsl_le <= 0) { __e_acsl_mpz_t __gen_e_acsl__3; @@ -129,9 +135,9 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, } else { __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); __gmpz_init_set(__gen_e_acsl_if, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); } __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; @@ -153,9 +159,9 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gen_e_acsl_assert_data_2.name = "offset_lesser_or_eq_than_SIZE_MAX"; __e_acsl_assert(__gen_e_acsl_le_2 <= 0,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); - __gen_e_acsl_size_3 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); + __gen_e_acsl_size_4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gen_e_acsl_valid = __e_acsl_valid((void *)((char *)ptr + 1 * 0), - __gen_e_acsl_size_3,ptr, + __gen_e_acsl_size_4,ptr, (void *)(& ptr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "valid_ptr_block: \\valid((char *)ptr + (0 .. nmemb * size - 1))", @@ -189,9 +195,10 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert(__gen_e_acsl_valid_2,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); __gmpz_clear(__gen_e_acsl_size); + __gmpz_clear(__gen_e_acsl_size_2); __gmpz_clear(__gen_e_acsl_sizeof); __gmpz_clear(__gen_e_acsl_nmemb); - __gmpz_clear(__gen_e_acsl_size_2); + __gmpz_clear(__gen_e_acsl_size_3); __gmpz_clear(__gen_e_acsl_mul); __gmpz_clear(__gen_e_acsl_); __gmpz_clear(__gen_e_acsl_sub); @@ -202,23 +209,14 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_clear(__gen_e_acsl_if); __gmpz_clear(__gen_e_acsl__4); } - { - __e_acsl_mpz_t __gen_e_acsl_size_7; - __gmpz_init_set_ui(__gen_e_acsl_size_7,size); - __gmpz_init_set(__gen_e_acsl_at_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); - __gmpz_clear(__gen_e_acsl_size_7); - } - __gen_e_acsl_at_2 = ptr; - __gen_e_acsl_at = nmemb; __retres = fread(ptr,size,nmemb,stream); { __e_acsl_mpz_t __gen_e_acsl___retres; - __e_acsl_mpz_t __gen_e_acsl_size_4; + __e_acsl_mpz_t __gen_e_acsl_size_5; __e_acsl_mpz_t __gen_e_acsl_mul_3; __e_acsl_mpz_t __gen_e_acsl__5; int __gen_e_acsl_le_3; - unsigned long __gen_e_acsl_size_5; + unsigned long __gen_e_acsl_size_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"__retres",0, @@ -226,11 +224,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_init_set_ui(__gen_e_acsl___retres,__retres); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, size); - __gmpz_init_set_ui(__gen_e_acsl_size_4,size); + __gmpz_init_set_ui(__gen_e_acsl_size_5,size); __gmpz_init(__gen_e_acsl_mul_3); __gmpz_mul(__gen_e_acsl_mul_3, (__e_acsl_mpz_struct const *)(__gen_e_acsl___retres), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_4)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); __gmpz_init_set_ui(__gen_e_acsl__5,18446744073709551615UL); __gen_e_acsl_le_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3), (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); @@ -243,15 +241,15 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gen_e_acsl_assert_data_4.name = "size_lesser_or_eq_than_SIZE_MAX"; __e_acsl_assert(__gen_e_acsl_le_3 <= 0,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); - __gen_e_acsl_size_5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3)); - __e_acsl_initialize(ptr,__gen_e_acsl_size_5); + __gen_e_acsl_size_6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3)); + __e_acsl_initialize(ptr,__gen_e_acsl_size_6); __gmpz_clear(__gen_e_acsl___retres); - __gmpz_clear(__gen_e_acsl_size_4); + __gmpz_clear(__gen_e_acsl_size_5); __gmpz_clear(__gen_e_acsl_mul_3); __gmpz_clear(__gen_e_acsl__5); } { - __e_acsl_mpz_t __gen_e_acsl_size_6; + __e_acsl_mpz_t __gen_e_acsl_size_7; __e_acsl_mpz_t __gen_e_acsl_sizeof_2; __e_acsl_mpz_t __gen_e_acsl_result; __e_acsl_mpz_t __gen_e_acsl_mul_4; @@ -272,20 +270,20 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"\\result",0, __retres); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, - "\\old(nmemb)",0,__gen_e_acsl_at); + "\\old(nmemb)",0,__gen_e_acsl_at_3); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "Postcondition"; __gen_e_acsl_assert_data_5.pred_txt = "\\result <= \\old(nmemb)"; __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/stdio.h"; __gen_e_acsl_assert_data_5.fct = "fread"; __gen_e_acsl_assert_data_5.line = 356; - __gen_e_acsl_assert_data_5.name = "size_read"; - __e_acsl_assert(__retres <= __gen_e_acsl_at,& __gen_e_acsl_assert_data_5); + __e_acsl_assert(__retres <= __gen_e_acsl_at_3, + & __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(ptr)", - __gen_e_acsl_at_2); + __gen_e_acsl_at); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", @@ -296,11 +294,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_init_set_ui(__gen_e_acsl_result,__retres); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"\\old(size)", 0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init(__gen_e_acsl_mul_4); __gmpz_mul(__gen_e_acsl_mul_4, (__e_acsl_mpz_struct const *)(__gen_e_acsl_result), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init_set_si(__gen_e_acsl__6,1L); __gmpz_init(__gen_e_acsl_sub_3); __gmpz_sub(__gen_e_acsl_sub_3, @@ -319,11 +317,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_mul(__gen_e_acsl_mul_5, (__e_acsl_mpz_struct const *)(__gen_e_acsl_sizeof_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); - __gmpz_init_set(__gen_e_acsl_size_6, + __gmpz_init_set(__gen_e_acsl_size_7, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_5)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_6)); - __gen_e_acsl_le_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_6), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); + __gen_e_acsl_le_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7), (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); if (__gen_e_acsl_le_4 <= 0) { __e_acsl_mpz_t __gen_e_acsl__8; @@ -334,9 +332,9 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, } else { __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_6)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); __gmpz_init_set(__gen_e_acsl_if_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_6)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); } __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; @@ -359,7 +357,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert(__gen_e_acsl_le_5 <= 0,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); __gen_e_acsl_size_8 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)__gen_e_acsl_at_2 + + __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)__gen_e_acsl_at + 1 * 0), __gen_e_acsl_size_8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, @@ -376,7 +374,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); __e_acsl_delete_block((void *)(& stream)); __e_acsl_delete_block((void *)(& ptr)); - __gmpz_clear(__gen_e_acsl_size_6); + __gmpz_clear(__gen_e_acsl_size_7); __gmpz_clear(__gen_e_acsl_sizeof_2); __gmpz_clear(__gen_e_acsl_result); __gmpz_clear(__gen_e_acsl_mul_4); @@ -388,7 +386,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_clear(__gen_e_acsl_mul_5); __gmpz_clear(__gen_e_acsl_if_2); __gmpz_clear(__gen_e_acsl__9); - __gmpz_clear(__gen_e_acsl_at_3); + __gmpz_clear(__gen_e_acsl_at_2); return __retres; } } diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c index 7423ad772d31fe769874a2b1c3100c41309c3e8a..4949156576b6bc32719122b4133ae404541d27fc 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c @@ -700,13 +700,13 @@ pid_t __gen_e_acsl_fork(void) */ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) { - int *__gen_e_acsl_at_2; - int *__gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + int *__gen_e_acsl_at; pid_t __retres; { int __gen_e_acsl_assumes_value; __e_acsl_store_block((void *)(& stat_loc),(size_t)8); + __gen_e_acsl_at = stat_loc; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0, stat_loc == (int *)0); @@ -738,8 +738,6 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); } } - __gen_e_acsl_at_2 = stat_loc; - __gen_e_acsl_at = stat_loc; __retres = waitpid(pid,stat_loc,options); { int __gen_e_acsl_or; @@ -778,11 +776,10 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) else { int __gen_e_acsl_initialized; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, - "\\old(stat_loc)", - (void *)__gen_e_acsl_at_2); + "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at_2, + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c index 347be95252fe859c04523ce6b8dc37b9b9d57a5d..835b7da03d0d6d67bd22e2c4d15ab1271bf3ace5 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c @@ -241,13 +241,13 @@ pid_t __gen_e_acsl_fork(void) */ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) { - int *__gen_e_acsl_at_2; - int *__gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + int *__gen_e_acsl_at; pid_t __retres; { int __gen_e_acsl_assumes_value; __e_acsl_store_block((void *)(& stat_loc),(size_t)8); + __gen_e_acsl_at = stat_loc; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0, stat_loc == (int *)0); @@ -279,8 +279,6 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); } } - __gen_e_acsl_at_2 = stat_loc; - __gen_e_acsl_at = stat_loc; __retres = waitpid(pid,stat_loc,options); { int __gen_e_acsl_or; @@ -319,11 +317,10 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) else { int __gen_e_acsl_initialized; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, - "\\old(stat_loc)", - (void *)__gen_e_acsl_at_2); + "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at_2, + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c index 893f81a67edabdfab1dd017663cbb56506f5b5db..4328926452d166452f267138baf6d299c327b6d7 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c @@ -675,13 +675,13 @@ pid_t __gen_e_acsl_fork(void) */ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) { - int *__gen_e_acsl_at_2; - int *__gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + int *__gen_e_acsl_at; pid_t __retres; { int __gen_e_acsl_assumes_value; __e_acsl_store_block((void *)(& stat_loc),(size_t)8); + __gen_e_acsl_at = stat_loc; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0, stat_loc == (int *)0); @@ -713,8 +713,6 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); } } - __gen_e_acsl_at_2 = stat_loc; - __gen_e_acsl_at = stat_loc; __retres = waitpid(pid,stat_loc,options); { int __gen_e_acsl_or; @@ -753,11 +751,10 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) else { int __gen_e_acsl_initialized; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, - "\\old(stat_loc)", - (void *)__gen_e_acsl_at_2); + "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at_2, + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c index 4de9c149b4f9efd18cd257d98779f06afcc729d8..824fb3503a591edf467f21b2832705dc5583a931 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c @@ -215,13 +215,13 @@ pid_t __gen_e_acsl_fork(void) */ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) { - int *__gen_e_acsl_at_2; - int *__gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + int *__gen_e_acsl_at; pid_t __retres; { int __gen_e_acsl_assumes_value; __e_acsl_store_block((void *)(& stat_loc),(size_t)8); + __gen_e_acsl_at = stat_loc; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0, stat_loc == (int *)0); @@ -253,8 +253,6 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); } } - __gen_e_acsl_at_2 = stat_loc; - __gen_e_acsl_at = stat_loc; __retres = waitpid(pid,stat_loc,options); { int __gen_e_acsl_or; @@ -293,11 +291,10 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) else { int __gen_e_acsl_initialized; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, - "\\old(stat_loc)", - (void *)__gen_e_acsl_at_2); + "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at_2, + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c index 76ac158551f5a3b2cc9eb53a5e30b94dbd22ecf4..65e0a1d60438b62081897d070f4285491869a3cf 100644 --- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c +++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c @@ -957,6 +957,7 @@ int __gen_e_acsl_pthread_mutex_init(pthread_mutex_t * restrict mutex, int __gen_e_acsl_or; __e_acsl_store_block((void *)(& attrs),(size_t)8); __e_acsl_store_block((void *)(& mutex),(size_t)8); + __gen_e_acsl_at = mutex; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"mutex", (void *)mutex); @@ -1008,7 +1009,6 @@ int __gen_e_acsl_pthread_mutex_init(pthread_mutex_t * restrict mutex, __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); } - __gen_e_acsl_at = mutex; __retres = pthread_mutex_init(mutex,attrs); { int __gen_e_acsl_and; @@ -1424,6 +1424,7 @@ int __gen_e_acsl_pthread_cond_init(pthread_cond_t * restrict cond, int __gen_e_acsl_or; __e_acsl_store_block((void *)(& attr),(size_t)8); __e_acsl_store_block((void *)(& cond),(size_t)8); + __gen_e_acsl_at = cond; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"cond", (void *)cond); @@ -1474,7 +1475,6 @@ int __gen_e_acsl_pthread_cond_init(pthread_cond_t * restrict cond, __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); } - __gen_e_acsl_at = cond; __retres = pthread_cond_init(cond,attr); { int __gen_e_acsl_initialized; diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c index 4b07a6a1478adaa2271cee811f1d544ef83202a4..bad13c318e4c95ae8fec4d83fa2ee7c0f10ebb03 100644 --- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c +++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c @@ -639,6 +639,7 @@ int __gen_e_acsl_pthread_mutex_init(pthread_mutex_t * restrict mutex, int __gen_e_acsl_or; __e_acsl_store_block((void *)(& attrs),(size_t)8); __e_acsl_store_block((void *)(& mutex),(size_t)8); + __gen_e_acsl_at = mutex; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"mutex", (void *)mutex); @@ -690,7 +691,6 @@ int __gen_e_acsl_pthread_mutex_init(pthread_mutex_t * restrict mutex, __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); } - __gen_e_acsl_at = mutex; __retres = pthread_mutex_init(mutex,attrs); { int __gen_e_acsl_and; @@ -1106,6 +1106,7 @@ int __gen_e_acsl_pthread_cond_init(pthread_cond_t * restrict cond, int __gen_e_acsl_or; __e_acsl_store_block((void *)(& attr),(size_t)8); __e_acsl_store_block((void *)(& cond),(size_t)8); + __gen_e_acsl_at = cond; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"cond", (void *)cond); @@ -1156,7 +1157,6 @@ int __gen_e_acsl_pthread_cond_init(pthread_cond_t * restrict cond, __e_acsl_assert(__gen_e_acsl_or,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); } - __gen_e_acsl_at = cond; __retres = pthread_cond_init(cond,attr); { int __gen_e_acsl_initialized; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c index 1cf003981e3405f102571e9fdc71d96845960180..a969672a927d878c2756178fede4fa29a88554d7 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c @@ -228,15 +228,12 @@ int main(void) */ void __gen_e_acsl_o(void) { - int __gen_e_acsl_at_5; - int __gen_e_acsl_at_4; - int __gen_e_acsl_at_3; - int __gen_e_acsl_at_2; - int __gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + int __gen_e_acsl_at; { int __gen_e_acsl_assumes_value; int __gen_e_acsl_active_bhvrs; + __gen_e_acsl_at = Y; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)4); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"X",0,X); @@ -406,11 +403,6 @@ void __gen_e_acsl_o(void) & __gen_e_acsl_assert_data_10); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10); } - __gen_e_acsl_at_5 = Y; - __gen_e_acsl_at_4 = Y; - __gen_e_acsl_at_3 = Y; - __gen_e_acsl_at_2 = Y; - __gen_e_acsl_at = Y; o(); { int __gen_e_acsl_assumes_value_2; @@ -434,15 +426,14 @@ void __gen_e_acsl_o(void) {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"X",0,X); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"\\old(Y)", - 0,__gen_e_acsl_at_2); + 0,__gen_e_acsl_at); __gen_e_acsl_assert_data_13.blocking = 1; __gen_e_acsl_assert_data_13.kind = "Postcondition"; __gen_e_acsl_assert_data_13.pred_txt = "X == \\old(Y)"; __gen_e_acsl_assert_data_13.file = "function_contract.i"; __gen_e_acsl_assert_data_13.fct = "o"; __gen_e_acsl_assert_data_13.line = 99; - __gen_e_acsl_assert_data_13.name = "neg"; - __e_acsl_assert(X == __gen_e_acsl_at_2,& __gen_e_acsl_assert_data_13); + __e_acsl_assert(X == __gen_e_acsl_at,& __gen_e_acsl_assert_data_13); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_13); } __gen_e_acsl_assumes_value_2 = __e_acsl_contract_get_behavior_assumes @@ -452,15 +443,14 @@ void __gen_e_acsl_o(void) {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"X",0,X); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"\\old(Y)", - 0,__gen_e_acsl_at_3); + 0,__gen_e_acsl_at); __gen_e_acsl_assert_data_14.blocking = 1; __gen_e_acsl_assert_data_14.kind = "Postcondition"; __gen_e_acsl_assert_data_14.pred_txt = "X == \\old(Y)"; __gen_e_acsl_assert_data_14.file = "function_contract.i"; __gen_e_acsl_assert_data_14.fct = "o"; __gen_e_acsl_assert_data_14.line = 104; - __gen_e_acsl_assert_data_14.name = "pos"; - __e_acsl_assert(X == __gen_e_acsl_at_3,& __gen_e_acsl_assert_data_14); + __e_acsl_assert(X == __gen_e_acsl_at,& __gen_e_acsl_assert_data_14); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_14); } __gen_e_acsl_assumes_value_2 = __e_acsl_contract_get_behavior_assumes @@ -470,15 +460,14 @@ void __gen_e_acsl_o(void) {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"X",0,X); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"\\old(Y)", - 0,__gen_e_acsl_at_4); + 0,__gen_e_acsl_at); __gen_e_acsl_assert_data_15.blocking = 1; __gen_e_acsl_assert_data_15.kind = "Postcondition"; __gen_e_acsl_assert_data_15.pred_txt = "X == \\old(Y)"; __gen_e_acsl_assert_data_15.file = "function_contract.i"; __gen_e_acsl_assert_data_15.fct = "o"; __gen_e_acsl_assert_data_15.line = 109; - __gen_e_acsl_assert_data_15.name = "odd"; - __e_acsl_assert(X == __gen_e_acsl_at_4,& __gen_e_acsl_assert_data_15); + __e_acsl_assert(X == __gen_e_acsl_at,& __gen_e_acsl_assert_data_15); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_15); } __gen_e_acsl_assumes_value_2 = __e_acsl_contract_get_behavior_assumes @@ -488,15 +477,14 @@ void __gen_e_acsl_o(void) {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"X",0,X); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"\\old(Y)", - 0,__gen_e_acsl_at_5); + 0,__gen_e_acsl_at); __gen_e_acsl_assert_data_16.blocking = 1; __gen_e_acsl_assert_data_16.kind = "Postcondition"; __gen_e_acsl_assert_data_16.pred_txt = "X == \\old(Y)"; __gen_e_acsl_assert_data_16.file = "function_contract.i"; __gen_e_acsl_assert_data_16.fct = "o"; __gen_e_acsl_assert_data_16.line = 114; - __gen_e_acsl_assert_data_16.name = "even"; - __e_acsl_assert(X == __gen_e_acsl_at_5,& __gen_e_acsl_assert_data_16); + __e_acsl_assert(X == __gen_e_acsl_at,& __gen_e_acsl_assert_data_16); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_16); } __e_acsl_contract_clean(__gen_e_acsl_contract); @@ -598,10 +586,11 @@ void __gen_e_acsl_n(void) */ void __gen_e_acsl_m(void) { - long __gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + long __gen_e_acsl_at; { int __gen_e_acsl_and; + __gen_e_acsl_at = (long)X; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0, X == 7); @@ -609,7 +598,6 @@ void __gen_e_acsl_m(void) __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)1, __gen_e_acsl_and); } - __gen_e_acsl_at = (long)X; m(); { int __gen_e_acsl_assumes_value; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_result.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_result.c index b90c677cd6740b1f66f7d8d1ae345b67489ca9dc..c99db3bf2f45ab4efa11c47155678b6581fe419a 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_result.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_result.c @@ -112,10 +112,8 @@ int __gen_e_acsl_g(int x) /*@ ensures \result == (int)(\old(x) - \old(x)); */ int __gen_e_acsl_f(int x) { - int __gen_e_acsl_at_2; long __gen_e_acsl_at; int __retres; - __gen_e_acsl_at_2 = x; __gen_e_acsl_at = (long)x; __retres = f(x); { @@ -124,15 +122,15 @@ int __gen_e_acsl_f(int x) __retres); __e_acsl_assert_register_long(& __gen_e_acsl_assert_data,"\\old(x)",0, __gen_e_acsl_at); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\old(x)",0, - __gen_e_acsl_at_2); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data,"\\old(x)",0, + __gen_e_acsl_at); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Postcondition"; __gen_e_acsl_assert_data.pred_txt = "\\result == (int)(\\old(x) - \\old(x))"; __gen_e_acsl_assert_data.file = "result.i"; __gen_e_acsl_assert_data.fct = "f"; __gen_e_acsl_assert_data.line = 5; - __e_acsl_assert(__retres == (int)(__gen_e_acsl_at - __gen_e_acsl_at_2), + __e_acsl_assert(__retres == (int)(__gen_e_acsl_at - __gen_e_acsl_at), & __gen_e_acsl_assert_data); __e_acsl_assert_clean(& __gen_e_acsl_assert_data); return __retres; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c index d541359143b02d5e336ac2d54af2faa7864a2451..20f953076433b4058d4249f0cbbe345bd0ddd782 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c @@ -56,11 +56,13 @@ int main(void) void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l) { + __e_acsl_contract_t *__gen_e_acsl_contract; int __gen_e_acsl_at_2; int __gen_e_acsl_at; - __e_acsl_contract_t *__gen_e_acsl_contract; { int __gen_e_acsl_assumes_value; + __gen_e_acsl_at = b; + __gen_e_acsl_at_2 = e; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)1); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"a",0,a); @@ -324,8 +326,6 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); } } - __gen_e_acsl_at_2 = e; - __gen_e_acsl_at = b; test(a,b,c,d,e,f,g,h,i,j,k,l); { int __gen_e_acsl_assumes_value_2; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/result.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle/result.res.oracle index c154bf096dd6e181a09a9350cf0c8e3b0ed7ab83..8b89a531d8c6f7499c7c29b67f3416e881c3809a 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/result.res.oracle +++ b/src/plugins/e-acsl/tests/constructs/oracle/result.res.oracle @@ -4,8 +4,8 @@ function __e_acsl_assert_register_long: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] result.i:5: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. + function __e_acsl_assert_register_long: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] result.i:13: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/printed_data.e-acsl.err.log b/src/plugins/e-acsl/tests/constructs/oracle_dev/printed_data.e-acsl.err.log index 6ae207c797812ba73f9eb18cb2d8153d839a3d57..66e7a3231b68451f7e4400fbf1c8cf1be3b91ba4 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle_dev/printed_data.e-acsl.err.log +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/printed_data.e-acsl.err.log @@ -2,98 +2,98 @@ EVERY ASSERTION SHOULD PRINT ITS DATA IN EXECUTION LOG printed_data.c: In function 'main' printed_data.c:69: Assertion valid: \let x = int_bool; \true. - With values: + With values at failure point: - int_bool: 1 printed_data.c: In function 'main' printed_data.c:71: Assertion valid: \let x = int_char; \true. - With values: + With values at failure point: - int_char: 127 printed_data.c: In function 'main' printed_data.c:73: Assertion valid: \let x = int_schar; \true. - With values: + With values at failure point: - int_schar: 127 printed_data.c: In function 'main' printed_data.c:75: Assertion valid: \let x = int_uchar; \true. - With values: + With values at failure point: - int_uchar: 255 printed_data.c: In function 'main' printed_data.c:77: Assertion valid: \let x = int_int; \true. - With values: + With values at failure point: - int_int: 2147483647 printed_data.c: In function 'main' printed_data.c:79: Assertion valid: \let x = int_uint; \true. - With values: + With values at failure point: - int_uint: 4294967295 printed_data.c: In function 'main' printed_data.c:81: Assertion valid: \let x = int_short; \true. - With values: + With values at failure point: - int_short: 32767 printed_data.c: In function 'main' printed_data.c:83: Assertion valid: \let x = int_ushort; \true. - With values: + With values at failure point: - int_ushort: 65535 printed_data.c: In function 'main' printed_data.c:85: Assertion valid: \let x = int_long; \true. - With values: + With values at failure point: - int_long: 9223372036854775807 printed_data.c: In function 'main' printed_data.c:87: Assertion valid: \let x = int_ulong; \true. - With values: + With values at failure point: - int_ulong: 18446744073709551615 printed_data.c: In function 'main' printed_data.c:89: Assertion valid: \let x = int_llong; \true. - With values: + With values at failure point: - int_llong: 9223372036854775807 printed_data.c: In function 'main' printed_data.c:91: Assertion valid: \let x = int_ullong; \true. - With values: + With values at failure point: - int_ullong: 18446744073709551615 printed_data.c: In function 'main' printed_data.c:93: Assertion valid: \let int_mpz = (0x7fffffffffffffffLL * 2ULL + 1ULL) + 1; int_mpz != 0x7fffffffffffffffLL * 2ULL + 1ULL. - With values: + With values at failure point: - int_mpz: 18446744073709551616 printed_data.c: In function 'main' printed_data.c:98: Assertion valid: \let x = real_float; \true. - With values: + With values at failure point: - real_float: 3.402823e+38 printed_data.c: In function 'main' printed_data.c:100: Assertion valid: \let x = real_double; \true. - With values: + With values at failure point: - real_double: 1.797693e+308 printed_data.c: In function 'main' printed_data.c:102: Assertion valid: \let x = real_ldouble; \true. - With values: + With values at failure point: - real_ldouble: 1.189731e+4932 printed_data.c: In function 'main' printed_data.c:104: Assertion valid: \let real_mpq = 0.1; real_mpq != 1. - With values: + With values at failure point: - real_mpq: 1/10 printed_data.c: In function 'main' printed_data.c:109: Assertion valid: ptr != (void *)0. - With values: + With values at failure point: - ptr: 0x000000 printed_data.c: In function 'main' printed_data.c:113: Assertion valid: array1 != array2. - With values: + With values at failure point: - array2: <array> - address: 0x000000 - array1: <array> @@ -101,83 +101,83 @@ printed_data.c:113: Assertion valid: printed_data.c: In function 'main' printed_data.c:118: Assertion valid: &f != &g. - With values: + With values at failure point: - &g: 0x000000 - &f: 0x000000 printed_data.c: In function 'main' printed_data.c:123: Assertion valid: \let x = struct1; \true. - With values: + With values at failure point: - struct1: <struct> printed_data.c: In function 'main' printed_data.c:128: Assertion valid: \let x = union1; \true. - With values: + With values at failure point: - union1: <union> printed_data.c: In function 'main' printed_data.c:133: Assertion valid: \let x = enum_bool; \true. - With values: + With values at failure point: - enum_bool: <enum> 1 printed_data.c: In function 'main' printed_data.c:135: Assertion valid: \let x = enum_char; \true. - With values: + With values at failure point: - enum_char: <enum> 127 printed_data.c: In function 'main' printed_data.c:137: Assertion valid: \let x = enum_schar; \true. - With values: + With values at failure point: - enum_schar: <enum> 127 printed_data.c: In function 'main' printed_data.c:139: Assertion valid: \let x = enum_uchar; \true. - With values: + With values at failure point: - enum_uchar: <enum> 255 printed_data.c: In function 'main' printed_data.c:141: Assertion valid: \let x = enum_int; \true. - With values: + With values at failure point: - enum_int: <enum> 2147483647 printed_data.c: In function 'main' printed_data.c:143: Assertion valid: \let x = enum_uint; \true. - With values: + With values at failure point: - enum_uint: <enum> 4294967295 printed_data.c: In function 'main' printed_data.c:145: Assertion valid: \let x = enum_short; \true. - With values: + With values at failure point: - enum_short: <enum> 32767 printed_data.c: In function 'main' printed_data.c:147: Assertion valid: \let x = enum_ushort; \true. - With values: + With values at failure point: - enum_ushort: <enum> 65535 printed_data.c: In function 'main' printed_data.c:149: Assertion valid: \let x = enum_long; \true. - With values: + With values at failure point: - enum_long: <enum> 9223372036854775807 printed_data.c: In function 'main' printed_data.c:151: Assertion valid: \let x = enum_ulong; \true. - With values: + With values at failure point: - enum_ulong: <enum> 18446744073709551615 printed_data.c: In function 'main' printed_data.c:153: Assertion valid: \let x = enum_llong; \true. - With values: + With values at failure point: - enum_llong: <enum> 9223372036854775807 printed_data.c: In function 'main' printed_data.c:155: Assertion valid: \let x = enum_ullong; \true. - With values: + With values at failure point: - enum_ullong: <enum> 18446744073709551615 printed_data.c: In function 'main' printed_data.c:161: Assertion valid: \let c = a + b; a != b && c == a + b. - With values: + With values at failure point: - c: 5 - b: 3 - a: 2 diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c index 6f72b40c111a225647a22a74e7662b92ffc9e4d5..f9fa434c6110f921a62e4d548ada67b48be2ffb0 100644 --- a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c +++ b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c @@ -154,13 +154,13 @@ pid_t __gen_e_acsl_fork(void) */ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) { - int *__gen_e_acsl_at_2; - int *__gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + int *__gen_e_acsl_at; pid_t __retres; { int __gen_e_acsl_assumes_value; __e_acsl_store_block((void *)(& stat_loc),(size_t)8); + __gen_e_acsl_at = stat_loc; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0, stat_loc == (int *)0); @@ -192,8 +192,6 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); } } - __gen_e_acsl_at_2 = stat_loc; - __gen_e_acsl_at = stat_loc; __retres = waitpid(pid,stat_loc,options); { int __gen_e_acsl_or; @@ -232,11 +230,10 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) else { int __gen_e_acsl_initialized; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, - "\\old(stat_loc)", - (void *)__gen_e_acsl_at_2); + "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at_2, + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c index ca8765b8f2703ec3458a2925a0d5fed15bbcd41c..4fcfca74865f84b46d21f3289bb4d2857120ad17 100644 --- a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c +++ b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c @@ -735,13 +735,13 @@ void test_specifier_application(char const *allowed, char const *fmt, */ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) { - char *__gen_e_acsl_at; unsigned long __gen_e_acsl_strcpy_src_size; + char *__gen_e_acsl_at; char *__retres; __e_acsl_store_block((void *)(& src),(size_t)8); __e_acsl_store_block((void *)(& dest),(size_t)8); - __gen_e_acsl_strcpy_src_size = __e_acsl_builtin_strlen(src); __gen_e_acsl_at = dest; + __gen_e_acsl_strcpy_src_size = __e_acsl_builtin_strlen(src); __retres = strcpy(dest,src); { __e_acsl_mpz_t __gen_e_acsl___gen_e_acsl_strcpy_src_size; @@ -830,19 +830,16 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) */ char *__gen_e_acsl_strchr(char const *s, int c) { - char const *__gen_e_acsl_at_4; - char const *__gen_e_acsl_at_2; - int __gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + int __gen_e_acsl_at_2; + char const *__gen_e_acsl_at; char *__retres; __e_acsl_store_block((void *)(& __retres),(size_t)8); __e_acsl_store_block((void *)(& s),(size_t)8); + __gen_e_acsl_at = s; + __gen_e_acsl_at_2 = c; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)3); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)2,1); - __gen_e_acsl_at_4 = s; - __gen_e_acsl_at_3 = s; - __gen_e_acsl_at_2 = s; - __gen_e_acsl_at = c; __retres = strchr(s,c); { int __gen_e_acsl_assumes_value; @@ -858,7 +855,7 @@ char *__gen_e_acsl_strchr(char const *s, int c) __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_2,"*\\result", 0,*__retres); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\old(c)",0, - __gen_e_acsl_at); + __gen_e_acsl_at_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&__retres", @@ -895,7 +892,7 @@ char *__gen_e_acsl_strchr(char const *s, int c) __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "\\base_addr(\\result)", __gen_e_acsl_base_addr); - __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)__gen_e_acsl_at_2); + __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)__gen_e_acsl_at); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "\\base_addr(\\old(s))", __gen_e_acsl_base_addr_2); @@ -915,8 +912,7 @@ char *__gen_e_acsl_strchr(char const *s, int c) __gen_e_acsl_assert_data_2.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_2.fct = "strchr"; __gen_e_acsl_assert_data_2.line = 177; - __gen_e_acsl_assert_data_2.name = "found/result_char"; - __e_acsl_assert((int)*__retres == (int)((char)__gen_e_acsl_at), + __e_acsl_assert((int)*__retres == (int)((char)__gen_e_acsl_at_2), & __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); } @@ -953,7 +949,7 @@ char *__gen_e_acsl_strchr(char const *s, int c) __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "\\base_addr(\\result)", __gen_e_acsl_base_addr_3); - __gen_e_acsl_base_addr_4 = __e_acsl_base_addr((void *)__gen_e_acsl_at_4); + __gen_e_acsl_base_addr_4 = __e_acsl_base_addr((void *)__gen_e_acsl_at); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "\\base_addr(\\old(s))", __gen_e_acsl_base_addr_4); @@ -1050,13 +1046,13 @@ pid_t __gen_e_acsl_fork(void) */ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) { - int *__gen_e_acsl_at_2; - int *__gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + int *__gen_e_acsl_at; pid_t __retres; { int __gen_e_acsl_assumes_value; __e_acsl_store_block((void *)(& stat_loc),(size_t)8); + __gen_e_acsl_at = stat_loc; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0, stat_loc == (int *)0); @@ -1088,8 +1084,6 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); } } - __gen_e_acsl_at_2 = stat_loc; - __gen_e_acsl_at = stat_loc; __retres = waitpid(pid,stat_loc,options); { int __gen_e_acsl_or; @@ -1128,11 +1122,10 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) else { int __gen_e_acsl_initialized; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, - "\\old(stat_loc)", - (void *)__gen_e_acsl_at_2); + "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at_2, + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_file.c b/src/plugins/e-acsl/tests/libc/oracle/gen_file.c index 06f88c63176372a599aefcc0d772d00e1ebd6a57..c6e10b5b0c544ee932324fbc8badc71f04621b8b 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/gen_file.c +++ b/src/plugins/e-acsl/tests/libc/oracle/gen_file.c @@ -55,15 +55,16 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, FILE * restrict stream) { - __e_acsl_mpz_t __gen_e_acsl_at_3; - void *__gen_e_acsl_at_2; - size_t __gen_e_acsl_at; + size_t __gen_e_acsl_at_3; + __e_acsl_mpz_t __gen_e_acsl_at_2; + void *__gen_e_acsl_at; size_t __retres; { __e_acsl_mpz_t __gen_e_acsl_size; + __e_acsl_mpz_t __gen_e_acsl_size_2; __e_acsl_mpz_t __gen_e_acsl_sizeof; __e_acsl_mpz_t __gen_e_acsl_nmemb; - __e_acsl_mpz_t __gen_e_acsl_size_2; + __e_acsl_mpz_t __gen_e_acsl_size_3; __e_acsl_mpz_t __gen_e_acsl_mul; __e_acsl_mpz_t __gen_e_acsl_; __e_acsl_mpz_t __gen_e_acsl_sub; @@ -75,11 +76,16 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_mpz_t __gen_e_acsl_if; __e_acsl_mpz_t __gen_e_acsl__4; int __gen_e_acsl_le_2; - unsigned long __gen_e_acsl_size_3; + unsigned long __gen_e_acsl_size_4; int __gen_e_acsl_valid; int __gen_e_acsl_valid_2; __e_acsl_store_block((void *)(& stream),(size_t)8); __e_acsl_store_block((void *)(& ptr),(size_t)8); + __gen_e_acsl_at = ptr; + __gmpz_init_set_ui(__gen_e_acsl_size,size); + __gmpz_init_set(__gen_e_acsl_at_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); + __gen_e_acsl_at_3 = nmemb; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"ptr",ptr); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, @@ -91,11 +97,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, nmemb); __gmpz_init_set_ui(__gen_e_acsl_nmemb,nmemb); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"size",0,size); - __gmpz_init_set_ui(__gen_e_acsl_size_2,size); + __gmpz_init_set_ui(__gen_e_acsl_size_3,size); __gmpz_init(__gen_e_acsl_mul); __gmpz_mul(__gen_e_acsl_mul, (__e_acsl_mpz_struct const *)(__gen_e_acsl_nmemb), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_3)); __gmpz_init_set_si(__gen_e_acsl_,1L); __gmpz_init(__gen_e_acsl_sub); __gmpz_sub(__gen_e_acsl_sub, @@ -114,11 +120,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_mul(__gen_e_acsl_mul_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_sizeof), (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gmpz_init_set(__gen_e_acsl_size, + __gmpz_init_set(__gen_e_acsl_size_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_2)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); - __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); if (__gen_e_acsl_le <= 0) { __e_acsl_mpz_t __gen_e_acsl__3; @@ -129,9 +135,9 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, } else { __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); __gmpz_init_set(__gen_e_acsl_if, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); } __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; @@ -153,9 +159,9 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gen_e_acsl_assert_data_2.name = "offset_lesser_or_eq_than_SIZE_MAX"; __e_acsl_assert(__gen_e_acsl_le_2 <= 0,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); - __gen_e_acsl_size_3 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); + __gen_e_acsl_size_4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gen_e_acsl_valid = __e_acsl_valid((void *)((char *)ptr + 1 * 0), - __gen_e_acsl_size_3,ptr, + __gen_e_acsl_size_4,ptr, (void *)(& ptr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "valid_ptr_block: \\valid((char *)ptr + (0 .. nmemb * size - 1))", @@ -189,9 +195,10 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert(__gen_e_acsl_valid_2,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); __gmpz_clear(__gen_e_acsl_size); + __gmpz_clear(__gen_e_acsl_size_2); __gmpz_clear(__gen_e_acsl_sizeof); __gmpz_clear(__gen_e_acsl_nmemb); - __gmpz_clear(__gen_e_acsl_size_2); + __gmpz_clear(__gen_e_acsl_size_3); __gmpz_clear(__gen_e_acsl_mul); __gmpz_clear(__gen_e_acsl_); __gmpz_clear(__gen_e_acsl_sub); @@ -202,23 +209,14 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_clear(__gen_e_acsl_if); __gmpz_clear(__gen_e_acsl__4); } - { - __e_acsl_mpz_t __gen_e_acsl_size_7; - __gmpz_init_set_ui(__gen_e_acsl_size_7,size); - __gmpz_init_set(__gen_e_acsl_at_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); - __gmpz_clear(__gen_e_acsl_size_7); - } - __gen_e_acsl_at_2 = ptr; - __gen_e_acsl_at = nmemb; __retres = fread(ptr,size,nmemb,stream); { __e_acsl_mpz_t __gen_e_acsl___retres; - __e_acsl_mpz_t __gen_e_acsl_size_4; + __e_acsl_mpz_t __gen_e_acsl_size_5; __e_acsl_mpz_t __gen_e_acsl_mul_3; __e_acsl_mpz_t __gen_e_acsl__5; int __gen_e_acsl_le_3; - unsigned long __gen_e_acsl_size_5; + unsigned long __gen_e_acsl_size_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"__retres",0, @@ -226,11 +224,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_init_set_ui(__gen_e_acsl___retres,__retres); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, size); - __gmpz_init_set_ui(__gen_e_acsl_size_4,size); + __gmpz_init_set_ui(__gen_e_acsl_size_5,size); __gmpz_init(__gen_e_acsl_mul_3); __gmpz_mul(__gen_e_acsl_mul_3, (__e_acsl_mpz_struct const *)(__gen_e_acsl___retres), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_4)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); __gmpz_init_set_ui(__gen_e_acsl__5,18446744073709551615UL); __gen_e_acsl_le_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3), (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); @@ -243,15 +241,15 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gen_e_acsl_assert_data_4.name = "size_lesser_or_eq_than_SIZE_MAX"; __e_acsl_assert(__gen_e_acsl_le_3 <= 0,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); - __gen_e_acsl_size_5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3)); - __e_acsl_initialize(ptr,__gen_e_acsl_size_5); + __gen_e_acsl_size_6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3)); + __e_acsl_initialize(ptr,__gen_e_acsl_size_6); __gmpz_clear(__gen_e_acsl___retres); - __gmpz_clear(__gen_e_acsl_size_4); + __gmpz_clear(__gen_e_acsl_size_5); __gmpz_clear(__gen_e_acsl_mul_3); __gmpz_clear(__gen_e_acsl__5); } { - __e_acsl_mpz_t __gen_e_acsl_size_6; + __e_acsl_mpz_t __gen_e_acsl_size_7; __e_acsl_mpz_t __gen_e_acsl_sizeof_2; __e_acsl_mpz_t __gen_e_acsl_result; __e_acsl_mpz_t __gen_e_acsl_mul_4; @@ -272,20 +270,20 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"\\result",0, __retres); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, - "\\old(nmemb)",0,__gen_e_acsl_at); + "\\old(nmemb)",0,__gen_e_acsl_at_3); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "Postcondition"; __gen_e_acsl_assert_data_5.pred_txt = "\\result <= \\old(nmemb)"; __gen_e_acsl_assert_data_5.file = "FRAMAC_SHARE/libc/stdio.h"; __gen_e_acsl_assert_data_5.fct = "fread"; __gen_e_acsl_assert_data_5.line = 356; - __gen_e_acsl_assert_data_5.name = "size_read"; - __e_acsl_assert(__retres <= __gen_e_acsl_at,& __gen_e_acsl_assert_data_5); + __e_acsl_assert(__retres <= __gen_e_acsl_at_3, + & __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(ptr)", - __gen_e_acsl_at_2); + __gen_e_acsl_at); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", @@ -296,11 +294,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_init_set_ui(__gen_e_acsl_result,__retres); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"\\old(size)", 0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init(__gen_e_acsl_mul_4); __gmpz_mul(__gen_e_acsl_mul_4, (__e_acsl_mpz_struct const *)(__gen_e_acsl_result), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init_set_si(__gen_e_acsl__6,1L); __gmpz_init(__gen_e_acsl_sub_3); __gmpz_sub(__gen_e_acsl_sub_3, @@ -319,11 +317,11 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_mul(__gen_e_acsl_mul_5, (__e_acsl_mpz_struct const *)(__gen_e_acsl_sizeof_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); - __gmpz_init_set(__gen_e_acsl_size_6, + __gmpz_init_set(__gen_e_acsl_size_7, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_5)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_6)); - __gen_e_acsl_le_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_6), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); + __gen_e_acsl_le_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7), (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); if (__gen_e_acsl_le_4 <= 0) { __e_acsl_mpz_t __gen_e_acsl__8; @@ -334,9 +332,9 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, } else { __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_6)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); __gmpz_init_set(__gen_e_acsl_if_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_6)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); } __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; @@ -359,7 +357,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert(__gen_e_acsl_le_5 <= 0,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); __gen_e_acsl_size_8 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)__gen_e_acsl_at_2 + + __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)__gen_e_acsl_at + 1 * 0), __gen_e_acsl_size_8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, @@ -376,7 +374,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); __e_acsl_delete_block((void *)(& stream)); __e_acsl_delete_block((void *)(& ptr)); - __gmpz_clear(__gen_e_acsl_size_6); + __gmpz_clear(__gen_e_acsl_size_7); __gmpz_clear(__gen_e_acsl_sizeof_2); __gmpz_clear(__gen_e_acsl_result); __gmpz_clear(__gen_e_acsl_mul_4); @@ -388,7 +386,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_clear(__gen_e_acsl_mul_5); __gmpz_clear(__gen_e_acsl_if_2); __gmpz_clear(__gen_e_acsl__9); - __gmpz_clear(__gen_e_acsl_at_3); + __gmpz_clear(__gen_e_acsl_at_2); return __retres; } } diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c b/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c index 503f06d93716cae46b39b2d05307255839b19039..5d9daf5e2e76e143f2c8324aba63392160a3723c 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c +++ b/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c @@ -518,6 +518,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, int __gen_e_acsl_separated; __e_acsl_store_block((void *)(& src),(size_t)8); __e_acsl_store_block((void *)(& dest),(size_t)8); + __gen_e_acsl_at = dest; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = @@ -656,7 +657,6 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gmpz_clear(__gen_e_acsl_sub_2); __gmpz_clear(__gen_e_acsl_add); } - __gen_e_acsl_at = dest; __retres = memcpy(dest,src,n); __e_acsl_initialize(dest,n); { diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_str.c b/src/plugins/e-acsl/tests/libc/oracle/gen_str.c index 3b7660e1a3ebbb5388edb7a40c3b91b86d786ae9..23add5a82f4db755be7a6a45211e12d7aa452294 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/gen_str.c +++ b/src/plugins/e-acsl/tests/libc/oracle/gen_str.c @@ -149,17 +149,17 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, size_t n) { - char *__gen_e_acsl_at; unsigned long __gen_e_acsl_strcat_dest_size; unsigned long __gen_e_acsl_strcat_src_size; __e_acsl_contract_t *__gen_e_acsl_contract; + char *__gen_e_acsl_at; char *__retres; __e_acsl_store_block((void *)(& dest),(size_t)8); + __gen_e_acsl_at = dest; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __gen_e_acsl_strcat_src_size = __e_acsl_builtin_strlen(src); if (n < __gen_e_acsl_strcat_src_size) __gen_e_acsl_strcat_src_size = n; __gen_e_acsl_strcat_dest_size = __e_acsl_builtin_strlen((char const *)dest); - __gen_e_acsl_at = dest; __retres = strncat(dest,src,n); { __e_acsl_mpz_t __gen_e_acsl___gen_e_acsl_strcat_src_size; @@ -256,15 +256,14 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, */ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src) { - char *__gen_e_acsl_at_2; unsigned long __gen_e_acsl_strcat_dest_size; unsigned long __gen_e_acsl_strcat_src_size; + char *__gen_e_acsl_at; char *__retres; __e_acsl_store_block((void *)(& dest),(size_t)8); + __gen_e_acsl_at = dest; __gen_e_acsl_strcat_src_size = __e_acsl_builtin_strlen(src); __gen_e_acsl_strcat_dest_size = __e_acsl_builtin_strlen((char const *)dest); - __gen_e_acsl_at_2 = dest; - __gen_e_acsl_at = dest; __retres = strcat(dest,src); { __e_acsl_mpz_t __gen_e_acsl___gen_e_acsl_strcat_src_size; @@ -323,16 +322,14 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src) __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"\\result", (void *)__retres); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"\\old(dest)", - (void *)__gen_e_acsl_at_2); + (void *)__gen_e_acsl_at); __gen_e_acsl_assert_data_8.blocking = 1; __gen_e_acsl_assert_data_8.kind = "Postcondition"; __gen_e_acsl_assert_data_8.pred_txt = "\\result == \\old(dest)"; __gen_e_acsl_assert_data_8.file = "FRAMAC_SHARE/libc/string.h"; __gen_e_acsl_assert_data_8.fct = "strcat"; __gen_e_acsl_assert_data_8.line = 434; - __gen_e_acsl_assert_data_8.name = "result_ptr"; - __e_acsl_assert(__retres == __gen_e_acsl_at_2, - & __gen_e_acsl_assert_data_8); + __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_8); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); __e_acsl_delete_block((void *)(& dest)); return __retres; @@ -360,14 +357,14 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src) char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, size_t n) { - __e_acsl_mpz_t __gen_e_acsl_at_3; - char *__gen_e_acsl_at_2; - char *__gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + __e_acsl_mpz_t __gen_e_acsl_at_2; + char *__gen_e_acsl_at; char *__retres; { - unsigned long __gen_e_acsl_size; __e_acsl_mpz_t __gen_e_acsl_n; + unsigned long __gen_e_acsl_size; + __e_acsl_mpz_t __gen_e_acsl_n_2; __e_acsl_mpz_t __gen_e_acsl_; __e_acsl_mpz_t __gen_e_acsl_sub; __e_acsl_mpz_t __gen_e_acsl__2; @@ -393,6 +390,10 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, int __gen_e_acsl_separated; __e_acsl_store_block((void *)(& src),(size_t)8); __e_acsl_store_block((void *)(& dest),(size_t)8); + __gen_e_acsl_at = dest; + __gmpz_init_set_ui(__gen_e_acsl_n,n); + __gmpz_init_set(__gen_e_acsl_at_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_n)); __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; @@ -403,11 +404,11 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"n",0,n); - __gmpz_init_set_ui(__gen_e_acsl_n,n); + __gmpz_init_set_ui(__gen_e_acsl_n_2,n); __gmpz_init_set_si(__gen_e_acsl_,1L); __gmpz_init(__gen_e_acsl_sub); __gmpz_sub(__gen_e_acsl_sub, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); __gmpz_init_set_si(__gen_e_acsl__2,0L); __gmpz_init(__gen_e_acsl_sub_2); @@ -560,21 +561,13 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert(__gen_e_acsl_separated,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); __gmpz_clear(__gen_e_acsl_n); + __gmpz_clear(__gen_e_acsl_n_2); __gmpz_clear(__gen_e_acsl_); __gmpz_clear(__gen_e_acsl_sub); __gmpz_clear(__gen_e_acsl__2); __gmpz_clear(__gen_e_acsl_sub_2); __gmpz_clear(__gen_e_acsl_add); } - { - __e_acsl_mpz_t __gen_e_acsl_n_2; - __gmpz_init_set_ui(__gen_e_acsl_n_2,n); - __gmpz_init_set(__gen_e_acsl_at_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2)); - __gmpz_clear(__gen_e_acsl_n_2); - } - __gen_e_acsl_at_2 = dest; - __gen_e_acsl_at = dest; __retres = strncpy(dest,src,n); __e_acsl_initialize((void *)dest,n); { @@ -605,17 +598,17 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"\\old(dest)", - (void *)__gen_e_acsl_at_2); + (void *)__gen_e_acsl_at); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", 0,1); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7,"\\old(n)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init_set_si(__gen_e_acsl__8,1L); __gmpz_init(__gen_e_acsl_sub_3); __gmpz_sub(__gen_e_acsl_sub_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); __gmpz_init_set_si(__gen_e_acsl__9,0L); __gmpz_init(__gen_e_acsl_sub_4); @@ -636,7 +629,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_size_6); __gen_e_acsl_if_6 = __gen_e_acsl_size_6; } - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(__gen_e_acsl_at_2 + + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(__gen_e_acsl_at + 1 * 0), __gen_e_acsl_if_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, @@ -659,7 +652,7 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gmpz_clear(__gen_e_acsl__9); __gmpz_clear(__gen_e_acsl_sub_4); __gmpz_clear(__gen_e_acsl_add_2); - __gmpz_clear(__gen_e_acsl_at_3); + __gmpz_clear(__gen_e_acsl_at_2); return __retres; } } @@ -678,13 +671,13 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, */ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) { - char *__gen_e_acsl_at; unsigned long __gen_e_acsl_strcpy_src_size; + char *__gen_e_acsl_at; char *__retres; __e_acsl_store_block((void *)(& src),(size_t)8); __e_acsl_store_block((void *)(& dest),(size_t)8); - __gen_e_acsl_strcpy_src_size = __e_acsl_builtin_strlen(src); __gen_e_acsl_at = dest; + __gen_e_acsl_strcpy_src_size = __e_acsl_builtin_strlen(src); __retres = strcpy(dest,src); { __e_acsl_mpz_t __gen_e_acsl___gen_e_acsl_strcpy_src_size; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c b/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c index e8c4b325fcc879c6d3eded17655065d74bee84e2..51a87c4aa3be194352b758708cc91416a6e7d18a 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c @@ -835,8 +835,9 @@ void __gen_e_acsl_g(long *ptr, size_t size) long *__gen_e_acsl_at; { __e_acsl_mpz_t __gen_e_acsl_size; - __e_acsl_mpz_t __gen_e_acsl_sizeof; __e_acsl_mpz_t __gen_e_acsl_size_2; + __e_acsl_mpz_t __gen_e_acsl_sizeof; + __e_acsl_mpz_t __gen_e_acsl_size_3; __e_acsl_mpz_t __gen_e_acsl_; __e_acsl_mpz_t __gen_e_acsl_sub; __e_acsl_mpz_t __gen_e_acsl__2; @@ -847,9 +848,13 @@ void __gen_e_acsl_g(long *ptr, size_t size) __e_acsl_mpz_t __gen_e_acsl_if; __e_acsl_mpz_t __gen_e_acsl__4; int __gen_e_acsl_le_2; - unsigned long __gen_e_acsl_size_3; + unsigned long __gen_e_acsl_size_4; int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& ptr),(size_t)8); + __gen_e_acsl_at = ptr; + __gmpz_init_set_ui(__gen_e_acsl_size,size); + __gmpz_init_set(__gen_e_acsl_at_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"ptr", (void *)ptr); @@ -859,11 +864,11 @@ void __gen_e_acsl_g(long *ptr, size_t size) 8); __gmpz_init_set_si(__gen_e_acsl_sizeof,8L); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"size",0,size); - __gmpz_init_set_ui(__gen_e_acsl_size_2,size); + __gmpz_init_set_ui(__gen_e_acsl_size_3,size); __gmpz_init_set_si(__gen_e_acsl_,1L); __gmpz_init(__gen_e_acsl_sub); __gmpz_sub(__gen_e_acsl_sub, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_3), (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); __gmpz_init_set_si(__gen_e_acsl__2,0L); __gmpz_init(__gen_e_acsl_sub_2); @@ -878,11 +883,11 @@ void __gen_e_acsl_g(long *ptr, size_t size) __gmpz_mul(__gen_e_acsl_mul, (__e_acsl_mpz_struct const *)(__gen_e_acsl_sizeof), (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gmpz_init_set(__gen_e_acsl_size, + __gmpz_init_set(__gen_e_acsl_size_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); - __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); if (__gen_e_acsl_le <= 0) { __e_acsl_mpz_t __gen_e_acsl__3; @@ -893,9 +898,9 @@ void __gen_e_acsl_g(long *ptr, size_t size) } else { __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); __gmpz_init_set(__gen_e_acsl_if, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); } __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; @@ -917,9 +922,9 @@ void __gen_e_acsl_g(long *ptr, size_t size) __gen_e_acsl_assert_data_2.name = "offset_lesser_or_eq_than_SIZE_MAX"; __e_acsl_assert(__gen_e_acsl_le_2 <= 0,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); - __gen_e_acsl_size_3 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); + __gen_e_acsl_size_4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gen_e_acsl_valid = __e_acsl_valid((void *)((char *)ptr + 8 * 0), - __gen_e_acsl_size_3,(void *)ptr, + __gen_e_acsl_size_4,(void *)ptr, (void *)(& ptr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(ptr + (0 .. size - 1))",0, @@ -933,8 +938,9 @@ void __gen_e_acsl_g(long *ptr, size_t size) __e_acsl_assert(__gen_e_acsl_valid,& __gen_e_acsl_assert_data); __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __gmpz_clear(__gen_e_acsl_size); - __gmpz_clear(__gen_e_acsl_sizeof); __gmpz_clear(__gen_e_acsl_size_2); + __gmpz_clear(__gen_e_acsl_sizeof); + __gmpz_clear(__gen_e_acsl_size_3); __gmpz_clear(__gen_e_acsl_); __gmpz_clear(__gen_e_acsl_sub); __gmpz_clear(__gen_e_acsl__2); @@ -944,17 +950,9 @@ void __gen_e_acsl_g(long *ptr, size_t size) __gmpz_clear(__gen_e_acsl_if); __gmpz_clear(__gen_e_acsl__4); } - { - __e_acsl_mpz_t __gen_e_acsl_size_5; - __gmpz_init_set_ui(__gen_e_acsl_size_5,size); - __gmpz_init_set(__gen_e_acsl_at_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); - __gmpz_clear(__gen_e_acsl_size_5); - } - __gen_e_acsl_at = ptr; g(ptr,size); { - __e_acsl_mpz_t __gen_e_acsl_size_4; + __e_acsl_mpz_t __gen_e_acsl_size_5; __e_acsl_mpz_t __gen_e_acsl_sizeof_2; __e_acsl_mpz_t __gen_e_acsl__5; __e_acsl_mpz_t __gen_e_acsl_add_2; @@ -998,11 +996,11 @@ void __gen_e_acsl_g(long *ptr, size_t size) __gmpz_mul(__gen_e_acsl_mul_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_sizeof_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_3)); - __gmpz_init_set(__gen_e_acsl_size_4, + __gmpz_init_set(__gen_e_acsl_size_5, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_2)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_4)); - __gen_e_acsl_le_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_4), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); + __gen_e_acsl_le_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5), (__e_acsl_mpz_struct const *)(__gen_e_acsl__6)); if (__gen_e_acsl_le_3 <= 0) { __e_acsl_mpz_t __gen_e_acsl__7; @@ -1013,9 +1011,9 @@ void __gen_e_acsl_g(long *ptr, size_t size) } else { __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_4)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); __gmpz_init_set(__gen_e_acsl_if_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_4)); + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); } __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; @@ -1055,7 +1053,7 @@ void __gen_e_acsl_g(long *ptr, size_t size) __e_acsl_assert(! __gen_e_acsl_valid_2,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); __e_acsl_delete_block((void *)(& ptr)); - __gmpz_clear(__gen_e_acsl_size_4); + __gmpz_clear(__gen_e_acsl_size_5); __gmpz_clear(__gen_e_acsl_sizeof_2); __gmpz_clear(__gen_e_acsl__5); __gmpz_clear(__gen_e_acsl_add_2); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_valid_in_contract.c b/src/plugins/e-acsl/tests/memory/oracle/gen_valid_in_contract.c index 087ef8783af5880fa77f4caf88562952160d686c..e2ed7604f622ceb4eedcefe8c3fb0c6bf8cf9ad0 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_valid_in_contract.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_valid_in_contract.c @@ -66,15 +66,15 @@ int main(void) */ struct list *__gen_e_acsl_f(struct list *l) { - struct list *__gen_e_acsl_at_2; - struct list *__gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + struct list *__gen_e_acsl_at; struct list *__retres; __e_acsl_store_block((void *)(& __retres),(size_t)8); { int __gen_e_acsl_valid; int __gen_e_acsl_or; __e_acsl_store_block((void *)(& l),(size_t)8); + __gen_e_acsl_at = l; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0, l == (struct list *)0); @@ -121,8 +121,6 @@ struct list *__gen_e_acsl_f(struct list *l) __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)1, __gen_e_acsl_or); } - __gen_e_acsl_at_2 = l; - __gen_e_acsl_at = l; __retres = f(l); { int __gen_e_acsl_assumes_value; @@ -154,15 +152,14 @@ struct list *__gen_e_acsl_f(struct list *l) __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"\\result", (void *)__retres); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"\\old(l)", - (void *)__gen_e_acsl_at_2); + (void *)__gen_e_acsl_at); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Postcondition"; __gen_e_acsl_assert_data_3.pred_txt = "\\result == \\old(l)"; __gen_e_acsl_assert_data_3.file = "valid_in_contract.c"; __gen_e_acsl_assert_data_3.fct = "f"; __gen_e_acsl_assert_data_3.line = 18; - __gen_e_acsl_assert_data_3.name = "B2"; - __e_acsl_assert(__retres == __gen_e_acsl_at_2, + __e_acsl_assert(__retres == __gen_e_acsl_at, & __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); } diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_vdso.c b/src/plugins/e-acsl/tests/memory/oracle/gen_vdso.c index 54be1732403f281be5d49021696b420322544072..a41ca5d9a3cc3340c93dc7197414b8f54315ba35 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_vdso.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_vdso.c @@ -52,14 +52,15 @@ time_t __gen_e_acsl_time(time_t *timer); */ time_t __gen_e_acsl_time(time_t *timer) { - time_t *__gen_e_acsl_at; __e_acsl_contract_t *__gen_e_acsl_contract; + time_t *__gen_e_acsl_at; time_t __retres; __e_acsl_store_block((void *)(& __retres),(size_t)8); { int __gen_e_acsl_assumes_value; int __gen_e_acsl_active_bhvrs; __e_acsl_store_block((void *)(& timer),(size_t)8); + __gen_e_acsl_at = timer; __gen_e_acsl_contract = __e_acsl_contract_init((size_t)2); __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,(size_t)0, timer == (time_t *)0); @@ -122,7 +123,6 @@ time_t __gen_e_acsl_time(time_t *timer) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); } } - __gen_e_acsl_at = timer; __retres = time(timer); { int __gen_e_acsl_assumes_value_2; diff --git a/src/plugins/e-acsl/tests/special/oracle/e-acsl-functions.res.oracle b/src/plugins/e-acsl/tests/special/oracle/e-acsl-functions.res.oracle index f4b8d2b5d868a7b3105d7959e16fec999a8a5ad1..80c12c0821d94d39d64514ea2a9074e5a86e779c 100644 --- a/src/plugins/e-acsl/tests/special/oracle/e-acsl-functions.res.oracle +++ b/src/plugins/e-acsl/tests/special/oracle/e-acsl-functions.res.oracle @@ -1,5 +1,8 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". +[eva:alarm] e-acsl-functions.c:11: Warning: + function __e_acsl_assert_register_ulong: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] e-acsl-functions.c:9: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -9,9 +12,6 @@ [eva:alarm] e-acsl-functions.c:10: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] e-acsl-functions.c:11: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] e-acsl-functions.c:13: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c index 1eda3264b1fe3bb63c5d9840eb9515541ac963b7..660f9ccf3bb7eea28c2838193af92523cb57823b 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c @@ -104,89 +104,85 @@ int __gen_e_acsl_f(int *p) int __gen_e_acsl_at; int __retres; { - int __gen_e_acsl_initialized; int __gen_e_acsl_valid_read; + int __gen_e_acsl_initialized; + int __gen_e_acsl_valid_read_2; __e_acsl_store_block((void *)(& p),(size_t)8); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "\\initialized(p)",0, - __gen_e_acsl_initialized); + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __gen_e_acsl_assert_data.blocking = 1; - __gen_e_acsl_assert_data.kind = "Precondition"; - __gen_e_acsl_assert_data.pred_txt = "\\initialized(p)"; + __gen_e_acsl_assert_data.kind = "RTE"; + __gen_e_acsl_assert_data.pred_txt = "mem_access: \\valid_read(p)"; __gen_e_acsl_assert_data.file = "e-acsl-functions.c"; __gen_e_acsl_assert_data.fct = "f"; - __gen_e_acsl_assert_data.line = 9; - __e_acsl_assert(__gen_e_acsl_initialized,& __gen_e_acsl_assert_data); + __gen_e_acsl_assert_data.line = 11; + __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data); __e_acsl_assert_clean(& __gen_e_acsl_assert_data); + __gen_e_acsl_at = *p; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"*p",0,*p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p",(void *)p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "sizeof(int)",0,sizeof(int)); + __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, + "\\initialized(p)",0, + __gen_e_acsl_initialized); + __gen_e_acsl_assert_data_2.blocking = 1; + __gen_e_acsl_assert_data_2.kind = "Precondition"; + __gen_e_acsl_assert_data_2.pred_txt = "\\initialized(p)"; + __gen_e_acsl_assert_data_2.file = "e-acsl-functions.c"; + __gen_e_acsl_assert_data_2.fct = "f"; + __gen_e_acsl_assert_data_2.line = 9; + __e_acsl_assert(__gen_e_acsl_initialized,& __gen_e_acsl_assert_data_2); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p",(void *)p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"*p",0,*p); + __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = + {.values = (void *)0}; + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p",(void *)p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(int), - (void *)p,(void *)(& p)); + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)p,sizeof(int), + (void *)p,(void *)(& p)); + __gen_e_acsl_assert_data_4.blocking = 1; + __gen_e_acsl_assert_data_4.kind = "RTE"; + __gen_e_acsl_assert_data_4.pred_txt = "mem_access: \\valid_read(p)"; + __gen_e_acsl_assert_data_4.file = "e-acsl-functions.c"; + __gen_e_acsl_assert_data_4.fct = "f"; + __gen_e_acsl_assert_data_4.line = 10; + __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_4); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); __gen_e_acsl_assert_data_3.blocking = 1; - __gen_e_acsl_assert_data_3.kind = "RTE"; - __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(p)"; + __gen_e_acsl_assert_data_3.kind = "Precondition"; + __gen_e_acsl_assert_data_3.pred_txt = "*p == 0"; __gen_e_acsl_assert_data_3.file = "e-acsl-functions.c"; __gen_e_acsl_assert_data_3.fct = "f"; __gen_e_acsl_assert_data_3.line = 10; - __gen_e_acsl_assert_data_3.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_3); + __e_acsl_assert(*p == 0,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __gen_e_acsl_assert_data_2.blocking = 1; - __gen_e_acsl_assert_data_2.kind = "Precondition"; - __gen_e_acsl_assert_data_2.pred_txt = "*p == 0"; - __gen_e_acsl_assert_data_2.file = "e-acsl-functions.c"; - __gen_e_acsl_assert_data_2.fct = "f"; - __gen_e_acsl_assert_data_2.line = 10; - __e_acsl_assert(*p == 0,& __gen_e_acsl_assert_data_2); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); } + __retres = f(p); { - int __gen_e_acsl_valid_read_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p",(void *)p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, - "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)p,sizeof(int), - (void *)p,(void *)(& p)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\result",0, + __retres); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\old(*p)",0, + __gen_e_acsl_at); __gen_e_acsl_assert_data_5.blocking = 1; - __gen_e_acsl_assert_data_5.kind = "RTE"; - __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(p)"; + __gen_e_acsl_assert_data_5.kind = "Postcondition"; + __gen_e_acsl_assert_data_5.pred_txt = "\\result == \\old(*p)"; __gen_e_acsl_assert_data_5.file = "e-acsl-functions.c"; __gen_e_acsl_assert_data_5.fct = "f"; __gen_e_acsl_assert_data_5.line = 11; - __gen_e_acsl_assert_data_5.name = "mem_access"; - __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5); + __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); - __gen_e_acsl_at = *p; - } - __retres = f(p); - { - __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = - {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\result",0, - __retres); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\old(*p)",0, - __gen_e_acsl_at); - __gen_e_acsl_assert_data_4.blocking = 1; - __gen_e_acsl_assert_data_4.kind = "Postcondition"; - __gen_e_acsl_assert_data_4.pred_txt = "\\result == \\old(*p)"; - __gen_e_acsl_assert_data_4.file = "e-acsl-functions.c"; - __gen_e_acsl_assert_data_4.fct = "f"; - __gen_e_acsl_assert_data_4.line = 11; - __e_acsl_assert(__retres == __gen_e_acsl_at,& __gen_e_acsl_assert_data_4); - __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); __e_acsl_delete_block((void *)(& p)); return __retres; } diff --git a/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-external-print-value.e-acsl.err.log b/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-external-print-value.e-acsl.err.log index 3d675389171b08485dc090f06aa577328c2b2cc2..907aef209f7b7ad84611e61258a73f453f69faec 100644 --- a/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-external-print-value.e-acsl.err.log +++ b/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-external-print-value.e-acsl.err.log @@ -2,5 +2,5 @@ e-acsl-external-print-value.c: In function 'main' e-acsl-external-print-value.c:7: Error: Assertion failed: The failing predicate is: \let x = value; \false. - With values: + With values at failure point: - custom print for value diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c index 9b0a94e0efa8152db7d793b74336d09789904632..9d5021eb070b12afaed8be77738575b0bb47f472 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c @@ -738,11 +738,11 @@ void *__gen_e_acsl_memset(void *s, int c, size_t n) void *__retres; __e_acsl_store_block((void *)(& s),(size_t)8); __e_acsl_temporal_pull_parameter((void *)(& s),0U,8UL); + __gen_e_acsl_at = s; __e_acsl_temporal_reset_parameters(); __e_acsl_temporal_reset_return(); __e_acsl_temporal_save_nreferent_parameter((void *)(& s),0U); __e_acsl_temporal_memset(s,c,n); - __gen_e_acsl_at = s; __retres = memset(s,c,n); __e_acsl_initialize(s,n); { @@ -812,6 +812,7 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __e_acsl_store_block((void *)(& dest),(size_t)8); __e_acsl_temporal_pull_parameter((void *)(& dest),0U,8UL); __e_acsl_temporal_pull_parameter((void *)(& src),1U,8UL); + __gen_e_acsl_at = dest; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = @@ -955,7 +956,6 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gmpz_clear(__gen_e_acsl_sub_2); __gmpz_clear(__gen_e_acsl_add); } - __gen_e_acsl_at = dest; __retres = memcpy(dest,src,n); __e_acsl_initialize(dest,n); {