From 39064bd00ae63fffbc93d198df8a345a3b23cde8 Mon Sep 17 00:00:00 2001 From: Julien Signoles <julien.signoles@cea.fr> Date: Fri, 30 Nov 2012 08:03:44 +0000 Subject: [PATCH] [E-ACSL] order of some generated instructions does not depend anymore on hash implementation --- .../oracle/gen_literal_string.c | 28 +++++++++---------- .../oracle/gen_literal_string2.c | 28 +++++++++---------- src/plugins/e-acsl/visit.ml | 2 +- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string.c index 3d159d5b0bf..02532f4105b 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string.c @@ -104,31 +104,31 @@ void e_acsl_global_init(void) char *__e_acsl_literal_string_3; char *__e_acsl_literal_string_2; char *__e_acsl_literal_string; - __store_block((void *)(& S),4U); - __e_acsl_literal_string = "foo2"; - __store_block((void *)__e_acsl_literal_string,sizeof("foo2")); + __store_block((void *)(& G2),4U); + __e_acsl_literal_string = "bar"; + __store_block((void *)__e_acsl_literal_string,sizeof("bar")); __full_init((void *)__e_acsl_literal_string); __literal_string((void *)__e_acsl_literal_string); - __e_acsl_literal_string_2 = "bar"; - __store_block((void *)__e_acsl_literal_string_2,sizeof("bar")); + __e_acsl_literal_string_2 = "foo"; + __store_block((void *)__e_acsl_literal_string_2,sizeof("foo")); __full_init((void *)__e_acsl_literal_string_2); __literal_string((void *)__e_acsl_literal_string_2); - __e_acsl_literal_string_3 = "foo"; - __store_block((void *)__e_acsl_literal_string_3,sizeof("foo")); + __e_acsl_literal_string_3 = "foo2"; + __store_block((void *)__e_acsl_literal_string_3,sizeof("foo2")); __full_init((void *)__e_acsl_literal_string_3); __literal_string((void *)__e_acsl_literal_string_3); + __full_init((void *)(& G2)); + __store_block((void *)(& S2),4U); + __full_init((void *)(& S2)); + S2 = (char *)__e_acsl_literal_string_3; + __store_block((void *)(& S),4U); __full_init((void *)(& S)); - S = (char *)__e_acsl_literal_string_3; + S = (char *)__e_acsl_literal_string_2; __store_block((void *)(& G),4U); __full_init((void *)(& G)); __store_block((void *)(& T),4U); __full_init((void *)(& T)); - T = (char *)__e_acsl_literal_string_2; - __store_block((void *)(& G2),4U); - __full_init((void *)(& G2)); - __store_block((void *)(& S2),4U); - __full_init((void *)(& S2)); - S2 = (char *)__e_acsl_literal_string; + T = (char *)__e_acsl_literal_string; return; } diff --git a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c index dca4b1cccc1..3d8a44702c8 100644 --- a/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c +++ b/src/plugins/e-acsl/tests/e-acsl-runtime/oracle/gen_literal_string2.c @@ -129,31 +129,31 @@ void e_acsl_global_init(void) char *__e_acsl_literal_string_3; char *__e_acsl_literal_string_2; char *__e_acsl_literal_string; - __store_block((void *)(& S),4U); - __e_acsl_literal_string = "foo2"; - __store_block((void *)__e_acsl_literal_string,sizeof("foo2")); + __store_block((void *)(& G2),4U); + __e_acsl_literal_string = "bar"; + __store_block((void *)__e_acsl_literal_string,sizeof("bar")); __full_init((void *)__e_acsl_literal_string); __literal_string((void *)__e_acsl_literal_string); - __e_acsl_literal_string_2 = "bar"; - __store_block((void *)__e_acsl_literal_string_2,sizeof("bar")); + __e_acsl_literal_string_2 = "foo"; + __store_block((void *)__e_acsl_literal_string_2,sizeof("foo")); __full_init((void *)__e_acsl_literal_string_2); __literal_string((void *)__e_acsl_literal_string_2); - __e_acsl_literal_string_3 = "foo"; - __store_block((void *)__e_acsl_literal_string_3,sizeof("foo")); + __e_acsl_literal_string_3 = "foo2"; + __store_block((void *)__e_acsl_literal_string_3,sizeof("foo2")); __full_init((void *)__e_acsl_literal_string_3); __literal_string((void *)__e_acsl_literal_string_3); + __full_init((void *)(& G2)); + __store_block((void *)(& S2),4U); + __full_init((void *)(& S2)); + S2 = (char *)__e_acsl_literal_string_3; + __store_block((void *)(& S),4U); __full_init((void *)(& S)); - S = (char *)__e_acsl_literal_string_3; + S = (char *)__e_acsl_literal_string_2; __store_block((void *)(& G),4U); __full_init((void *)(& G)); __store_block((void *)(& T),4U); __full_init((void *)(& T)); - T = (char *)__e_acsl_literal_string_2; - __store_block((void *)(& G2),4U); - __full_init((void *)(& G2)); - __store_block((void *)(& S2),4U); - __full_init((void *)(& S2)); - S2 = (char *)__e_acsl_literal_string; + T = (char *)__e_acsl_literal_string; return; } diff --git a/src/plugins/e-acsl/visit.ml b/src/plugins/e-acsl/visit.ml index 8424e6b55ae..d4f061d60e7 100644 --- a/src/plugins/e-acsl/visit.ml +++ b/src/plugins/e-acsl/visit.ml @@ -150,7 +150,7 @@ class e_acsl_visitor prj generate = object (self) in let env = Env.push !function_env in let stmts, env = - Varinfo.Hashtbl.fold + Varinfo.Hashtbl.fold_sorted (fun old_vi i (stmts, env) -> let new_vi = Cil.get_varinfo self#behavior old_vi in let model blk = -- GitLab