diff --git a/man/frama-c.1 b/man/frama-c.1 index 24d66d9cad8a800beb9afdb9d3445abef1b62e89..b2b5cfc68717f3ed2add02df1f35cd3e7e529c7c 100644 --- a/man/frama-c.1 +++ b/man/frama-c.1 @@ -401,7 +401,9 @@ uses \f[I]machine\f[R] as the current machine-dependent configuration (size of the various integer types, endiandness, \&...). The list of currently supported machines is available through option \f[I]-machdep help\f[R]. -Default is \f[B]x86_32\f[R]. +Default is \f[B]x86_64\f[R]. +The environment variable FRAMAC_MACHDEP can be used to override the default +value. The command line parameter still has priority over the default value. .TP .B -main \f[I]f\f[R] sets \f[I]f\f[R] as the entry point of the analysis. diff --git a/src/kernel_services/plugin_entry_points/kernel.ml b/src/kernel_services/plugin_entry_points/kernel.ml index d3509da86d048606107660bfeb550cdf49616d67..5c30b36f614a0626ebb02eadf0d57c285e1bc164 100644 --- a/src/kernel_services/plugin_entry_points/kernel.ml +++ b/src/kernel_services/plugin_entry_points/kernel.ml @@ -941,11 +941,15 @@ module Machdep = (struct let module_name = "Machdep" let option_name = "-machdep" - let default = "x86_32" + let default = + try Sys.getenv "FRAMAC_MACHDEP" + with Not_found -> "x86_64" let arg_name = "machine" let help = "use <machine> as the current machine dependent configuration. \ - See \"-machdep help\" for a list" + See \"-machdep help\" for a list. The environment variable \ + FRAMAC_MACHDEP can be used to override the default value. The command \ + line parameter still has priority over the default value" end) let () = Parameter_customize.set_group parsing diff --git a/src/plugins/aorai/tests/ya/oracle/test_factorial.res.oracle b/src/plugins/aorai/tests/ya/oracle/test_factorial.res.oracle index 43699ce9ec7abf7b39c5d535b758c4b7e908d813..924f3f034437969ed4962e44e7adc894e8367e12 100644 --- a/src/plugins/aorai/tests/ya/oracle/test_factorial.res.oracle +++ b/src/plugins/aorai/tests/ya/oracle/test_factorial.res.oracle @@ -118,7 +118,7 @@ int decode_int(char *s) int __retres; char c; /*@ ghost decode_int_pre_func(s); */ - int intmax = ~ (1 << (sizeof(int) * (unsigned int)8 - (unsigned int)1)); + int intmax = ~ (1 << (sizeof(int) * (unsigned long)8 - (unsigned long)1)); int cutlim = intmax % 10; int cutoff = intmax / 10; int value = 0; diff --git a/src/plugins/dive/tests/dive/exceptional.i b/src/plugins/dive/tests/dive/exceptional.i index c65084f9539f908baf2ac70c605ddfe4efa437d1..62791ed36e0e5d3293f1cbd97cb62eb17ac3145b 100644 --- a/src/plugins/dive/tests/dive/exceptional.i +++ b/src/plugins/dive/tests/dive/exceptional.i @@ -1,5 +1,5 @@ /* run.config -STDOPT: +"-absolute-valid-range 0x10000000-0x1fffffff -dive-from-variables main::__retres -dive-depth-limit 5" +STDOPT: #"-machdep x86_32" +"-absolute-valid-range 0x10000000-0x1fffffff -dive-from-variables main::__retres -dive-depth-limit 5" */ int* gm(int *p) { return (int *) ((unsigned int) p * 2 / 2); } diff --git a/src/plugins/instantiate/stdlib/basic_alloc.ml b/src/plugins/instantiate/stdlib/basic_alloc.ml index 42142cc28c44a5064df718b6d0499850aff7bca7..0faa0e41124ff41340e4db42bac30e685cf54c43 100644 --- a/src/plugins/instantiate/stdlib/basic_alloc.ml +++ b/src/plugins/instantiate/stdlib/basic_alloc.ml @@ -73,11 +73,8 @@ let make_axiomatic_is_allocable loc () = let lv_i = Cil_const.make_logic_var_quant "i" Linteger in let t_i = tvar lv_i in let zero = tinteger 0 in - let max = - tinteger - (Integer.to_int - (Cil.max_unsigned_number (Cil.bitsSizeOf (size_t ())))) - in + let max_value = Cil.max_unsigned_number (Cil.bitsSizeOf (size_t ())) in + let max = term ~loc (TConst (Integer (max_value, None))) Linteger in let label = FormalLabel("L") in let cond = pand (prel (Rlt, t_i, zero), prel (Rgt, t_i, max)) in let app = pnot (papp (is_allocable,[label],[t_i])) in diff --git a/src/plugins/instantiate/tests/stdlib/no_fc_stdlib.c b/src/plugins/instantiate/tests/stdlib/no_fc_stdlib.c index 21498c2ef2b5ab29516316267bc33c5af6d46bbd..81ef28cf12683af085eef8f39248f5526e97fb2d 100644 --- a/src/plugins/instantiate/tests/stdlib/no_fc_stdlib.c +++ b/src/plugins/instantiate/tests/stdlib/no_fc_stdlib.c @@ -9,4 +9,4 @@ void foo(void){ int * q = calloc(2, sizeof(int)); free(p); free(q); -} \ No newline at end of file +} diff --git a/src/plugins/instantiate/tests/stdlib/oracle/calloc.res.oracle b/src/plugins/instantiate/tests/stdlib/oracle/calloc.res.oracle index 1670641826813ce9b10d06d60f85849cf9e55a57..e2656fb94612807dd7810669096e9d83aebf1549 100644 --- a/src/plugins/instantiate/tests/stdlib/oracle/calloc.res.oracle +++ b/src/plugins/instantiate/tests/stdlib/oracle/calloc.res.oracle @@ -300,17 +300,17 @@ int *calloc_int(size_t num, size_t size) int main(void) { int __retres; - int *pi = calloc_int((unsigned int)10,sizeof(int)); - enum E *pe = calloc_e_E((unsigned int)10,sizeof(enum E)); - float *pf = calloc_float((unsigned int)10,sizeof(float)); - struct X *px = calloc_st_X((unsigned int)10,sizeof(struct X)); - char *pc = calloc_char((unsigned int)10,sizeof(char)); - int (*pa)[10] = calloc_arr10_int((unsigned int)10,sizeof(int [10])); + int *pi = calloc_int((unsigned long)10,sizeof(int)); + enum E *pe = calloc_e_E((unsigned long)10,sizeof(enum E)); + float *pf = calloc_float((unsigned long)10,sizeof(float)); + struct X *px = calloc_st_X((unsigned long)10,sizeof(struct X)); + char *pc = calloc_char((unsigned long)10,sizeof(char)); + int (*pa)[10] = calloc_arr10_int((unsigned long)10,sizeof(int [10])); struct Flex *f = - calloc_st_Flex((unsigned int)1, - sizeof(struct Flex) + (unsigned int)3 * sizeof(int)); - void *v = calloc((unsigned int)10,sizeof(char)); - struct incomplete *inc = calloc((unsigned int)10,(unsigned int)10); + calloc_st_Flex((unsigned long)1, + sizeof(struct Flex) + (unsigned long)3 * sizeof(int)); + void *v = calloc((unsigned long)10,sizeof(char)); + struct incomplete *inc = calloc((unsigned long)10,(unsigned long)10); __retres = 0; return __retres; } @@ -619,17 +619,17 @@ int *calloc_int(size_t num, size_t size) int main(void) { int __retres; - int *pi = calloc_int((unsigned int)10,sizeof(int)); - enum E *pe = calloc_e_E((unsigned int)10,sizeof(enum E)); - float *pf = calloc_float((unsigned int)10,sizeof(float)); - struct X *px = calloc_st_X((unsigned int)10,sizeof(struct X)); - char *pc = calloc_char((unsigned int)10,sizeof(char)); - int (*pa)[10] = calloc_arr10_int((unsigned int)10,sizeof(int [10])); + int *pi = calloc_int((unsigned long)10,sizeof(int)); + enum E *pe = calloc_e_E((unsigned long)10,sizeof(enum E)); + float *pf = calloc_float((unsigned long)10,sizeof(float)); + struct X *px = calloc_st_X((unsigned long)10,sizeof(struct X)); + char *pc = calloc_char((unsigned long)10,sizeof(char)); + int (*pa)[10] = calloc_arr10_int((unsigned long)10,sizeof(int [10])); struct Flex *f = - calloc_st_Flex((unsigned int)1, - sizeof(struct Flex) + (unsigned int)3 * sizeof(int)); - void *v = calloc((unsigned int)10,sizeof(char)); - struct incomplete *inc = calloc((unsigned int)10,(unsigned int)10); + calloc_st_Flex((unsigned long)1, + sizeof(struct Flex) + (unsigned long)3 * sizeof(int)); + void *v = calloc((unsigned long)10,sizeof(char)); + struct incomplete *inc = calloc((unsigned long)10,(unsigned long)10); __retres = 0; return __retres; } diff --git a/src/plugins/instantiate/tests/stdlib/oracle/malloc.res.oracle b/src/plugins/instantiate/tests/stdlib/oracle/malloc.res.oracle index 9aff502467ca08d49dc7d2f346e2e05c6894c995..5fc593cb30dbecee8f1301238a8e35148decf5a5 100644 --- a/src/plugins/instantiate/tests/stdlib/oracle/malloc.res.oracle +++ b/src/plugins/instantiate/tests/stdlib/oracle/malloc.res.oracle @@ -204,15 +204,15 @@ int *malloc_int(size_t size) int main(void) { int __retres; - int *pi = malloc_int(sizeof(int) * (unsigned int)10); - float *pf = malloc_float(sizeof(float) * (unsigned int)10); - struct X *px = malloc_st_X(sizeof(struct X) * (unsigned int)10); - char *pc = malloc_char((unsigned int)10); - int (*pa)[10] = malloc_arr10_int(sizeof(int [10]) * (unsigned int)10); + int *pi = malloc_int(sizeof(int) * (unsigned long)10); + float *pf = malloc_float(sizeof(float) * (unsigned long)10); + struct X *px = malloc_st_X(sizeof(struct X) * (unsigned long)10); + char *pc = malloc_char((unsigned long)10); + int (*pa)[10] = malloc_arr10_int(sizeof(int [10]) * (unsigned long)10); struct Flex *f = - malloc_st_Flex(sizeof(struct Flex) + (unsigned int)3 * sizeof(int)); - void *v = malloc(sizeof(char) * (unsigned int)10); - struct incomplete *inc = malloc((unsigned int)10); + malloc_st_Flex(sizeof(struct Flex) + (unsigned long)3 * sizeof(int)); + void *v = malloc(sizeof(char) * (unsigned long)10); + struct incomplete *inc = malloc((unsigned long)10); __retres = 0; return __retres; } @@ -420,15 +420,15 @@ int *malloc_int(size_t size) int main(void) { int __retres; - int *pi = malloc_int(sizeof(int) * (unsigned int)10); - float *pf = malloc_float(sizeof(float) * (unsigned int)10); - struct X *px = malloc_st_X(sizeof(struct X) * (unsigned int)10); - char *pc = malloc_char((unsigned int)10); - int (*pa)[10] = malloc_arr10_int(sizeof(int [10]) * (unsigned int)10); + int *pi = malloc_int(sizeof(int) * (unsigned long)10); + float *pf = malloc_float(sizeof(float) * (unsigned long)10); + struct X *px = malloc_st_X(sizeof(struct X) * (unsigned long)10); + char *pc = malloc_char((unsigned long)10); + int (*pa)[10] = malloc_arr10_int(sizeof(int [10]) * (unsigned long)10); struct Flex *f = - malloc_st_Flex(sizeof(struct Flex) + (unsigned int)3 * sizeof(int)); - void *v = malloc(sizeof(char) * (unsigned int)10); - struct incomplete *inc = malloc((unsigned int)10); + malloc_st_Flex(sizeof(struct Flex) + (unsigned long)3 * sizeof(int)); + void *v = malloc(sizeof(char) * (unsigned long)10); + struct incomplete *inc = malloc((unsigned long)10); __retres = 0; return __retres; } diff --git a/src/plugins/instantiate/tests/stdlib/oracle/no_fc_stdlib.res.oracle b/src/plugins/instantiate/tests/stdlib/oracle/no_fc_stdlib.res.oracle index baa036c870fb4e23d59d27155db86156ea9f5bfb..fd611034c64ab0b4253de89eaf7e4e2453515080 100644 --- a/src/plugins/instantiate/tests/stdlib/oracle/no_fc_stdlib.res.oracle +++ b/src/plugins/instantiate/tests/stdlib/oracle/no_fc_stdlib.res.oracle @@ -9,7 +9,7 @@ axiomatic dynamic_allocation { reads __fc_heap_status; axiom never_allocable{L}: - ∀ ℤ i; i < 0 ∧ i > 4294967295 ⇒ ¬is_allocable(i); + ∀ ℤ i; i < 0 ∧ i > 18446744073709551615 ⇒ ¬is_allocable(i); } @@ -117,7 +117,7 @@ int *malloc_int(size_t size) void foo(void) { int *p = malloc_int(sizeof(int)); - int *q = calloc_int((unsigned int)2,sizeof(int)); + int *q = calloc_int((unsigned long)2,sizeof(int)); free_int(p); free_int(q); return; @@ -135,7 +135,7 @@ axiomatic dynamic_allocation { reads __fc_heap_status; axiom never_allocable{L}: - ∀ ℤ i; i < 0 ∧ i > 4294967295 ⇒ ¬is_allocable(i); + ∀ ℤ i; i < 0 ∧ i > 18446744073709551615 ⇒ ¬is_allocable(i); } @@ -244,7 +244,7 @@ int *malloc_int(size_t size) void foo(void) { int *p = malloc_int(sizeof(int)); - int *q = calloc_int((unsigned int)2,sizeof(int)); + int *q = calloc_int((unsigned long)2,sizeof(int)); free_int(p); free_int(q); return; diff --git a/src/plugins/instantiate/tests/string/oracle/memcmp.res.oracle b/src/plugins/instantiate/tests/string/oracle/memcmp.res.oracle index 1f82bcd57b000001f672deb6a8e1f9f34dd3f699..dd2862c8e5fdd14f69919031b75ba4948b247896 100644 --- a/src/plugins/instantiate/tests/string/oracle/memcmp.res.oracle +++ b/src/plugins/instantiate/tests/string/oracle/memcmp.res.oracle @@ -48,14 +48,14 @@ int memcmp_int(int const *s1, int const *s2, size_t len) int integer(int * /*[10]*/ s1, int * /*[10]*/ s2) { int tmp; - tmp = memcmp_int(s1,s2,(unsigned int)10 * sizeof(int)); + tmp = memcmp_int(s1,s2,(unsigned long)10 * sizeof(int)); return tmp; } int with_named(named * /*[10]*/ s1, named * /*[10]*/ s2) { int tmp; - tmp = memcmp_int(s1,s2,(unsigned int)10 * sizeof(named)); + tmp = memcmp_int(s1,s2,(unsigned long)10 * sizeof(named)); return tmp; } @@ -86,26 +86,26 @@ int memcmp_st_X(struct X const *s1, struct X const *s2, size_t len) int structure(struct X * /*[10]*/ s1, struct X * /*[10]*/ s2) { int tmp; - tmp = memcmp_st_X(s1,s2,(unsigned int)10 * sizeof(struct X)); + tmp = memcmp_st_X(s1,s2,(unsigned long)10 * sizeof(struct X)); return tmp; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires valid_read_s1: - \let __fc_len = len / 4; \valid_read(s1 + (0 .. __fc_len - 1)); + \let __fc_len = len / 8; \valid_read(s1 + (0 .. __fc_len - 1)); requires valid_read_s2: - \let __fc_len = len / 4; \valid_read(s2 + (0 .. __fc_len - 1)); + \let __fc_len = len / 8; \valid_read(s2 + (0 .. __fc_len - 1)); ensures equals: - \let __fc_len = len / 4; + \let __fc_len = len / 8; \result ≡ 0 ⇔ (∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(s1 + j0) ≡ *(s2 + j0)); assigns \result; assigns \result - \from (indirect: *(s1 + (0 .. len / 4 - 1))), - (indirect: *(s2 + (0 .. len / 4 - 1))); + \from (indirect: *(s1 + (0 .. len / 8 - 1))), + (indirect: *(s2 + (0 .. len / 8 - 1))); */ int memcmp_ptr_int(int * const *s1, int * const *s2, size_t len) { @@ -117,7 +117,7 @@ int memcmp_ptr_int(int * const *s1, int * const *s2, size_t len) int pointers(int ** /*[10]*/ s1, int ** /*[10]*/ s2) { int tmp; - tmp = memcmp_ptr_int(s1,s2,(unsigned int)10 * sizeof(int *)); + tmp = memcmp_ptr_int(s1,s2,(unsigned long)10 * sizeof(int *)); return tmp; } @@ -151,32 +151,32 @@ int memcmp_arr10_int(int const (*s1)[10], int const (*s2)[10], size_t len) int nested(int (*s1)[10], int (*s2)[10], int n) { int tmp; - tmp = memcmp_arr10_int(s1,s2,(unsigned int)n * sizeof(int [10])); + tmp = memcmp_arr10_int(s1,s2,(unsigned long)n * sizeof(int [10])); return tmp; } int with_void(void *s1, void *s2, int n) { int tmp; - tmp = memcmp((void const *)s1,(void const *)s2,(unsigned int)10); + tmp = memcmp((void const *)s1,(void const *)s2,(unsigned long)10); return tmp; } int with_incomplete(struct incomplete *s1, struct incomplete *s2, int n) { int tmp; - tmp = memcmp((void const *)s1,(void const *)s2,(unsigned int)n); + tmp = memcmp((void const *)s1,(void const *)s2,(unsigned long)n); return tmp; } void with_null_or_int(int * /*[10]*/ p) { - memcmp((void const *)0,(void const *)p,(unsigned int)10 * sizeof(int)); - memcmp((void const *)p,(void const *)0,(unsigned int)10 * sizeof(int)); + memcmp((void const *)0,(void const *)p,(unsigned long)10 * sizeof(int)); + memcmp((void const *)p,(void const *)0,(unsigned long)10 * sizeof(int)); memcmp((void const *)((int const *)42),(void const *)p, - (unsigned int)10 * sizeof(int)); + (unsigned long)10 * sizeof(int)); memcmp((void const *)p,(void const *)((int const *)42), - (unsigned int)10 * sizeof(int)); + (unsigned long)10 * sizeof(int)); return; } @@ -221,7 +221,7 @@ int integer(int *s1, int *s2) { int tmp; tmp = memcmp_int((int const *)s1,(int const *)s2, - (unsigned int)10 * sizeof(int)); + (unsigned long)10 * sizeof(int)); return tmp; } @@ -229,7 +229,7 @@ int with_named(named *s1, named *s2) { int tmp; tmp = memcmp_int((int const *)s1,(int const *)s2, - (unsigned int)10 * sizeof(named)); + (unsigned long)10 * sizeof(named)); return tmp; } @@ -262,27 +262,27 @@ int structure(struct X *s1, struct X *s2) { int tmp; tmp = memcmp_st_X((struct X const *)s1,(struct X const *)s2, - (unsigned int)10 * sizeof(struct X)); + (unsigned long)10 * sizeof(struct X)); return tmp; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires valid_read_s1: - \let __fc_len = len / 4; \valid_read(s1 + (0 .. __fc_len - 1)); + \let __fc_len = len / 8; \valid_read(s1 + (0 .. __fc_len - 1)); requires valid_read_s2: - \let __fc_len = len / 4; \valid_read(s2 + (0 .. __fc_len - 1)); + \let __fc_len = len / 8; \valid_read(s2 + (0 .. __fc_len - 1)); ensures equals: - \let __fc_len = \old(len) / 4; + \let __fc_len = \old(len) / 8; \result ≡ 0 ⇔ (∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(\old(s1) + j0) ≡ *(\old(s2) + j0)); assigns \result; assigns \result - \from (indirect: *(s1 + (0 .. len / 4 - 1))), - (indirect: *(s2 + (0 .. len / 4 - 1))); + \from (indirect: *(s1 + (0 .. len / 8 - 1))), + (indirect: *(s2 + (0 .. len / 8 - 1))); */ int memcmp_ptr_int(int * const *s1, int * const *s2, size_t len) { @@ -295,7 +295,7 @@ int pointers(int **s1, int **s2) { int tmp; tmp = memcmp_ptr_int((int * const *)s1,(int * const *)s2, - (unsigned int)10 * sizeof(int *)); + (unsigned long)10 * sizeof(int *)); return tmp; } @@ -331,32 +331,32 @@ int nested(int (*s1)[10], int (*s2)[10], int n) { int tmp; tmp = memcmp_arr10_int((int const (*)[10])s1,(int const (*)[10])s2, - (unsigned int)n * sizeof(int [10])); + (unsigned long)n * sizeof(int [10])); return tmp; } int with_void(void *s1, void *s2, int n) { int tmp; - tmp = memcmp((void const *)s1,(void const *)s2,(unsigned int)10); + tmp = memcmp((void const *)s1,(void const *)s2,(unsigned long)10); return tmp; } int with_incomplete(struct incomplete *s1, struct incomplete *s2, int n) { int tmp; - tmp = memcmp((void const *)s1,(void const *)s2,(unsigned int)n); + tmp = memcmp((void const *)s1,(void const *)s2,(unsigned long)n); return tmp; } void with_null_or_int(int *p) { - memcmp((void const *)0,(void const *)p,(unsigned int)10 * sizeof(int)); - memcmp((void const *)p,(void const *)0,(unsigned int)10 * sizeof(int)); + memcmp((void const *)0,(void const *)p,(unsigned long)10 * sizeof(int)); + memcmp((void const *)p,(void const *)0,(unsigned long)10 * sizeof(int)); memcmp((void const *)((int const *)42),(void const *)p, - (unsigned int)10 * sizeof(int)); + (unsigned long)10 * sizeof(int)); memcmp((void const *)p,(void const *)((int const *)42), - (unsigned int)10 * sizeof(int)); + (unsigned long)10 * sizeof(int)); return; } diff --git a/src/plugins/instantiate/tests/string/oracle/memcpy.res.oracle b/src/plugins/instantiate/tests/string/oracle/memcpy.res.oracle index 899dd8afefc6053b12a354ddcec1ba03c5f71842..259a1cacb16867e3efdd89d5e0c0740b641955ef 100644 --- a/src/plugins/instantiate/tests/string/oracle/memcpy.res.oracle +++ b/src/plugins/instantiate/tests/string/oracle/memcpy.res.oracle @@ -53,15 +53,15 @@ int *memcpy_int(int *dest, int const *src, size_t len) void integer(int * /*[10]*/ src, int * /*[10]*/ dest) { - int *res = memcpy_int(dest,src,(unsigned int)10 * sizeof(int)); - memcpy_int(src,res,(unsigned int)10 * sizeof(int)); + int *res = memcpy_int(dest,src,(unsigned long)10 * sizeof(int)); + memcpy_int(src,res,(unsigned long)10 * sizeof(int)); return; } void with_named(named * /*[10]*/ src, named * /*[10]*/ dest) { - named *res = memcpy_int(dest,src,(unsigned int)10 * sizeof(named)); - memcpy_int(src,res,(unsigned int)10 * sizeof(named)); + named *res = memcpy_int(dest,src,(unsigned long)10 * sizeof(named)); + memcpy_int(src,res,(unsigned long)10 * sizeof(named)); return; } @@ -93,28 +93,28 @@ struct X *memcpy_st_X(struct X *dest, struct X const *src, size_t len) void structure(struct X * /*[10]*/ src, struct X * /*[10]*/ dest) { - struct X *res = memcpy_st_X(dest,src,(unsigned int)10 * sizeof(struct X)); - memcpy_st_X(src,res,(unsigned int)10 * sizeof(struct X)); + struct X *res = memcpy_st_X(dest,src,(unsigned long)10 * sizeof(struct X)); + memcpy_st_X(src,res,(unsigned long)10 * sizeof(struct X)); return; } /*@ requires separation: - \let __fc_len = len / 4; + \let __fc_len = len / 8; \separated(dest + (0 .. __fc_len - 1), src + (0 .. __fc_len - 1)); - requires aligned_end: len % 4 ≡ 0; + requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(dest + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(dest + (0 .. __fc_len - 1)); requires valid_read_src: - \let __fc_len = len / 4; \valid_read(src + (0 .. __fc_len - 1)); + \let __fc_len = len / 8; \valid_read(src + (0 .. __fc_len - 1)); ensures copied: - \let __fc_len = len / 4; + \let __fc_len = len / 8; ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(dest + j0) ≡ *(src + j0); ensures result: \result ≡ dest; - assigns *(dest + (0 .. len / 4 - 1)), \result; - assigns *(dest + (0 .. len / 4 - 1)) \from *(src + (0 .. len / 4 - 1)); + assigns *(dest + (0 .. len / 8 - 1)), \result; + assigns *(dest + (0 .. len / 8 - 1)) \from *(src + (0 .. len / 8 - 1)); assigns \result \from dest; */ int **memcpy_ptr_int(int **dest, int * const *src, size_t len) @@ -126,8 +126,8 @@ int **memcpy_ptr_int(int **dest, int * const *src, size_t len) void pointers(int ** /*[10]*/ src, int ** /*[10]*/ dest) { - int **res = memcpy_ptr_int(dest,src,(unsigned int)10 * sizeof(int *)); - memcpy_ptr_int(src,res,(unsigned int)10 * sizeof(int *)); + int **res = memcpy_ptr_int(dest,src,(unsigned long)10 * sizeof(int *)); + memcpy_ptr_int(src,res,(unsigned long)10 * sizeof(int *)); return; } @@ -165,32 +165,32 @@ int (*memcpy_arr10_int(int (*dest)[10], int const (*src)[10], size_t len))[10] void nested(int (*src)[10], int (*dest)[10], int n) { int (*res)[10] = - memcpy_arr10_int(dest,src,(unsigned int)n * sizeof(int [10])); - memcpy_arr10_int(src,res,(unsigned int)n * sizeof(int [10])); + memcpy_arr10_int(dest,src,(unsigned long)n * sizeof(int [10])); + memcpy_arr10_int(src,res,(unsigned long)n * sizeof(int [10])); return; } void with_void(void *src, void *dest, int n) { - void *res = memcpy(dest,(void const *)src,(unsigned int)n); - memcpy(src,(void const *)res,(unsigned int)n); + void *res = memcpy(dest,(void const *)src,(unsigned long)n); + memcpy(src,(void const *)res,(unsigned long)n); return; } void with_incomplete(struct incomplete *src, struct incomplete *dest, int n) { struct incomplete *res = - memcpy((void *)dest,(void const *)src,(unsigned int)n); - memcpy((void *)src,(void const *)res,(unsigned int)n); + memcpy((void *)dest,(void const *)src,(unsigned long)n); + memcpy((void *)src,(void const *)res,(unsigned long)n); return; } void with_null_or_int(int * /*[10]*/ p) { - memcpy((void *)0,(void const *)p,(unsigned int)10 * sizeof(int)); - memcpy((void *)p,(void const *)0,(unsigned int)10 * sizeof(int)); - memcpy((void *)((int *)42),(void const *)p,(unsigned int)10 * sizeof(int)); - memcpy((void *)p,(void const *)((int *)42),(unsigned int)10 * sizeof(int)); + memcpy((void *)0,(void const *)p,(unsigned long)10 * sizeof(int)); + memcpy((void *)p,(void const *)0,(unsigned long)10 * sizeof(int)); + memcpy((void *)((int *)42),(void const *)p,(unsigned long)10 * sizeof(int)); + memcpy((void *)p,(void const *)((int *)42),(unsigned long)10 * sizeof(int)); return; } @@ -236,16 +236,16 @@ int *memcpy_int(int *dest, int const *src, size_t len) void integer(int *src, int *dest) { int *res = - memcpy_int(dest,(int const *)src,(unsigned int)10 * sizeof(int)); - memcpy_int(src,(int const *)res,(unsigned int)10 * sizeof(int)); + memcpy_int(dest,(int const *)src,(unsigned long)10 * sizeof(int)); + memcpy_int(src,(int const *)res,(unsigned long)10 * sizeof(int)); return; } void with_named(named *src, named *dest) { named *res = - memcpy_int(dest,(int const *)src,(unsigned int)10 * sizeof(named)); - memcpy_int(src,(int const *)res,(unsigned int)10 * sizeof(named)); + memcpy_int(dest,(int const *)src,(unsigned long)10 * sizeof(named)); + memcpy_int(src,(int const *)res,(unsigned long)10 * sizeof(named)); return; } @@ -280,29 +280,29 @@ void structure(struct X *src, struct X *dest) { struct X *res = memcpy_st_X(dest,(struct X const *)src, - (unsigned int)10 * sizeof(struct X)); - memcpy_st_X(src,(struct X const *)res,(unsigned int)10 * sizeof(struct X)); + (unsigned long)10 * sizeof(struct X)); + memcpy_st_X(src,(struct X const *)res,(unsigned long)10 * sizeof(struct X)); return; } /*@ requires separation: - \let __fc_len = len / 4; + \let __fc_len = len / 8; \separated(dest + (0 .. __fc_len - 1), src + (0 .. __fc_len - 1)); - requires aligned_end: len % 4 ≡ 0; + requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(dest + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(dest + (0 .. __fc_len - 1)); requires valid_read_src: - \let __fc_len = len / 4; \valid_read(src + (0 .. __fc_len - 1)); + \let __fc_len = len / 8; \valid_read(src + (0 .. __fc_len - 1)); ensures copied: - \let __fc_len = \old(len) / 4; + \let __fc_len = \old(len) / 8; ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(\old(dest) + j0) ≡ *(\old(src) + j0); ensures result: \result ≡ \old(dest); - assigns *(dest + (0 .. len / 4 - 1)), \result; - assigns *(dest + (0 .. len / 4 - 1)) \from *(src + (0 .. len / 4 - 1)); + assigns *(dest + (0 .. len / 8 - 1)), \result; + assigns *(dest + (0 .. len / 8 - 1)) \from *(src + (0 .. len / 8 - 1)); assigns \result \from dest; */ int **memcpy_ptr_int(int **dest, int * const *src, size_t len) @@ -315,8 +315,8 @@ int **memcpy_ptr_int(int **dest, int * const *src, size_t len) void pointers(int **src, int **dest) { int **res = - memcpy_ptr_int(dest,(int * const *)src,(unsigned int)10 * sizeof(int *)); - memcpy_ptr_int(src,(int * const *)res,(unsigned int)10 * sizeof(int *)); + memcpy_ptr_int(dest,(int * const *)src,(unsigned long)10 * sizeof(int *)); + memcpy_ptr_int(src,(int * const *)res,(unsigned long)10 * sizeof(int *)); return; } @@ -356,33 +356,33 @@ void nested(int (*src)[10], int (*dest)[10], int n) { int (*res)[10] = memcpy_arr10_int(dest,(int const (*)[10])src, - (unsigned int)n * sizeof(int [10])); + (unsigned long)n * sizeof(int [10])); memcpy_arr10_int(src,(int const (*)[10])res, - (unsigned int)n * sizeof(int [10])); + (unsigned long)n * sizeof(int [10])); return; } void with_void(void *src, void *dest, int n) { - void *res = memcpy(dest,(void const *)src,(unsigned int)n); - memcpy(src,(void const *)res,(unsigned int)n); + void *res = memcpy(dest,(void const *)src,(unsigned long)n); + memcpy(src,(void const *)res,(unsigned long)n); return; } void with_incomplete(struct incomplete *src, struct incomplete *dest, int n) { struct incomplete *res = - memcpy((void *)dest,(void const *)src,(unsigned int)n); - memcpy((void *)src,(void const *)res,(unsigned int)n); + memcpy((void *)dest,(void const *)src,(unsigned long)n); + memcpy((void *)src,(void const *)res,(unsigned long)n); return; } void with_null_or_int(int *p) { - memcpy((void *)0,(void const *)p,(unsigned int)10 * sizeof(int)); - memcpy((void *)p,(void const *)0,(unsigned int)10 * sizeof(int)); - memcpy((void *)((int *)42),(void const *)p,(unsigned int)10 * sizeof(int)); - memcpy((void *)p,(void const *)((int *)42),(unsigned int)10 * sizeof(int)); + memcpy((void *)0,(void const *)p,(unsigned long)10 * sizeof(int)); + memcpy((void *)p,(void const *)0,(unsigned long)10 * sizeof(int)); + memcpy((void *)((int *)42),(void const *)p,(unsigned long)10 * sizeof(int)); + memcpy((void *)p,(void const *)((int *)42),(unsigned long)10 * sizeof(int)); return; } diff --git a/src/plugins/instantiate/tests/string/oracle/memmove.res.oracle b/src/plugins/instantiate/tests/string/oracle/memmove.res.oracle index f327581499bdc3f2393d4bd573a08d587761e1df..fc4bf6922137156c245f4e5f980663b4e20c8f66 100644 --- a/src/plugins/instantiate/tests/string/oracle/memmove.res.oracle +++ b/src/plugins/instantiate/tests/string/oracle/memmove.res.oracle @@ -49,15 +49,15 @@ int *memmove_int(int *dest, int const *src, size_t len) void integer(int * /*[10]*/ src, int * /*[10]*/ dest) { - int *res = memmove_int(dest,src,(unsigned int)10 * sizeof(int)); - memmove_int(src,res,(unsigned int)10 * sizeof(int)); + int *res = memmove_int(dest,src,(unsigned long)10 * sizeof(int)); + memmove_int(src,res,(unsigned long)10 * sizeof(int)); return; } void with_named(named * /*[10]*/ src, named * /*[10]*/ dest) { - named *res = memmove_int(dest,src,(unsigned int)10 * sizeof(named)); - memmove_int(src,res,(unsigned int)10 * sizeof(named)); + named *res = memmove_int(dest,src,(unsigned long)10 * sizeof(named)); + memmove_int(src,res,(unsigned long)10 * sizeof(named)); return; } @@ -85,24 +85,25 @@ struct X *memmove_st_X(struct X *dest, struct X const *src, size_t len) void structure(struct X * /*[10]*/ src, struct X * /*[10]*/ dest) { - struct X *res = memmove_st_X(dest,src,(unsigned int)10 * sizeof(struct X)); - memmove_st_X(src,res,(unsigned int)10 * sizeof(struct X)); + struct X *res = + memmove_st_X(dest,src,(unsigned long)10 * sizeof(struct X)); + memmove_st_X(src,res,(unsigned long)10 * sizeof(struct X)); return; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(dest + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(dest + (0 .. __fc_len - 1)); requires valid_read_src: - \let __fc_len = len / 4; \valid_read(src + (0 .. __fc_len - 1)); + \let __fc_len = len / 8; \valid_read(src + (0 .. __fc_len - 1)); ensures moved: - \let __fc_len = len / 4; + \let __fc_len = len / 8; ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(dest + j0) ≡ *(src + j0); ensures result: \result ≡ dest; - assigns *(dest + (0 .. len / 4 - 1)), \result; - assigns *(dest + (0 .. len / 4 - 1)) \from *(src + (0 .. len / 4 - 1)); + assigns *(dest + (0 .. len / 8 - 1)), \result; + assigns *(dest + (0 .. len / 8 - 1)) \from *(src + (0 .. len / 8 - 1)); assigns \result \from dest; */ int **memmove_ptr_int(int **dest, int * const *src, size_t len) @@ -114,8 +115,8 @@ int **memmove_ptr_int(int **dest, int * const *src, size_t len) void pointers(int ** /*[10]*/ src, int ** /*[10]*/ dest) { - int **res = memmove_ptr_int(dest,src,(unsigned int)10 * sizeof(int *)); - memmove_ptr_int(src,res,(unsigned int)10 * sizeof(int *)); + int **res = memmove_ptr_int(dest,src,(unsigned long)10 * sizeof(int *)); + memmove_ptr_int(src,res,(unsigned long)10 * sizeof(int *)); return; } @@ -149,32 +150,34 @@ int (*memmove_arr10_int(int (*dest)[10], int const (*src)[10], size_t len))[10] void nested(int (*src)[10], int (*dest)[10], int n) { int (*res)[10] = - memmove_arr10_int(dest,src,(unsigned int)n * sizeof(int [10])); - memmove_arr10_int(src,res,(unsigned int)n * sizeof(int [10])); + memmove_arr10_int(dest,src,(unsigned long)n * sizeof(int [10])); + memmove_arr10_int(src,res,(unsigned long)n * sizeof(int [10])); return; } void with_void(void *src, void *dest, int n) { - void *res = memmove(dest,(void const *)src,(unsigned int)n); - memmove(src,(void const *)res,(unsigned int)n); + void *res = memmove(dest,(void const *)src,(unsigned long)n); + memmove(src,(void const *)res,(unsigned long)n); return; } void with_incomplete(struct incomplete *src, struct incomplete *dest, int n) { struct incomplete *res = - memmove((void *)dest,(void const *)src,(unsigned int)n); - memmove((void *)src,(void const *)res,(unsigned int)n); + memmove((void *)dest,(void const *)src,(unsigned long)n); + memmove((void *)src,(void const *)res,(unsigned long)n); return; } void with_null_or_int(int * /*[10]*/ p) { - memmove((void *)0,(void const *)p,(unsigned int)10 * sizeof(int)); - memmove((void *)p,(void const *)0,(unsigned int)10 * sizeof(int)); - memmove((void *)((int *)42),(void const *)p,(unsigned int)10 * sizeof(int)); - memmove((void *)p,(void const *)((int *)42),(unsigned int)10 * sizeof(int)); + memmove((void *)0,(void const *)p,(unsigned long)10 * sizeof(int)); + memmove((void *)p,(void const *)0,(unsigned long)10 * sizeof(int)); + memmove((void *)((int *)42),(void const *)p, + (unsigned long)10 * sizeof(int)); + memmove((void *)p,(void const *)((int *)42), + (unsigned long)10 * sizeof(int)); return; } @@ -216,16 +219,16 @@ int *memmove_int(int *dest, int const *src, size_t len) void integer(int *src, int *dest) { int *res = - memmove_int(dest,(int const *)src,(unsigned int)10 * sizeof(int)); - memmove_int(src,(int const *)res,(unsigned int)10 * sizeof(int)); + memmove_int(dest,(int const *)src,(unsigned long)10 * sizeof(int)); + memmove_int(src,(int const *)res,(unsigned long)10 * sizeof(int)); return; } void with_named(named *src, named *dest) { named *res = - memmove_int(dest,(int const *)src,(unsigned int)10 * sizeof(named)); - memmove_int(src,(int const *)res,(unsigned int)10 * sizeof(named)); + memmove_int(dest,(int const *)src,(unsigned long)10 * sizeof(named)); + memmove_int(src,(int const *)res,(unsigned long)10 * sizeof(named)); return; } @@ -256,25 +259,26 @@ void structure(struct X *src, struct X *dest) { struct X *res = memmove_st_X(dest,(struct X const *)src, - (unsigned int)10 * sizeof(struct X)); - memmove_st_X(src,(struct X const *)res,(unsigned int)10 * sizeof(struct X)); + (unsigned long)10 * sizeof(struct X)); + memmove_st_X(src,(struct X const *)res, + (unsigned long)10 * sizeof(struct X)); return; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(dest + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(dest + (0 .. __fc_len - 1)); requires valid_read_src: - \let __fc_len = len / 4; \valid_read(src + (0 .. __fc_len - 1)); + \let __fc_len = len / 8; \valid_read(src + (0 .. __fc_len - 1)); ensures moved: - \let __fc_len = \old(len) / 4; + \let __fc_len = \old(len) / 8; ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(\old(dest) + j0) ≡ *(\old(src) + j0); ensures result: \result ≡ \old(dest); - assigns *(dest + (0 .. len / 4 - 1)), \result; - assigns *(dest + (0 .. len / 4 - 1)) \from *(src + (0 .. len / 4 - 1)); + assigns *(dest + (0 .. len / 8 - 1)), \result; + assigns *(dest + (0 .. len / 8 - 1)) \from *(src + (0 .. len / 8 - 1)); assigns \result \from dest; */ int **memmove_ptr_int(int **dest, int * const *src, size_t len) @@ -287,8 +291,9 @@ int **memmove_ptr_int(int **dest, int * const *src, size_t len) void pointers(int **src, int **dest) { int **res = - memmove_ptr_int(dest,(int * const *)src,(unsigned int)10 * sizeof(int *)); - memmove_ptr_int(src,(int * const *)res,(unsigned int)10 * sizeof(int *)); + memmove_ptr_int(dest,(int * const *)src, + (unsigned long)10 * sizeof(int *)); + memmove_ptr_int(src,(int * const *)res,(unsigned long)10 * sizeof(int *)); return; } @@ -324,33 +329,35 @@ void nested(int (*src)[10], int (*dest)[10], int n) { int (*res)[10] = memmove_arr10_int(dest,(int const (*)[10])src, - (unsigned int)n * sizeof(int [10])); + (unsigned long)n * sizeof(int [10])); memmove_arr10_int(src,(int const (*)[10])res, - (unsigned int)n * sizeof(int [10])); + (unsigned long)n * sizeof(int [10])); return; } void with_void(void *src, void *dest, int n) { - void *res = memmove(dest,(void const *)src,(unsigned int)n); - memmove(src,(void const *)res,(unsigned int)n); + void *res = memmove(dest,(void const *)src,(unsigned long)n); + memmove(src,(void const *)res,(unsigned long)n); return; } void with_incomplete(struct incomplete *src, struct incomplete *dest, int n) { struct incomplete *res = - memmove((void *)dest,(void const *)src,(unsigned int)n); - memmove((void *)src,(void const *)res,(unsigned int)n); + memmove((void *)dest,(void const *)src,(unsigned long)n); + memmove((void *)src,(void const *)res,(unsigned long)n); return; } void with_null_or_int(int *p) { - memmove((void *)0,(void const *)p,(unsigned int)10 * sizeof(int)); - memmove((void *)p,(void const *)0,(unsigned int)10 * sizeof(int)); - memmove((void *)((int *)42),(void const *)p,(unsigned int)10 * sizeof(int)); - memmove((void *)p,(void const *)((int *)42),(unsigned int)10 * sizeof(int)); + memmove((void *)0,(void const *)p,(unsigned long)10 * sizeof(int)); + memmove((void *)p,(void const *)0,(unsigned long)10 * sizeof(int)); + memmove((void *)((int *)42),(void const *)p, + (unsigned long)10 * sizeof(int)); + memmove((void *)p,(void const *)((int *)42), + (unsigned long)10 * sizeof(int)); return; } diff --git a/src/plugins/instantiate/tests/string/oracle/memset_0.res.oracle b/src/plugins/instantiate/tests/string/oracle/memset_0.res.oracle index dae2db7eba374181cfa6fe5705cbcd211dfeaed5..f0925319e7706c383fc2beb1a359ab5b0c68293f 100644 --- a/src/plugins/instantiate/tests/string/oracle/memset_0.res.oracle +++ b/src/plugins/instantiate/tests/string/oracle/memset_0.res.oracle @@ -39,8 +39,8 @@ char *memset_char(char *ptr, char value, size_t len) void chars(char * /*[10]*/ dest) { - char *res = memset_char(dest,(char)0,(unsigned int)10); - memset_char(res,(char)0,(unsigned int)10); + char *res = memset_char(dest,(char)0,(unsigned long)10); + memset_char(res,(char)0,(unsigned long)10); return; } @@ -63,8 +63,8 @@ unsigned char *memset_uchar(unsigned char *ptr, unsigned char value, void uchars(unsigned char * /*[10]*/ dest) { - unsigned char *res = memset_uchar(dest,(unsigned char)0,(unsigned int)10); - memset_uchar(res,(unsigned char)0,(unsigned int)10); + unsigned char *res = memset_uchar(dest,(unsigned char)0,(unsigned long)10); + memset_uchar(res,(unsigned char)0,(unsigned long)10); return; } @@ -91,8 +91,8 @@ char (*memset_arr10_char(char (*ptr)[10], char value, size_t len))[10] void nested_chars(char (* /*[10]*/ dest)[10]) { - char (*res)[10] = memset_arr10_char(dest,(char)0,(unsigned int)100); - memset_arr10_char(res,(char)0,(unsigned int)100); + char (*res)[10] = memset_arr10_char(dest,(char)0,(unsigned long)100); + memset_arr10_char(res,(char)0,(unsigned long)100); return; } @@ -117,8 +117,8 @@ int *memset_int_0(int *ptr, size_t len) void integer(int * /*[10]*/ dest) { - int *res = memset_int_0(dest,(unsigned int)10 * sizeof(int)); - memset_int_0(res,(unsigned int)10 * sizeof(int)); + int *res = memset_int_0(dest,(unsigned long)10 * sizeof(int)); + memset_int_0(res,(unsigned long)10 * sizeof(int)); return; } @@ -143,8 +143,8 @@ enum E *memset_e_E_0(enum E *ptr, size_t len) void with_enum(enum E * /*[10]*/ dest) { - enum E *res = memset_e_E_0(dest,(unsigned int)10 * sizeof(enum E)); - memset_e_E_0(res,(unsigned int)10 * sizeof(enum E)); + enum E *res = memset_e_E_0(dest,(unsigned long)10 * sizeof(enum E)); + memset_e_E_0(res,(unsigned long)10 * sizeof(enum E)); return; } @@ -169,15 +169,15 @@ float *memset_float_0(float *ptr, size_t len) void floats(float * /*[10]*/ dest) { - float *res = memset_float_0(dest,(unsigned int)10 * sizeof(float)); - memset_float_0(res,(unsigned int)10 * sizeof(float)); + float *res = memset_float_0(dest,(unsigned long)10 * sizeof(float)); + memset_float_0(res,(unsigned long)10 * sizeof(float)); return; } void with_named(named * /*[10]*/ dest) { - named *res = memset_int_0(dest,(unsigned int)10 * sizeof(named)); - memset_int_0(res,(unsigned int)10 * sizeof(named)); + named *res = memset_int_0(dest,(unsigned long)10 * sizeof(named)); + memset_int_0(res,(unsigned long)10 * sizeof(named)); return; } @@ -203,21 +203,21 @@ struct X *memset_st_X_0(struct X *ptr, size_t len) void structure(struct X * /*[10]*/ dest) { - struct X *res = memset_st_X_0(dest,(unsigned int)10 * sizeof(struct X)); - memset_st_X_0(res,(unsigned int)10 * sizeof(struct X)); + struct X *res = memset_st_X_0(dest,(unsigned long)10 * sizeof(struct X)); + memset_st_X_0(res,(unsigned long)10 * sizeof(struct X)); return; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(ptr + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(ptr + (0 .. __fc_len - 1)); ensures set_content: - \let __fc_len = len / 4; + \let __fc_len = len / 8; ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(ptr + j0) ≡ \null; ensures result: \result ≡ ptr; - assigns *(ptr + (0 .. len / 4 - 1)), \result; - assigns *(ptr + (0 .. len / 4 - 1)) \from \nothing; + assigns *(ptr + (0 .. len / 8 - 1)), \result; + assigns *(ptr + (0 .. len / 8 - 1)) \from \nothing; assigns \result \from ptr; */ int **memset_ptr_int_0(int **ptr, size_t len) @@ -229,8 +229,8 @@ int **memset_ptr_int_0(int **ptr, size_t len) void pointers(int ** /*[10]*/ dest) { - int **res = memset_ptr_int_0(dest,(unsigned int)10 * sizeof(int *)); - memset_ptr_int_0(res,(unsigned int)10 * sizeof(int *)); + int **res = memset_ptr_int_0(dest,(unsigned long)10 * sizeof(int *)); + memset_ptr_int_0(res,(unsigned long)10 * sizeof(int *)); return; } @@ -258,22 +258,22 @@ int (*memset_arr10_int_0(int (*ptr)[10], size_t len))[10] void nested(int (*dest)[10], int n) { int (*res)[10] = - memset_arr10_int_0(dest,(unsigned int)n * sizeof(int [10])); - memset_arr10_int_0(res,(unsigned int)n * sizeof(int [10])); + memset_arr10_int_0(dest,(unsigned long)n * sizeof(int [10])); + memset_arr10_int_0(res,(unsigned long)n * sizeof(int [10])); return; } void with_void(void *dest) { - void *res = memset(dest,0,(unsigned int)10); - memset(res,0,(unsigned int)10); + void *res = memset(dest,0,(unsigned long)10); + memset(res,0,(unsigned long)10); return; } void with_null_or_int(void) { - memset((void *)0,0,(unsigned int)10); - memset((void *)((int *)42),0,(unsigned int)10); + memset((void *)0,0,(unsigned long)10); + memset((void *)((int *)42),0,(unsigned long)10); return; } @@ -313,8 +313,8 @@ char *memset_char(char *ptr, char value, size_t len) void chars(char *dest) { - char *res = memset_char(dest,(char)0,(unsigned int)10); - memset_char(res,(char)0,(unsigned int)10); + char *res = memset_char(dest,(char)0,(unsigned long)10); + memset_char(res,(char)0,(unsigned long)10); return; } @@ -339,8 +339,8 @@ unsigned char *memset_uchar(unsigned char *ptr, unsigned char value, void uchars(unsigned char *dest) { - unsigned char *res = memset_uchar(dest,(unsigned char)0,(unsigned int)10); - memset_uchar(res,(unsigned char)0,(unsigned int)10); + unsigned char *res = memset_uchar(dest,(unsigned char)0,(unsigned long)10); + memset_uchar(res,(unsigned char)0,(unsigned long)10); return; } @@ -368,8 +368,8 @@ char (*memset_arr10_char(char (*ptr)[10], char value, size_t len))[10] void nested_chars(char (*dest)[10]) { - char (*res)[10] = memset_arr10_char(dest,(char)0,(unsigned int)100); - memset_arr10_char(res,(char)0,(unsigned int)100); + char (*res)[10] = memset_arr10_char(dest,(char)0,(unsigned long)100); + memset_arr10_char(res,(char)0,(unsigned long)100); return; } @@ -394,8 +394,8 @@ int *memset_int_0(int *ptr, size_t len) void integer(int *dest) { - int *res = memset_int_0(dest,(unsigned int)10 * sizeof(int)); - memset_int_0(res,(unsigned int)10 * sizeof(int)); + int *res = memset_int_0(dest,(unsigned long)10 * sizeof(int)); + memset_int_0(res,(unsigned long)10 * sizeof(int)); return; } @@ -420,8 +420,8 @@ enum E *memset_e_E_0(enum E *ptr, size_t len) void with_enum(enum E *dest) { - enum E *res = memset_e_E_0(dest,(unsigned int)10 * sizeof(enum E)); - memset_e_E_0(res,(unsigned int)10 * sizeof(enum E)); + enum E *res = memset_e_E_0(dest,(unsigned long)10 * sizeof(enum E)); + memset_e_E_0(res,(unsigned long)10 * sizeof(enum E)); return; } @@ -446,15 +446,15 @@ float *memset_float_0(float *ptr, size_t len) void floats(float *dest) { - float *res = memset_float_0(dest,(unsigned int)10 * sizeof(float)); - memset_float_0(res,(unsigned int)10 * sizeof(float)); + float *res = memset_float_0(dest,(unsigned long)10 * sizeof(float)); + memset_float_0(res,(unsigned long)10 * sizeof(float)); return; } void with_named(named *dest) { - named *res = memset_int_0(dest,(unsigned int)10 * sizeof(named)); - memset_int_0(res,(unsigned int)10 * sizeof(named)); + named *res = memset_int_0(dest,(unsigned long)10 * sizeof(named)); + memset_int_0(res,(unsigned long)10 * sizeof(named)); return; } @@ -481,21 +481,21 @@ struct X *memset_st_X_0(struct X *ptr, size_t len) void structure(struct X *dest) { - struct X *res = memset_st_X_0(dest,(unsigned int)10 * sizeof(struct X)); - memset_st_X_0(res,(unsigned int)10 * sizeof(struct X)); + struct X *res = memset_st_X_0(dest,(unsigned long)10 * sizeof(struct X)); + memset_st_X_0(res,(unsigned long)10 * sizeof(struct X)); return; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(ptr + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(ptr + (0 .. __fc_len - 1)); ensures set_content: - \let __fc_len = \old(len) / 4; + \let __fc_len = \old(len) / 8; ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(\old(ptr) + j0) ≡ \null; ensures result: \result ≡ \old(ptr); - assigns *(ptr + (0 .. len / 4 - 1)), \result; - assigns *(ptr + (0 .. len / 4 - 1)) \from \nothing; + assigns *(ptr + (0 .. len / 8 - 1)), \result; + assigns *(ptr + (0 .. len / 8 - 1)) \from \nothing; assigns \result \from ptr; */ int **memset_ptr_int_0(int **ptr, size_t len) @@ -507,8 +507,8 @@ int **memset_ptr_int_0(int **ptr, size_t len) void pointers(int **dest) { - int **res = memset_ptr_int_0(dest,(unsigned int)10 * sizeof(int *)); - memset_ptr_int_0(res,(unsigned int)10 * sizeof(int *)); + int **res = memset_ptr_int_0(dest,(unsigned long)10 * sizeof(int *)); + memset_ptr_int_0(res,(unsigned long)10 * sizeof(int *)); return; } @@ -536,22 +536,22 @@ int (*memset_arr10_int_0(int (*ptr)[10], size_t len))[10] void nested(int (*dest)[10], int n) { int (*res)[10] = - memset_arr10_int_0(dest,(unsigned int)n * sizeof(int [10])); - memset_arr10_int_0(res,(unsigned int)n * sizeof(int [10])); + memset_arr10_int_0(dest,(unsigned long)n * sizeof(int [10])); + memset_arr10_int_0(res,(unsigned long)n * sizeof(int [10])); return; } void with_void(void *dest) { - void *res = memset(dest,0,(unsigned int)10); - memset(res,0,(unsigned int)10); + void *res = memset(dest,0,(unsigned long)10); + memset(res,0,(unsigned long)10); return; } void with_null_or_int(void) { - memset((void *)0,0,(unsigned int)10); - memset((void *)((int *)42),0,(unsigned int)10); + memset((void *)0,0,(unsigned long)10); + memset((void *)((int *)42),0,(unsigned long)10); return; } diff --git a/src/plugins/instantiate/tests/string/oracle/memset_FF.res.oracle b/src/plugins/instantiate/tests/string/oracle/memset_FF.res.oracle index 137dd1c21a070c374f27367c3e82beb2b47a79aa..798296c18a980b5a0097406083c7dc48f66302de 100644 --- a/src/plugins/instantiate/tests/string/oracle/memset_FF.res.oracle +++ b/src/plugins/instantiate/tests/string/oracle/memset_FF.res.oracle @@ -39,8 +39,8 @@ char *memset_char(char *ptr, char value, size_t len) void chars(char * /*[10]*/ dest) { - char *res = memset_char(dest,(char)0xFF,(unsigned int)10); - memset_char(res,(char)0xFF,(unsigned int)10); + char *res = memset_char(dest,(char)0xFF,(unsigned long)10); + memset_char(res,(char)0xFF,(unsigned long)10); return; } @@ -64,8 +64,8 @@ unsigned char *memset_uchar(unsigned char *ptr, unsigned char value, void uchars(unsigned char * /*[10]*/ dest) { unsigned char *res = - memset_uchar(dest,(unsigned char)0xFF,(unsigned int)10); - memset_uchar(res,(unsigned char)0xFF,(unsigned int)10); + memset_uchar(dest,(unsigned char)0xFF,(unsigned long)10); + memset_uchar(res,(unsigned char)0xFF,(unsigned long)10); return; } @@ -92,8 +92,8 @@ char (*memset_arr10_char(char (*ptr)[10], char value, size_t len))[10] void nested_chars(char (* /*[10]*/ dest)[10]) { - char (*res)[10] = memset_arr10_char(dest,(char)0xFF,(unsigned int)100); - memset_arr10_char(res,(char)0xFF,(unsigned int)100); + char (*res)[10] = memset_arr10_char(dest,(char)0xFF,(unsigned long)100); + memset_arr10_char(res,(char)0xFF,(unsigned long)100); return; } @@ -118,8 +118,8 @@ int *memset_int_FF(int *ptr, size_t len) void integer(int * /*[10]*/ dest) { - int *res = memset_int_FF(dest,(unsigned int)10 * sizeof(int)); - memset_int_FF(res,(unsigned int)10 * sizeof(int)); + int *res = memset_int_FF(dest,(unsigned long)10 * sizeof(int)); + memset_int_FF(res,(unsigned long)10 * sizeof(int)); return; } @@ -144,8 +144,8 @@ enum E *memset_e_E_FF(enum E *ptr, size_t len) void with_enum(enum E * /*[10]*/ dest) { - enum E *res = memset_e_E_FF(dest,(unsigned int)10 * sizeof(enum E)); - memset_e_E_FF(res,(unsigned int)10 * sizeof(enum E)); + enum E *res = memset_e_E_FF(dest,(unsigned long)10 * sizeof(enum E)); + memset_e_E_FF(res,(unsigned long)10 * sizeof(enum E)); return; } @@ -171,21 +171,21 @@ unsigned int *memset_uint_FF(unsigned int *ptr, size_t len) void unsigned_integer(unsigned int * /*[10]*/ dest) { unsigned int *res = - memset_uint_FF(dest,(unsigned int)10 * sizeof(unsigned int)); - memset_uint_FF(res,(unsigned int)10 * sizeof(unsigned int)); + memset_uint_FF(dest,(unsigned long)10 * sizeof(unsigned int)); + memset_uint_FF(res,(unsigned long)10 * sizeof(unsigned int)); return; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(ptr + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(ptr + (0 .. __fc_len - 1)); ensures set_content: - \let __fc_len = len / 4; + \let __fc_len = len / 8; ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(ptr + j0) ≡ ~((long)0); ensures result: \result ≡ ptr; - assigns *(ptr + (0 .. len / 4 - 1)), \result; - assigns *(ptr + (0 .. len / 4 - 1)) \from \nothing; + assigns *(ptr + (0 .. len / 8 - 1)), \result; + assigns *(ptr + (0 .. len / 8 - 1)) \from \nothing; assigns \result \from ptr; */ long *memset_long_FF(long *ptr, size_t len) @@ -197,21 +197,22 @@ long *memset_long_FF(long *ptr, size_t len) void long_integer(long * /*[10]*/ dest) { - long *res = memset_long_FF(dest,(unsigned int)10 * sizeof(long)); - memset_long_FF(res,(unsigned int)10 * sizeof(long)); + long *res = memset_long_FF(dest,(unsigned long)10 * sizeof(long)); + memset_long_FF(res,(unsigned long)10 * sizeof(long)); return; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(ptr + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(ptr + (0 .. __fc_len - 1)); ensures set_content: - \let __fc_len = len / 4; - ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(ptr + j0) ≡ 4294967295; + \let __fc_len = len / 8; + ∀ ℤ j0; + 0 ≤ j0 < __fc_len ⇒ *(ptr + j0) ≡ 18446744073709551615; ensures result: \result ≡ ptr; - assigns *(ptr + (0 .. len / 4 - 1)), \result; - assigns *(ptr + (0 .. len / 4 - 1)) \from \nothing; + assigns *(ptr + (0 .. len / 8 - 1)), \result; + assigns *(ptr + (0 .. len / 8 - 1)) \from \nothing; assigns \result \from ptr; */ unsigned long *memset_ulong_FF(unsigned long *ptr, size_t len) @@ -224,8 +225,8 @@ unsigned long *memset_ulong_FF(unsigned long *ptr, size_t len) void unsigned_long_integer(unsigned long * /*[10]*/ dest) { unsigned long *res = - memset_ulong_FF(dest,(unsigned int)10 * sizeof(unsigned long)); - memset_ulong_FF(res,(unsigned int)10 * sizeof(unsigned long)); + memset_ulong_FF(dest,(unsigned long)10 * sizeof(unsigned long)); + memset_ulong_FF(res,(unsigned long)10 * sizeof(unsigned long)); return; } @@ -251,8 +252,8 @@ long long *memset_llong_FF(long long *ptr, size_t len) void long_long_integer(long long * /*[10]*/ dest) { long long *res = - memset_llong_FF(dest,(unsigned int)10 * sizeof(long long)); - memset_llong_FF(res,(unsigned int)10 * sizeof(long long)); + memset_llong_FF(dest,(unsigned long)10 * sizeof(long long)); + memset_llong_FF(res,(unsigned long)10 * sizeof(long long)); return; } @@ -279,8 +280,8 @@ unsigned long long *memset_ullong_FF(unsigned long long *ptr, size_t len) void unsigned_long_long_integer(unsigned long long * /*[10]*/ dest) { unsigned long long *res = - memset_ullong_FF(dest,(unsigned int)10 * sizeof(unsigned long long)); - memset_ullong_FF(res,(unsigned int)10 * sizeof(unsigned long long)); + memset_ullong_FF(dest,(unsigned long)10 * sizeof(unsigned long long)); + memset_ullong_FF(res,(unsigned long)10 * sizeof(unsigned long long)); return; } @@ -305,15 +306,15 @@ float *memset_float_FF(float *ptr, size_t len) void floats(float * /*[10]*/ dest) { - float *res = memset_float_FF(dest,(unsigned int)10 * sizeof(float)); - memset_float_FF(res,(unsigned int)10 * sizeof(float)); + float *res = memset_float_FF(dest,(unsigned long)10 * sizeof(float)); + memset_float_FF(res,(unsigned long)10 * sizeof(float)); return; } void with_named(named * /*[10]*/ dest) { - named *res = memset_int_FF(dest,(unsigned int)10 * sizeof(named)); - memset_int_FF(res,(unsigned int)10 * sizeof(named)); + named *res = memset_int_FF(dest,(unsigned long)10 * sizeof(named)); + memset_int_FF(res,(unsigned long)10 * sizeof(named)); return; } @@ -340,21 +341,21 @@ struct X *memset_st_X_FF(struct X *ptr, size_t len) void structure(struct X * /*[10]*/ dest) { - struct X *res = memset_st_X_FF(dest,(unsigned int)10 * sizeof(struct X)); - memset_st_X_FF(res,(unsigned int)10 * sizeof(struct X)); + struct X *res = memset_st_X_FF(dest,(unsigned long)10 * sizeof(struct X)); + memset_st_X_FF(res,(unsigned long)10 * sizeof(struct X)); return; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(ptr + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(ptr + (0 .. __fc_len - 1)); ensures set_content: - \let __fc_len = len / 4; + \let __fc_len = len / 8; ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ ¬\valid_read(*(ptr + j0)); ensures result: \result ≡ ptr; - assigns *(ptr + (0 .. len / 4 - 1)), \result; - assigns *(ptr + (0 .. len / 4 - 1)) \from \nothing; + assigns *(ptr + (0 .. len / 8 - 1)), \result; + assigns *(ptr + (0 .. len / 8 - 1)) \from \nothing; assigns \result \from ptr; */ int **memset_ptr_int_FF(int **ptr, size_t len) @@ -366,8 +367,8 @@ int **memset_ptr_int_FF(int **ptr, size_t len) void pointers(int ** /*[10]*/ dest) { - int **res = memset_ptr_int_FF(dest,(unsigned int)10 * sizeof(int *)); - memset_ptr_int_FF(res,(unsigned int)10 * sizeof(int *)); + int **res = memset_ptr_int_FF(dest,(unsigned long)10 * sizeof(int *)); + memset_ptr_int_FF(res,(unsigned long)10 * sizeof(int *)); return; } @@ -395,22 +396,22 @@ int (*memset_arr10_int_FF(int (*ptr)[10], size_t len))[10] void nested(int (*dest)[10], int n) { int (*res)[10] = - memset_arr10_int_FF(dest,(unsigned int)n * sizeof(int [10])); - memset_arr10_int_FF(res,(unsigned int)n * sizeof(int [10])); + memset_arr10_int_FF(dest,(unsigned long)n * sizeof(int [10])); + memset_arr10_int_FF(res,(unsigned long)n * sizeof(int [10])); return; } void with_void(void *dest) { - void *res = memset(dest,0xFF,(unsigned int)10); - memset(res,0xFF,(unsigned int)10); + void *res = memset(dest,0xFF,(unsigned long)10); + memset(res,0xFF,(unsigned long)10); return; } void with_null_or_int(void) { - memset((void *)0,0xFF,(unsigned int)10); - memset((void *)((int *)42),0xFF,(unsigned int)10); + memset((void *)0,0xFF,(unsigned long)10); + memset((void *)((int *)42),0xFF,(unsigned long)10); return; } @@ -450,8 +451,8 @@ char *memset_char(char *ptr, char value, size_t len) void chars(char *dest) { - char *res = memset_char(dest,(char)0xFF,(unsigned int)10); - memset_char(res,(char)0xFF,(unsigned int)10); + char *res = memset_char(dest,(char)0xFF,(unsigned long)10); + memset_char(res,(char)0xFF,(unsigned long)10); return; } @@ -477,8 +478,8 @@ unsigned char *memset_uchar(unsigned char *ptr, unsigned char value, void uchars(unsigned char *dest) { unsigned char *res = - memset_uchar(dest,(unsigned char)0xFF,(unsigned int)10); - memset_uchar(res,(unsigned char)0xFF,(unsigned int)10); + memset_uchar(dest,(unsigned char)0xFF,(unsigned long)10); + memset_uchar(res,(unsigned char)0xFF,(unsigned long)10); return; } @@ -506,8 +507,8 @@ char (*memset_arr10_char(char (*ptr)[10], char value, size_t len))[10] void nested_chars(char (*dest)[10]) { - char (*res)[10] = memset_arr10_char(dest,(char)0xFF,(unsigned int)100); - memset_arr10_char(res,(char)0xFF,(unsigned int)100); + char (*res)[10] = memset_arr10_char(dest,(char)0xFF,(unsigned long)100); + memset_arr10_char(res,(char)0xFF,(unsigned long)100); return; } @@ -532,8 +533,8 @@ int *memset_int_FF(int *ptr, size_t len) void integer(int *dest) { - int *res = memset_int_FF(dest,(unsigned int)10 * sizeof(int)); - memset_int_FF(res,(unsigned int)10 * sizeof(int)); + int *res = memset_int_FF(dest,(unsigned long)10 * sizeof(int)); + memset_int_FF(res,(unsigned long)10 * sizeof(int)); return; } @@ -558,8 +559,8 @@ enum E *memset_e_E_FF(enum E *ptr, size_t len) void with_enum(enum E *dest) { - enum E *res = memset_e_E_FF(dest,(unsigned int)10 * sizeof(enum E)); - memset_e_E_FF(res,(unsigned int)10 * sizeof(enum E)); + enum E *res = memset_e_E_FF(dest,(unsigned long)10 * sizeof(enum E)); + memset_e_E_FF(res,(unsigned long)10 * sizeof(enum E)); return; } @@ -585,21 +586,21 @@ unsigned int *memset_uint_FF(unsigned int *ptr, size_t len) void unsigned_integer(unsigned int *dest) { unsigned int *res = - memset_uint_FF(dest,(unsigned int)10 * sizeof(unsigned int)); - memset_uint_FF(res,(unsigned int)10 * sizeof(unsigned int)); + memset_uint_FF(dest,(unsigned long)10 * sizeof(unsigned int)); + memset_uint_FF(res,(unsigned long)10 * sizeof(unsigned int)); return; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(ptr + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(ptr + (0 .. __fc_len - 1)); ensures set_content: - \let __fc_len = \old(len) / 4; + \let __fc_len = \old(len) / 8; ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(\old(ptr) + j0) ≡ ~((long)0); ensures result: \result ≡ \old(ptr); - assigns *(ptr + (0 .. len / 4 - 1)), \result; - assigns *(ptr + (0 .. len / 4 - 1)) \from \nothing; + assigns *(ptr + (0 .. len / 8 - 1)), \result; + assigns *(ptr + (0 .. len / 8 - 1)) \from \nothing; assigns \result \from ptr; */ long *memset_long_FF(long *ptr, size_t len) @@ -611,21 +612,22 @@ long *memset_long_FF(long *ptr, size_t len) void long_integer(long *dest) { - long *res = memset_long_FF(dest,(unsigned int)10 * sizeof(long)); - memset_long_FF(res,(unsigned int)10 * sizeof(long)); + long *res = memset_long_FF(dest,(unsigned long)10 * sizeof(long)); + memset_long_FF(res,(unsigned long)10 * sizeof(long)); return; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(ptr + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(ptr + (0 .. __fc_len - 1)); ensures set_content: - \let __fc_len = \old(len) / 4; - ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ *(\old(ptr) + j0) ≡ 4294967295; + \let __fc_len = \old(len) / 8; + ∀ ℤ j0; + 0 ≤ j0 < __fc_len ⇒ *(\old(ptr) + j0) ≡ 18446744073709551615; ensures result: \result ≡ \old(ptr); - assigns *(ptr + (0 .. len / 4 - 1)), \result; - assigns *(ptr + (0 .. len / 4 - 1)) \from \nothing; + assigns *(ptr + (0 .. len / 8 - 1)), \result; + assigns *(ptr + (0 .. len / 8 - 1)) \from \nothing; assigns \result \from ptr; */ unsigned long *memset_ulong_FF(unsigned long *ptr, size_t len) @@ -638,8 +640,8 @@ unsigned long *memset_ulong_FF(unsigned long *ptr, size_t len) void unsigned_long_integer(unsigned long *dest) { unsigned long *res = - memset_ulong_FF(dest,(unsigned int)10 * sizeof(unsigned long)); - memset_ulong_FF(res,(unsigned int)10 * sizeof(unsigned long)); + memset_ulong_FF(dest,(unsigned long)10 * sizeof(unsigned long)); + memset_ulong_FF(res,(unsigned long)10 * sizeof(unsigned long)); return; } @@ -666,8 +668,8 @@ long long *memset_llong_FF(long long *ptr, size_t len) void long_long_integer(long long *dest) { long long *res = - memset_llong_FF(dest,(unsigned int)10 * sizeof(long long)); - memset_llong_FF(res,(unsigned int)10 * sizeof(long long)); + memset_llong_FF(dest,(unsigned long)10 * sizeof(long long)); + memset_llong_FF(res,(unsigned long)10 * sizeof(long long)); return; } @@ -694,8 +696,8 @@ unsigned long long *memset_ullong_FF(unsigned long long *ptr, size_t len) void unsigned_long_long_integer(unsigned long long *dest) { unsigned long long *res = - memset_ullong_FF(dest,(unsigned int)10 * sizeof(unsigned long long)); - memset_ullong_FF(res,(unsigned int)10 * sizeof(unsigned long long)); + memset_ullong_FF(dest,(unsigned long)10 * sizeof(unsigned long long)); + memset_ullong_FF(res,(unsigned long)10 * sizeof(unsigned long long)); return; } @@ -720,15 +722,15 @@ float *memset_float_FF(float *ptr, size_t len) void floats(float *dest) { - float *res = memset_float_FF(dest,(unsigned int)10 * sizeof(float)); - memset_float_FF(res,(unsigned int)10 * sizeof(float)); + float *res = memset_float_FF(dest,(unsigned long)10 * sizeof(float)); + memset_float_FF(res,(unsigned long)10 * sizeof(float)); return; } void with_named(named *dest) { - named *res = memset_int_FF(dest,(unsigned int)10 * sizeof(named)); - memset_int_FF(res,(unsigned int)10 * sizeof(named)); + named *res = memset_int_FF(dest,(unsigned long)10 * sizeof(named)); + memset_int_FF(res,(unsigned long)10 * sizeof(named)); return; } @@ -756,21 +758,21 @@ struct X *memset_st_X_FF(struct X *ptr, size_t len) void structure(struct X *dest) { - struct X *res = memset_st_X_FF(dest,(unsigned int)10 * sizeof(struct X)); - memset_st_X_FF(res,(unsigned int)10 * sizeof(struct X)); + struct X *res = memset_st_X_FF(dest,(unsigned long)10 * sizeof(struct X)); + memset_st_X_FF(res,(unsigned long)10 * sizeof(struct X)); return; } -/*@ requires aligned_end: len % 4 ≡ 0; +/*@ requires aligned_end: len % 8 ≡ 0; requires - valid_dest: \let __fc_len = len / 4; \valid(ptr + (0 .. __fc_len - 1)); + valid_dest: \let __fc_len = len / 8; \valid(ptr + (0 .. __fc_len - 1)); ensures set_content: - \let __fc_len = \old(len) / 4; + \let __fc_len = \old(len) / 8; ∀ ℤ j0; 0 ≤ j0 < __fc_len ⇒ ¬\valid_read(*(\old(ptr) + j0)); ensures result: \result ≡ \old(ptr); - assigns *(ptr + (0 .. len / 4 - 1)), \result; - assigns *(ptr + (0 .. len / 4 - 1)) \from \nothing; + assigns *(ptr + (0 .. len / 8 - 1)), \result; + assigns *(ptr + (0 .. len / 8 - 1)) \from \nothing; assigns \result \from ptr; */ int **memset_ptr_int_FF(int **ptr, size_t len) @@ -782,8 +784,8 @@ int **memset_ptr_int_FF(int **ptr, size_t len) void pointers(int **dest) { - int **res = memset_ptr_int_FF(dest,(unsigned int)10 * sizeof(int *)); - memset_ptr_int_FF(res,(unsigned int)10 * sizeof(int *)); + int **res = memset_ptr_int_FF(dest,(unsigned long)10 * sizeof(int *)); + memset_ptr_int_FF(res,(unsigned long)10 * sizeof(int *)); return; } @@ -812,22 +814,22 @@ int (*memset_arr10_int_FF(int (*ptr)[10], size_t len))[10] void nested(int (*dest)[10], int n) { int (*res)[10] = - memset_arr10_int_FF(dest,(unsigned int)n * sizeof(int [10])); - memset_arr10_int_FF(res,(unsigned int)n * sizeof(int [10])); + memset_arr10_int_FF(dest,(unsigned long)n * sizeof(int [10])); + memset_arr10_int_FF(res,(unsigned long)n * sizeof(int [10])); return; } void with_void(void *dest) { - void *res = memset(dest,0xFF,(unsigned int)10); - memset(res,0xFF,(unsigned int)10); + void *res = memset(dest,0xFF,(unsigned long)10); + memset(res,0xFF,(unsigned long)10); return; } void with_null_or_int(void) { - memset((void *)0,0xFF,(unsigned int)10); - memset((void *)((int *)42),0xFF,(unsigned int)10); + memset((void *)0,0xFF,(unsigned long)10); + memset((void *)((int *)42),0xFF,(unsigned long)10); return; } diff --git a/src/plugins/instantiate/tests/string/oracle/memset_value.res.oracle b/src/plugins/instantiate/tests/string/oracle/memset_value.res.oracle index 5ece8370f6baf098afc773974cb82a40f53df732..d355aff8a40e29537ff7c18ffb93fd057512fd4b 100644 --- a/src/plugins/instantiate/tests/string/oracle/memset_value.res.oracle +++ b/src/plugins/instantiate/tests/string/oracle/memset_value.res.oracle @@ -68,8 +68,8 @@ char *memset_char(char *ptr, char value, size_t len) void chars(char * /*[10]*/ dest, char value) { - char *res = memset_char(dest,value,(unsigned int)10); - memset_char(res,value,(unsigned int)10); + char *res = memset_char(dest,value,(unsigned long)10); + memset_char(res,value,(unsigned long)10); return; } @@ -92,8 +92,8 @@ unsigned char *memset_uchar(unsigned char *ptr, unsigned char value, void uchars(char * /*[10]*/ dest, unsigned char value) { - unsigned char *res = memset_char(dest,(char)value,(unsigned int)10); - memset_uchar(res,value,(unsigned int)10); + unsigned char *res = memset_char(dest,(char)value,(unsigned long)10); + memset_uchar(res,value,(unsigned long)10); return; } @@ -120,73 +120,74 @@ char (*memset_arr10_char(char (*ptr)[10], char value, size_t len))[10] void nested_chars(char (* /*[10]*/ dest)[10], char value) { - char (*res)[10] = memset_arr10_char(dest,value,(unsigned int)100); - memset_arr10_char(res,value,(unsigned int)100); + char (*res)[10] = memset_arr10_char(dest,value,(unsigned long)100); + memset_arr10_char(res,value,(unsigned long)100); return; } void integer(int * /*[10]*/ dest, int value) { - int *res = memset((void *)dest,value,(unsigned int)10 * sizeof(int)); - memset((void *)res,value,(unsigned int)10 * sizeof(int)); + int *res = memset((void *)dest,value,(unsigned long)10 * sizeof(int)); + memset((void *)res,value,(unsigned long)10 * sizeof(int)); return; } void with_enum(enum E * /*[10]*/ dest, int value) { - enum E *res = memset((void *)dest,value,(unsigned int)10 * sizeof(enum E)); - memset((void *)res,value,(unsigned int)10 * sizeof(enum E)); + enum E *res = + memset((void *)dest,value,(unsigned long)10 * sizeof(enum E)); + memset((void *)res,value,(unsigned long)10 * sizeof(enum E)); return; } void with_named(named * /*[10]*/ dest, int value) { - named *res = memset((void *)dest,value,(unsigned int)10 * sizeof(named)); - memset((void *)res,value,(unsigned int)10 * sizeof(named)); + named *res = memset((void *)dest,value,(unsigned long)10 * sizeof(named)); + memset((void *)res,value,(unsigned long)10 * sizeof(named)); return; } void structure(struct X * /*[10]*/ dest, int value) { struct X *res = - memset((void *)dest,value,(unsigned int)10 * sizeof(struct X)); - memset((void *)res,value,(unsigned int)10 * sizeof(struct X)); + memset((void *)dest,value,(unsigned long)10 * sizeof(struct X)); + memset((void *)res,value,(unsigned long)10 * sizeof(struct X)); return; } void pointers(int ** /*[10]*/ dest, int value) { - int **res = memset((void *)dest,value,(unsigned int)10 * sizeof(int *)); - memset((void *)res,value,(unsigned int)10 * sizeof(int *)); + int **res = memset((void *)dest,value,(unsigned long)10 * sizeof(int *)); + memset((void *)res,value,(unsigned long)10 * sizeof(int *)); return; } void nested(int (*dest)[10], int n, int value) { int (*res)[10] = - memset((void *)dest,value,(unsigned int)n * sizeof(int [10])); - memset((void *)res,value,(unsigned int)n * sizeof(int [10])); + memset((void *)dest,value,(unsigned long)n * sizeof(int [10])); + memset((void *)res,value,(unsigned long)n * sizeof(int [10])); return; } void with_void(void *dest, int value) { - void *res = memset(dest,value,(unsigned int)10); - memset(res,value,(unsigned int)10); + void *res = memset(dest,value,(unsigned long)10); + memset(res,value,(unsigned long)10); return; } void with_incomplete(struct incomplete *dest, int value) { - struct incomplete *res = memset((void *)dest,value,(unsigned int)10); - memset((void *)res,value,(unsigned int)10); + struct incomplete *res = memset((void *)dest,value,(unsigned long)10); + memset((void *)res,value,(unsigned long)10); return; } void with_null_or_int(int value) { - memset((void *)0,value,(unsigned int)10); - memset((void *)((int *)42),value,(unsigned int)10); + memset((void *)0,value,(unsigned long)10); + memset((void *)((int *)42),value,(unsigned long)10); return; } @@ -227,8 +228,8 @@ char *memset_char(char *ptr, char value, size_t len) void chars(char *dest, char value) { - char *res = memset_char(dest,value,(unsigned int)10); - memset_char(res,value,(unsigned int)10); + char *res = memset_char(dest,value,(unsigned long)10); + memset_char(res,value,(unsigned long)10); return; } @@ -253,8 +254,8 @@ unsigned char *memset_uchar(unsigned char *ptr, unsigned char value, void uchars(char *dest, unsigned char value) { - unsigned char *res = memset_char(dest,(char)value,(unsigned int)10); - memset_uchar(res,value,(unsigned int)10); + unsigned char *res = memset_char(dest,(char)value,(unsigned long)10); + memset_uchar(res,value,(unsigned long)10); return; } @@ -282,73 +283,74 @@ char (*memset_arr10_char(char (*ptr)[10], char value, size_t len))[10] void nested_chars(char (*dest)[10], char value) { - char (*res)[10] = memset_arr10_char(dest,value,(unsigned int)100); - memset_arr10_char(res,value,(unsigned int)100); + char (*res)[10] = memset_arr10_char(dest,value,(unsigned long)100); + memset_arr10_char(res,value,(unsigned long)100); return; } void integer(int *dest, int value) { - int *res = memset((void *)dest,value,(unsigned int)10 * sizeof(int)); - memset((void *)res,value,(unsigned int)10 * sizeof(int)); + int *res = memset((void *)dest,value,(unsigned long)10 * sizeof(int)); + memset((void *)res,value,(unsigned long)10 * sizeof(int)); return; } void with_enum(enum E *dest, int value) { - enum E *res = memset((void *)dest,value,(unsigned int)10 * sizeof(enum E)); - memset((void *)res,value,(unsigned int)10 * sizeof(enum E)); + enum E *res = + memset((void *)dest,value,(unsigned long)10 * sizeof(enum E)); + memset((void *)res,value,(unsigned long)10 * sizeof(enum E)); return; } void with_named(named *dest, int value) { - named *res = memset((void *)dest,value,(unsigned int)10 * sizeof(named)); - memset((void *)res,value,(unsigned int)10 * sizeof(named)); + named *res = memset((void *)dest,value,(unsigned long)10 * sizeof(named)); + memset((void *)res,value,(unsigned long)10 * sizeof(named)); return; } void structure(struct X *dest, int value) { struct X *res = - memset((void *)dest,value,(unsigned int)10 * sizeof(struct X)); - memset((void *)res,value,(unsigned int)10 * sizeof(struct X)); + memset((void *)dest,value,(unsigned long)10 * sizeof(struct X)); + memset((void *)res,value,(unsigned long)10 * sizeof(struct X)); return; } void pointers(int **dest, int value) { - int **res = memset((void *)dest,value,(unsigned int)10 * sizeof(int *)); - memset((void *)res,value,(unsigned int)10 * sizeof(int *)); + int **res = memset((void *)dest,value,(unsigned long)10 * sizeof(int *)); + memset((void *)res,value,(unsigned long)10 * sizeof(int *)); return; } void nested(int (*dest)[10], int n, int value) { int (*res)[10] = - memset((void *)dest,value,(unsigned int)n * sizeof(int [10])); - memset((void *)res,value,(unsigned int)n * sizeof(int [10])); + memset((void *)dest,value,(unsigned long)n * sizeof(int [10])); + memset((void *)res,value,(unsigned long)n * sizeof(int [10])); return; } void with_void(void *dest, int value) { - void *res = memset(dest,value,(unsigned int)10); - memset(res,value,(unsigned int)10); + void *res = memset(dest,value,(unsigned long)10); + memset(res,value,(unsigned long)10); return; } void with_incomplete(struct incomplete *dest, int value) { - struct incomplete *res = memset((void *)dest,value,(unsigned int)10); - memset((void *)res,value,(unsigned int)10); + struct incomplete *res = memset((void *)dest,value,(unsigned long)10); + memset((void *)res,value,(unsigned long)10); return; } void with_null_or_int(int value) { - memset((void *)0,value,(unsigned int)10); - memset((void *)((int *)42),value,(unsigned int)10); + memset((void *)0,value,(unsigned long)10); + memset((void *)((int *)42),value,(unsigned long)10); return; } diff --git a/src/plugins/variadic/tests/defined/oracle/multiple-va_start.res.oracle b/src/plugins/variadic/tests/defined/oracle/multiple-va_start.res.oracle index 7369a68d0b2dff785f411483c5f39da4584de845..8b7c3751760dd97356c018c963be9e2e7b33ef1b 100644 --- a/src/plugins/variadic/tests/defined/oracle/multiple-va_start.res.oracle +++ b/src/plugins/variadic/tests/defined/oracle/multiple-va_start.res.oracle @@ -53,7 +53,7 @@ int *pack(int first, void * const *__va_params) if (! tmp) break; size ++; } - ret = (int *)malloc(sizeof(int) * (unsigned int)(size + 1)); + ret = (int *)malloc(sizeof(int) * (unsigned long)(size + 1)); *(ret + 0) = first; list = __va_params; i = 0; diff --git a/src/plugins/variadic/tests/defined/oracle/va_copy.res.oracle b/src/plugins/variadic/tests/defined/oracle/va_copy.res.oracle index 83a0ba4f9cf11e5afd51b149f043b7ed155f2658..f67c309b1b9ea8688ab4937b23366b6d7178504f 100644 --- a/src/plugins/variadic/tests/defined/oracle/va_copy.res.oracle +++ b/src/plugins/variadic/tests/defined/oracle/va_copy.res.oracle @@ -54,7 +54,7 @@ int *pack(int first, void * const *__va_params) if (! tmp) break; size ++; } - ret = (int *)malloc(sizeof(int) * (unsigned int)(size + 1)); + ret = (int *)malloc(sizeof(int) * (unsigned long)(size + 1)); *(ret + 0) = first; i = 0; while (i < size) { diff --git a/src/plugins/variadic/tests/known/oracle/printf.res.oracle b/src/plugins/variadic/tests/known/oracle/printf.res.oracle index 5dfc5110fbc51a13382b0667c59193994327797f..cac34c3b81106e48fc46ce258937ba54cea5230e 100644 --- a/src/plugins/variadic/tests/known/oracle/printf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf.res.oracle @@ -468,7 +468,7 @@ int printf_va_18(char const * __restrict format, size_t param0, __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), param0; */ -int printf_va_19(char const * __restrict format, unsigned long long param0); +int printf_va_19(char const * __restrict format, unsigned long param0); /*@ requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; @@ -494,7 +494,7 @@ int printf_va_20(char const * __restrict format, int param0); __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))), param0; */ -int printf_va_21(char const * __restrict format, unsigned long long param0); +int printf_va_21(char const * __restrict format, unsigned long param0); /*@ requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; @@ -617,9 +617,9 @@ int main(void) uintmax_t uj = (unsigned long long)42; double f = (double)42.0f; long double L = 42.0l; - uint64_t u64 = (unsigned long long)42ul; + uint64_t u64 = 42ul; int8_t i8 = (signed char)42; - uint_least64_t uleast64 = (unsigned long long)42u; + uint_least64_t uleast64 = (unsigned long)42u; int_fast32_t ifast32 = 42; printf("Hello world !\n"); /* printf_va_1 */ printf("%s%n",string,& i); /* printf_va_2 */ @@ -639,9 +639,9 @@ int main(void) printf("%llu ",ull); /* printf_va_16 */ printf("%jo ",uj); /* printf_va_17 */ printf("%zx %tX\n",z,t); /* printf_va_18 */ - printf("%llu",u64); /* printf_va_19 */ + printf("%lu",u64); /* printf_va_19 */ printf("%hhi",(int)i8); /* printf_va_20 */ - printf("%llx",uleast64); /* printf_va_21 */ + printf("%lx",uleast64); /* printf_va_21 */ printf("%d",ifast32); /* printf_va_22 */ printf("%f %Le\n",f,L); /* printf_va_23 */ printf("%c\n",(int)c); /* printf_va_24 */ diff --git a/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle index 18e298855651f28719771d12be1b821e2af2e8ee..3cecd8f9b1e42365b8af2c9e3217c941bd59aea4 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle @@ -26,7 +26,7 @@ The imprecision originates from Arithmetic {tests/known/printf_garbled_mix.c:6} [eva:alarm] tests/known/printf_garbled_mix.c:7: Warning: - pointer downcast. assert (unsigned int)b ≤ 2147483647; + pointer downcast. assert (unsigned long)b ≤ 2147483647; [eva] using specification for function printf_va_1 [eva] tests/known/printf_garbled_mix.c:8: Frama_C_show_each_nb_printed: [-2147483648..2147483647] @@ -68,8 +68,8 @@ int printf_va_1(char const * __restrict format, int param0); void main(void) { int a[2] = {1, 2}; - int *b = (int *)((unsigned int)(a) * (unsigned int)2); - /*@ assert Eva: pointer_downcast: (unsigned int)b ≤ 2147483647; */ + int *b = (int *)((unsigned long)(a) * (unsigned long)2); + /*@ assert Eva: pointer_downcast: (unsigned long)b ≤ 2147483647; */ int nb_printed = printf_va_1("%d",(int)b); Frama_C_show_each_nb_printed(nb_printed); b = (int *)0; diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle index e7804a787db53d028ac81c30cf7c26577f43b559..a9e71214ada7413c87b1325f0974ba0acf0d8d72 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle @@ -438,12 +438,20 @@ int main(void) Incorrect type for argument 2. The argument will be cast from int to unsigned int. [variadic] tests/known/printf_wrong_types.c:21: Translating call to printf to a call to the specialized version printf_va_4. +[variadic] tests/known/printf_wrong_types.c:21: Warning: + Incorrect type for argument 2. The argument will be cast from int to long. [variadic] tests/known/printf_wrong_types.c:22: Translating call to printf to a call to the specialized version printf_va_5. +[variadic] tests/known/printf_wrong_types.c:22: Warning: + Incorrect type for argument 2. The argument will be cast from long to int. [variadic] tests/known/printf_wrong_types.c:23: Translating call to printf to a call to the specialized version printf_va_6. +[variadic] tests/known/printf_wrong_types.c:23: Warning: + Incorrect type for argument 2. The argument will be cast from unsigned int to unsigned long. [variadic] tests/known/printf_wrong_types.c:24: Translating call to printf to a call to the specialized version printf_va_7. +[variadic] tests/known/printf_wrong_types.c:24: Warning: + Incorrect type for argument 2. The argument will be cast from unsigned long to unsigned int. [variadic] tests/known/printf_wrong_types.c:25: Translating call to printf to a call to the specialized version printf_va_8. [variadic] tests/known/printf_wrong_types.c:25: Warning: diff --git a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle index e8e49846730a17c80917b05866bcf50eea92871e..a55e9b9b9051ebaf7bd0333d33c1eaa6b3cad380 100644 --- a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle @@ -84,7 +84,7 @@ int main(void) int __retres; char data[100]; size_t tmp_0; - memset((void *)(data),'A',(unsigned int)99); + memset((void *)(data),'A',(unsigned long)99); data[99] = (char)0; char dest[50] = {(char)'\000'}; if (nondet) { diff --git a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle index 338a605bafc35c6667d7b4da2917eda828ad264c..505fe9d8346afc035f367aaf1005fad87644e19c 100644 --- a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle @@ -97,7 +97,7 @@ int main(void) int __retres; wchar_t data[100]; size_t tmp_0; - wmemset(data,65,(unsigned int)99); + wmemset(data,65,(unsigned long)99); data[99] = 0; wchar_t dest[50] = {0}; if (nondet) { diff --git a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle index 631396fece92093dd91c3a852c1af15dec335c3c..b0188cdf1525b78c8f76532497dad499c2bfd2ff 100644 --- a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle @@ -263,7 +263,7 @@ int main(void) "%" "E" "\\n" ,42.0,42.0,42.0); /* wprintf_va_4 */ wprintf((wchar_t const *)L"%" "*" "d" " " "\\n" ,4,2); /* wprintf_va_5 */ wprintf((wchar_t const *)L"%" "l" "s" " " "\\n" ,(wchar_t *)L"4" "2" ); /* wprintf_va_6 */ - swprintf(wstring,(unsigned int)0x100,(wchar_t const *)L"%" "s" " " "=" " " + swprintf(wstring,(unsigned long)0x100,(wchar_t const *)L"%" "s" " " "=" " " "%" "d" ,(char *)L"4" "2" " " "+" " " "4" "2" ,42 + 42); /* swprintf_va_1 */ wscanf((wchar_t const *)L"%" "l" "s" ,wstring); /* wscanf_va_1 */ wscanf((wchar_t const *)L"%" "d" " " "%" "d" ,& i,& j); /* wscanf_va_2 */ diff --git a/src/plugins/wp/tests/wp_plugin/oracle/overflow2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/overflow2.res.oracle index d2b0d3de19a44706760e2805d7c14e3c949490cf..b0e1722d9dc81cfbda055c5e99e3d235dad9eda0 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle/overflow2.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle/overflow2.res.oracle @@ -11,22 +11,22 @@ Prove: true. ------------------------------------------------------------ -Goal Assertion 'a01' (file tests/wp_plugin/overflow2.c, line 20): +Goal Assertion 'a01' (file tests/wp_plugin/overflow2.c, line 27): Prove: true. ------------------------------------------------------------ -Goal Assertion 'a02' (file tests/wp_plugin/overflow2.c, line 21): +Goal Assertion 'a02' (file tests/wp_plugin/overflow2.c, line 28): Prove: true. ------------------------------------------------------------ -Goal Assertion 'a03' (file tests/wp_plugin/overflow2.c, line 22): +Goal Assertion 'a03' (file tests/wp_plugin/overflow2.c, line 29): Prove: true. ------------------------------------------------------------ -Goal Assertion 'a04' (file tests/wp_plugin/overflow2.c, line 23): +Goal Assertion 'a04' (file tests/wp_plugin/overflow2.c, line 30): Assume { Type: is_sint16(distance_0) /\ is_uint32(p1_off_0). (* Pre-condition *) @@ -36,7 +36,7 @@ Prove: (p1_off_0 + to_uint16(distance_0)) <= 65545. ------------------------------------------------------------ -Goal Assertion 'a05' (file tests/wp_plugin/overflow2.c, line 24): +Goal Assertion 'a05' (file tests/wp_plugin/overflow2.c, line 31): Let x = p1_off_0 + to_uint16(distance_0). Assume { Type: is_sint16(distance_0) /\ is_uint32(p1_off_0). @@ -49,7 +49,7 @@ Prove: x = to_uint32(x). ------------------------------------------------------------ -Goal Assigns (file tests/wp_plugin/overflow2.c, line 14) in 'pointers_and_companions': +Goal Assigns (file tests/wp_plugin/overflow2.c, line 21) in 'pointers_and_companions': Prove: true. ------------------------------------------------------------ @@ -62,22 +62,22 @@ Prove: true. ------------------------------------------------------------ -Goal Assertion 'a06' (file tests/wp_plugin/overflow2.c, line 39): +Goal Assertion 'a06' (file tests/wp_plugin/overflow2.c, line 46): Prove: true. ------------------------------------------------------------ -Goal Assertion 'a07' (file tests/wp_plugin/overflow2.c, line 40): +Goal Assertion 'a07' (file tests/wp_plugin/overflow2.c, line 47): Prove: true. ------------------------------------------------------------ -Goal Assertion 'a08' (file tests/wp_plugin/overflow2.c, line 41): +Goal Assertion 'a08' (file tests/wp_plugin/overflow2.c, line 48): Prove: true. ------------------------------------------------------------ -Goal Assertion 'a09' (file tests/wp_plugin/overflow2.c, line 42): +Goal Assertion 'a09' (file tests/wp_plugin/overflow2.c, line 49): Assume { Type: is_sint16(distance_0) /\ is_uint32(p1_off_alt_0). (* Pre-condition *) @@ -87,7 +87,7 @@ Prove: (p1_off_alt_0 + to_uint16(distance_0)) <= 65545. ------------------------------------------------------------ -Goal Assertion 'a10' (file tests/wp_plugin/overflow2.c, line 43): +Goal Assertion 'a10' (file tests/wp_plugin/overflow2.c, line 50): Let x = p1_off_alt_0 + to_uint16(distance_0). Assume { Type: is_sint16(distance_0) /\ is_uint32(p1_off_alt_0). @@ -100,7 +100,7 @@ Prove: x = to_uint32(x). ------------------------------------------------------------ -Goal Assigns (file tests/wp_plugin/overflow2.c, line 33) in 'pointers_and_companions_ulong': +Goal Assigns (file tests/wp_plugin/overflow2.c, line 40) in 'pointers_and_companions_ulong': Prove: true. ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle index aa233aaddc79ff44a7e2d47e4989bc411e4ac984..1774140d9e302ec8df478218bdb65ad6665dd498 100644 --- a/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle +++ b/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle @@ -7,7 +7,7 @@ Goal Post-condition 'copied_contents' in 'memcpy': Let a = shift_sint8(dest_0, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Assume { - Type: is_uint32(i) /\ is_uint32(n). + Type: is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -37,7 +37,7 @@ Goal Preservation of Invariant 'no_eva' (file FRAMAC_SHARE/libc/string.c, line 3 Let a = shift_sint8(dest_0, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Assume { - Type: is_uint32(i) /\ is_uint32(n). + Type: is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -53,13 +53,13 @@ Assume { (* Then *) Have: i < n. } -Prove: to_uint32(1 + i) <= n. +Prove: to_uint64(1 + i) <= n. ------------------------------------------------------------ Goal Establishment of Invariant 'no_eva' (file FRAMAC_SHARE/libc/string.c, line 33): Assume { - Type: is_uint32(n). + Type: is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0). @@ -77,12 +77,12 @@ Let a = shift_sint8(dest_0, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = a_1[shift_sint8(dest_0, i) <- a_1[shift_sint8(src_0, i)]]. Assume { - Type: is_uint32(i) /\ is_uint32(n). + Type: is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). (* Goal *) - When: (0 <= i_1) /\ (i_1 < to_uint32(1 + i)). + When: (0 <= i_1) /\ (i_1 < to_uint64(1 + i)). (* Pre-condition *) Have: P_valid_or_empty(Malloc_0, dest_0, n) /\ P_valid_read_or_empty(Malloc_0, src_0, n) /\ @@ -121,7 +121,7 @@ Let a = shift_sint8(dest_0, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(dest_0, i). Assume { - Type: is_uint32(i) /\ is_uint32(n). + Type: is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -153,7 +153,7 @@ Goal Decreasing of Loop variant at loop (file FRAMAC_SHARE/libc/string.c, line 3 Let a = shift_sint8(dest_0, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Assume { - Type: is_uint32(i) /\ is_uint32(n). + Type: is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -169,7 +169,7 @@ Assume { (* Then *) Have: i < n. } -Prove: i < to_uint32(1 + i). +Prove: i < to_uint64(1 + i). ------------------------------------------------------------ @@ -180,8 +180,8 @@ Prove: true. Goal Post-condition 'copied_contents' in 'memmove': Assume { - Type: is_uint32(i) /\ is_uint32(i_1) /\ is_uint32(n) /\ - is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(i_1) /\ + is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -252,7 +252,7 @@ Let a = shift_sint8(dest_0, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(src_0, 0). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -280,7 +280,7 @@ Assume { (* Then *) Have: i < n. } -Prove: to_uint32(1 + i) <= n. +Prove: to_uint64(1 + i) <= n. ------------------------------------------------------------ @@ -288,7 +288,7 @@ Goal Establishment of Invariant 'no_eva' (file FRAMAC_SHARE/libc/string.c, line Let a = shift_sint8(d, 0). Let a_1 = shift_sint8(s, 0). Assume { - Type: is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(n). (* Heap *) Type: (region(d.base) <= 0) /\ (region(s.base) <= 0) /\ linked(Malloc_0). (* Pre-condition *) @@ -314,12 +314,12 @@ Let a = shift_sint8(d, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(s, 0). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(d.base) <= 0) /\ (region(s.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). (* Goal *) - When: (0 <= i_1) /\ (i_1 < to_uint32(1 + i)). + When: (0 <= i_1) /\ (i_1 < to_uint64(1 + i)). (* Pre-condition *) Have: P_valid_or_empty(Malloc_0, d, n) /\ P_valid_read_or_empty(Malloc_0, s, n). @@ -360,12 +360,12 @@ Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(s, 0). Let a_3 = shift_sint8(s, i_1). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(d.base) <= 0) /\ (region(s.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). (* Goal *) - When: (i_1 < n) /\ (to_uint32(1 + i) <= i_1). + When: (i_1 < n) /\ (to_uint64(1 + i) <= i_1). (* Pre-condition *) Have: P_valid_or_empty(Malloc_0, d, n) /\ P_valid_read_or_empty(Malloc_0, s, n). @@ -404,7 +404,7 @@ Let a = shift_sint8(dest_0, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(src_0, 0). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -432,7 +432,7 @@ Assume { (* Then *) Have: 0 < i. } -Prove: to_uint32(i - 1) < n. +Prove: to_uint64(i - 1) < n. ------------------------------------------------------------ @@ -440,7 +440,7 @@ Goal Establishment of Invariant 'no_eva' (file FRAMAC_SHARE/libc/string.c, line Let a = shift_sint8(d, 0). Let a_1 = shift_sint8(s, 0). Assume { - Type: is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(n). (* Heap *) Type: (region(d.base) <= 0) /\ (region(s.base) <= 0) /\ linked(Malloc_0). (* Pre-condition *) @@ -457,7 +457,7 @@ Assume { (* Else *) Have: 0 < memoverlap_0. } -Prove: to_uint32(n - 1) < n. +Prove: to_uint64(n - 1) < n. ------------------------------------------------------------ @@ -466,12 +466,12 @@ Let a = shift_sint8(d, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(s, 0). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(d.base) <= 0) /\ (region(s.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). (* Goal *) - When: (i_1 < n) /\ (to_uint32(i - 1) < i_1). + When: (i_1 < n) /\ (to_uint64(i - 1) < i_1). (* Pre-condition *) Have: P_valid_or_empty(Malloc_0, d, n) /\ P_valid_read_or_empty(Malloc_0, s, n). @@ -505,12 +505,12 @@ Goal Establishment of Invariant 'no_eva' (file FRAMAC_SHARE/libc/string.c, line Let a = shift_sint8(dest_0, 0). Let a_1 = shift_sint8(src_0, 0). Assume { - Type: is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). (* Goal *) - When: (i < n) /\ (to_uint32(n - 1) < i). + When: (i < n) /\ (to_uint64(n - 1) < i). (* Pre-condition *) Have: P_valid_or_empty(Malloc_0, dest_0, n) /\ P_valid_read_or_empty(Malloc_0, src_0, n). @@ -535,12 +535,12 @@ Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(s, 0). Let a_3 = shift_sint8(s, i_1). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(d.base) <= 0) /\ (region(s.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). (* Goal *) - When: (0 <= i_1) /\ (i_1 <= to_uint32(i - 1)). + When: (0 <= i_1) /\ (i_1 <= to_uint64(i - 1)). (* Pre-condition *) Have: P_valid_or_empty(Malloc_0, d, n) /\ P_valid_read_or_empty(Malloc_0, s, n). @@ -592,7 +592,7 @@ Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(src_0, 0). Let a_3 = shift_sint8(d, i). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(d.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -644,7 +644,7 @@ Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(src_0, 0). Let a_3 = shift_sint8(d, i). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(d.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -718,7 +718,7 @@ Let a = shift_sint8(d, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(src_0, 0). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(d.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -763,7 +763,7 @@ Let a = shift_sint8(dest_0, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(src_0, 0). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -791,7 +791,7 @@ Assume { (* Then *) Have: i < n. } -Prove: i < to_uint32(1 + i). +Prove: i < to_uint64(1 + i). ------------------------------------------------------------ @@ -805,7 +805,7 @@ Let a = shift_sint8(dest_0, 0). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n). Let a_2 = shift_sint8(src_0, 0). Assume { - Type: is_uint32(i) /\ is_uint32(n) /\ is_sint32(memoverlap_0). + Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n). (* Heap *) Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\ linked(Malloc_0) /\ sconst(Mchar_0). @@ -833,7 +833,7 @@ Assume { (* Then *) Have: 0 < i. } -Prove: to_uint32(i - 1) < i. +Prove: to_uint64(i - 1) < i. ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_plugin/overflow2.c b/src/plugins/wp/tests/wp_plugin/overflow2.c index f2a27e3b194a6c9b7d4b28557390cf44a082e05a..da847d4d3562491444bacd4a818ff35c4312eb34 100644 --- a/src/plugins/wp/tests/wp_plugin/overflow2.c +++ b/src/plugins/wp/tests/wp_plugin/overflow2.c @@ -1,3 +1,10 @@ +/* run.config + OPT: -machdep x86_32 +*/ +/* run.config_qualif + OPT: -machdep x86_32 +*/ + /* run with: frama-c-gui -wp -wp-rte strange_work_again.c */ // uproven: a04, a05, a09, a10 // note that when the type of distance is ushort, all is proven diff --git a/src/plugins/wp/tests/wp_region/oracle/fb_ADD/region/job.dot b/src/plugins/wp/tests/wp_region/oracle/fb_ADD/region/job.dot index eb1fa949b61292f0492473059be5e7da8c88292c..c6648e78e8fafdbed4725292d27a9c09e54893e1 100644 --- a/src/plugins/wp/tests/wp_region/oracle/fb_ADD/region/job.dot +++ b/src/plugins/wp/tests/wp_region/oracle/fb_ADD/region/job.dot @@ -15,12 +15,12 @@ digraph "job" { _003 [ label="roots:&fb", style="filled", color="lightblue", shape="box" ]; { rank=same; A001; _003; } _003 -> A001 [ arrowhead="tee" ]; - _004 [ shape="record", label="<_p1> 128..159: D32|<_p2> 160..191: D32" ]; + _004 [ shape="record", label="<_p1> 256..319: D64|<_p2> 320..383: D64" ]; _004:_p2 -> A003 [ style="dotted" ]; _004:_p1 -> A002 [ style="dotted" ]; A001 -> _004:w [ arrowhead="tee" ]; A002 [ label="D", shape="oval" ]; - _005 [ label="roots:&fb+128", style="filled", color="lightblue", + _005 [ label="roots:&fb+256", style="filled", color="lightblue", shape="box" ]; { rank=same; A002; _005; } @@ -29,7 +29,7 @@ digraph "job" { _006:_p1 -> A004:w [ taillabel="*", labelangle="+30", color="red" ]; A002 -> _006:w [ arrowhead="tee" ]; A003 [ label="D", shape="oval" ]; - _007 [ label="roots:&fb+160", style="filled", color="lightblue", + _007 [ label="roots:&fb+320", style="filled", color="lightblue", shape="box" ]; { rank=same; A003; _007; } @@ -38,7 +38,7 @@ digraph "job" { _008:_p1 -> A005:w [ taillabel="*", labelangle="+30", color="red" ]; A003 -> _008:w [ arrowhead="tee" ]; A004 [ label="", shape="oval" ]; - _009 [ label="roots:&fb+128", style="filled", color="lightblue", + _009 [ label="roots:&fb+256", style="filled", color="lightblue", shape="box" ]; { rank=same; A004; _009; } @@ -48,7 +48,7 @@ digraph "job" { _010:_p1 -> A006 [ style="dotted" ]; A004 -> _010:w [ arrowhead="tee" ]; A005 [ label="", shape="oval" ]; - _011 [ label="roots:&fb+160", style="filled", color="lightblue", + _011 [ label="roots:&fb+320", style="filled", color="lightblue", shape="box" ]; { rank=same; A005; _011; } @@ -58,7 +58,7 @@ digraph "job" { _012:_p1 -> A008 [ style="dotted" ]; A005 -> _012:w [ arrowhead="tee" ]; A006 [ label="RW", shape="oval", fillcolor="green", style="filled" ]; - _013 [ label="roots:&fb+128", style="filled", color="lightblue", + _013 [ label="roots:&fb+256", style="filled", color="lightblue", shape="box" ]; { rank=same; A006; _013; } @@ -66,7 +66,7 @@ digraph "job" { _014 [ shape="record", label="Var float64" ]; A006 -> _014:w [ arrowhead="tee" ]; A007 [ label="RW", shape="oval", fillcolor="green", style="filled" ]; - _015 [ label="roots:&fb+192", style="filled", color="lightblue", + _015 [ label="roots:&fb+320", style="filled", color="lightblue", shape="box" ]; { rank=same; A007; _015; } @@ -74,7 +74,7 @@ digraph "job" { _016 [ shape="record", label="Var sint32" ]; A007 -> _016:w [ arrowhead="tee" ]; A008 [ label="R", shape="oval", fillcolor="green", style="filled" ]; - _017 [ label="roots:&fb+160", style="filled", color="lightblue", + _017 [ label="roots:&fb+320", style="filled", color="lightblue", shape="box" ]; { rank=same; A008; _017; } @@ -82,7 +82,7 @@ digraph "job" { _018 [ shape="record", label="Var float64" ]; A008 -> _018:w [ arrowhead="tee" ]; A009 [ label="R", shape="oval", fillcolor="green", style="filled" ]; - _019 [ label="roots:&fb+224", style="filled", color="lightblue", + _019 [ label="roots:&fb+384", style="filled", color="lightblue", shape="box" ]; { rank=same; A009; _019; } diff --git a/src/plugins/wp/tests/wp_region/oracle/fb_SORT/region/job.dot b/src/plugins/wp/tests/wp_region/oracle/fb_SORT/region/job.dot index 4cbd5b27d23593f242fbdb78151766885a29f883..c278bffd20975f825e0e81a8884920114b062563 100644 --- a/src/plugins/wp/tests/wp_region/oracle/fb_SORT/region/job.dot +++ b/src/plugins/wp/tests/wp_region/oracle/fb_SORT/region/job.dot @@ -45,7 +45,7 @@ digraph "job" { { rank=same; A005; _011; } _011 -> A005 [ arrowhead="tee" ]; _012 [ shape="record", - label="<_p1> 0..31: D32|<_p2> 32..127: D32[3]|<_p3> 128..223: D32[3]|<_p4> 224..319: D32[3]|<_p5> 320..351: D32" + label="<_p1> 0..63: D64|<_p2> 64..255: D64[3]|<_p3> 256..447: D64[3]|<_p4> 448..639: D64[3]|<_p5> 640..703: D64" ]; _012:_p5 -> A010 [ style="dotted" ]; _012:_p4 -> A008 [ style="dotted" ]; @@ -82,7 +82,7 @@ digraph "job" { _020:_p1 -> A014:w [ taillabel="*", labelangle="+30", color="red" ]; A009 -> _020:w [ arrowhead="tee" ]; A010 [ label="D", shape="oval" ]; - _021 [ label="roots:&fb+320", style="filled", color="lightblue", + _021 [ label="roots:&fb+640", style="filled", color="lightblue", shape="box" ]; { rank=same; A010; _021; } @@ -122,7 +122,7 @@ digraph "job" { _030:_p1 -> A022 [ style="dotted" ]; A014 -> _030:w [ arrowhead="tee" ]; A015 [ label="", shape="oval" ]; - _031 [ label="roots:&fb+320", style="filled", color="lightblue", + _031 [ label="roots:&fb+640", style="filled", color="lightblue", shape="box" ]; { rank=same; A015; _031; } @@ -174,7 +174,7 @@ digraph "job" { _046 [ shape="record", label="Var float64" ]; A022 -> _046:w [ arrowhead="tee" ]; A023 [ label="W", shape="oval", fillcolor="green", style="filled" ]; - _047 [ label="roots:&fb+320", style="filled", color="lightblue", + _047 [ label="roots:&fb+640", style="filled", color="lightblue", shape="box" ]; { rank=same; A023; _047; } @@ -182,7 +182,7 @@ digraph "job" { _048 [ shape="record", label="Var float64" ]; A023 -> _048:w [ arrowhead="tee" ]; A024 [ label="W", shape="oval", fillcolor="green", style="filled" ]; - _049 [ label="roots:&fb+384", style="filled", color="lightblue", + _049 [ label="roots:&fb+704", style="filled", color="lightblue", shape="box" ]; { rank=same; A024; _049; } diff --git a/src/plugins/wp/tests/wp_typed/oracle/multi_matrix_types.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/multi_matrix_types.res.oracle index 227396b81fc86ba80567eeabd929f294548f09d9..81c5c6cc27c89fb40c7d4fd8e0da2b62242ca279 100644 --- a/src/plugins/wp/tests/wp_typed/oracle/multi_matrix_types.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle/multi_matrix_types.res.oracle @@ -25,7 +25,7 @@ theory Matrix predicate IsArray_uint32 (t:int -> int) = forall i:int. is_uint32 (get t i) - predicate IsArray_sint32 (t:int -> int) = forall i:int. is_sint32 (get t i) + predicate IsArray_sint64 (t:int -> int) = forall i:int. is_sint64 (get t i) predicate EqArray_int (n:int) (t:int -> int) (t1:int -> int) = forall i:int. 0 <= i -> i < n -> get t1 i = get t i @@ -54,7 +54,7 @@ theory S1_S (* use Matrix *) predicate IsS1_S (s:S1_S) = - (IsArray_sint32 (F1_S_b s) /\ IsArray_uint32 (F1_S_a s)) /\ + (IsArray_sint64 (F1_S_b s) /\ IsArray_uint32 (F1_S_a s)) /\ is_sint32 (F1_S_f s) predicate EqS1_S (s:S1_S) (s1:S1_S) = @@ -91,16 +91,17 @@ theory Compound function shiftfield_F1_S_b (p:addr) : addr = shift p 6 - function shift_sint32 (p:addr) (k:int) : addr = shift p k + function shift_sint64 (p:addr) (k:int) : addr = shift p k - function Array_sint32 addr int (addr -> int) : int -> int + function Array_sint64 addr int (addr -> int) : int -> int (* use S1_S *) - function Load_S1_S (p:addr) (mint:addr -> int) (mint1:addr -> int) : S1_S = + function Load_S1_S (p:addr) (mint:addr -> int) (mint1:addr -> int) (mint2: + addr -> int) : S1_S = S1_S1 (get mint1 (shiftfield_F1_S_f p)) (Array_uint32 (shiftfield_F1_S_a p) 5 mint) - (Array_sint32 (shiftfield_F1_S_b p) 5 mint1) + (Array_sint64 (shiftfield_F1_S_b p) 5 mint2) Q_Array_uint32_access : forall mint:addr -> int, i:int, n:int, p:addr @@ -126,67 +127,98 @@ theory Compound separated p 1 q n1 -> Array_uint32 p n (havoc mint1 mint q n1) = Array_uint32 p n mint - Q_Array_sint32_access : + Q_Array_sint64_access : forall mint:addr -> int, i:int, n:int, p:addr - [get (Array_sint32 p n mint) i]. + [get (Array_sint64 p n mint) i]. 0 <= i -> - i < n -> get (Array_sint32 p n mint) i = get mint (shift_sint32 p i) + i < n -> get (Array_sint64 p n mint) i = get mint (shift_sint64 p i) - Q_Array_sint32_update_Mint0 : + Q_Array_sint64_update_Mint0 : forall mint:addr -> int, n:int, p:addr, q:addr, v:int - [Array_sint32 p n (set mint q v)]. - not q = p -> Array_sint32 p n (set mint q v) = Array_sint32 p n mint + [Array_sint64 p n (set mint q v)]. + not q = p -> Array_sint64 p n (set mint q v) = Array_sint64 p n mint - Q_Array_sint32_eqmem_Mint0 : + Q_Array_sint64_eqmem_Mint0 : forall mint:addr -> int, mint1:addr -> int, n:int, n1:int, p:addr, q:addr - [Array_sint32 p n mint, eqmem mint mint1 q n1| Array_sint32 p n mint1, + [Array_sint64 p n mint, eqmem mint mint1 q n1| Array_sint64 p n mint1, eqmem mint mint1 q n1]. included p 1 q n1 -> - eqmem mint mint1 q n1 -> Array_sint32 p n mint1 = Array_sint32 p n mint + eqmem mint mint1 q n1 -> Array_sint64 p n mint1 = Array_sint64 p n mint - Q_Array_sint32_havoc_Mint0 : + Q_Array_sint64_havoc_Mint0 : forall mint:addr -> int, mint1:addr -> int, n:int, n1:int, p:addr, q:addr - [Array_sint32 p n (havoc mint1 mint q n1)]. + [Array_sint64 p n (havoc mint1 mint q n1)]. separated p 1 q n1 -> - Array_sint32 p n (havoc mint1 mint q n1) = Array_sint32 p n mint + Array_sint64 p n (havoc mint1 mint q n1) = Array_sint64 p n mint Q_Load_S1_S_update_Mint0 : - forall mint:addr -> int, mint1:addr -> int, p:addr, q:addr, v:int - [Load_S1_S p (set mint q v) mint1]. + forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, p:addr, q: + addr, v:int [Load_S1_S p (set mint q v) mint1 mint2]. separated p 11 q 1 -> - Load_S1_S p (set mint q v) mint1 = Load_S1_S p mint mint1 + Load_S1_S p (set mint q v) mint1 mint2 = Load_S1_S p mint mint1 mint2 Q_Load_S1_S_eqmem_Mint0 : - forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, n:int, p: - addr, q:addr [Load_S1_S p mint mint2, eqmem mint mint1 q n| - Load_S1_S p mint1 mint2, eqmem mint mint1 q n]. + forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, mint3:addr + -> int, n:int, p:addr, q:addr [Load_S1_S p mint mint2 mint3, + eqmem mint mint1 q n| Load_S1_S p mint1 mint2 mint3, + eqmem mint mint1 q n]. included p 11 q n -> - eqmem mint mint1 q n -> Load_S1_S p mint1 mint2 = Load_S1_S p mint mint2 + eqmem mint mint1 q n -> + Load_S1_S p mint1 mint2 mint3 = Load_S1_S p mint mint2 mint3 Q_Load_S1_S_havoc_Mint0 : - forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, n:int, p: - addr, q:addr [Load_S1_S p (havoc mint1 mint q n) mint2]. + forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, mint3:addr + -> int, n:int, p:addr, q:addr + [Load_S1_S p (havoc mint1 mint q n) mint2 mint3]. separated p 11 q n -> - Load_S1_S p (havoc mint1 mint q n) mint2 = Load_S1_S p mint mint2 + Load_S1_S p (havoc mint1 mint q n) mint2 mint3 + = Load_S1_S p mint mint2 mint3 Q_Load_S1_S_update_Mint1 : - forall mint:addr -> int, mint1:addr -> int, p:addr, q:addr, v:int - [Load_S1_S p mint1 (set mint q v)]. + forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, p:addr, q: + addr, v:int [Load_S1_S p mint2 (set mint1 q v) mint]. separated p 11 q 1 -> - Load_S1_S p mint1 (set mint q v) = Load_S1_S p mint1 mint + Load_S1_S p mint2 (set mint1 q v) mint = Load_S1_S p mint2 mint1 mint Q_Load_S1_S_eqmem_Mint1 : - forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, n:int, p: - addr, q:addr [Load_S1_S p mint2 mint, eqmem mint mint1 q n| - Load_S1_S p mint2 mint1, eqmem mint mint1 q n]. + forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, mint3:addr + -> int, n:int, p:addr, q:addr [Load_S1_S p mint3 mint1 mint, + eqmem mint1 mint2 q n| Load_S1_S p mint3 mint2 mint, + eqmem mint1 mint2 q n]. included p 11 q n -> - eqmem mint mint1 q n -> Load_S1_S p mint2 mint1 = Load_S1_S p mint2 mint + eqmem mint1 mint2 q n -> + Load_S1_S p mint3 mint2 mint = Load_S1_S p mint3 mint1 mint Q_Load_S1_S_havoc_Mint1 : - forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, n:int, p: - addr, q:addr [Load_S1_S p mint2 (havoc mint1 mint q n)]. + forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, mint3:addr + -> int, n:int, p:addr, q:addr + [Load_S1_S p mint3 (havoc mint2 mint1 q n) mint]. separated p 11 q n -> - Load_S1_S p mint2 (havoc mint1 mint q n) = Load_S1_S p mint2 mint + Load_S1_S p mint3 (havoc mint2 mint1 q n) mint + = Load_S1_S p mint3 mint1 mint + + Q_Load_S1_S_update_Mint2 : + forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, p:addr, q: + addr, v:int [Load_S1_S p mint1 mint (set mint2 q v)]. + separated p 11 q 1 -> + Load_S1_S p mint1 mint (set mint2 q v) = Load_S1_S p mint1 mint mint2 + + Q_Load_S1_S_eqmem_Mint2 : + forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, mint3:addr + -> int, n:int, p:addr, q:addr [Load_S1_S p mint1 mint mint2, + eqmem mint2 mint3 q n| Load_S1_S p mint1 mint mint3, + eqmem mint2 mint3 q n]. + included p 11 q n -> + eqmem mint2 mint3 q n -> + Load_S1_S p mint1 mint mint3 = Load_S1_S p mint1 mint mint2 + + Q_Load_S1_S_havoc_Mint2 : + forall mint:addr -> int, mint1:addr -> int, mint2:addr -> int, mint3:addr + -> int, n:int, p:addr, q:addr + [Load_S1_S p mint1 mint (havoc mint3 mint2 q n)]. + separated p 11 q n -> + Load_S1_S p mint1 mint (havoc mint3 mint2 q n) + = Load_S1_S p mint1 mint mint2 end [wp:print-generated] theory WP @@ -211,9 +243,9 @@ end (* use Compound *) goal wp_goal : - forall t:addr -> int, t1:addr -> int, a:addr, i:int. - let a1 = Load_S1_S a t t1 in - let a2 = Load_S1_S a t (set t1 (shiftfield_F1_S_f a) i) in + forall t:addr -> int, t1:addr -> int, t2:addr -> int, a:addr, i:int. + let a1 = Load_S1_S a t t2 t1 in + let a2 = Load_S1_S a t (set t2 (shiftfield_F1_S_f a) i) t1 in region (base a) <= 0 -> IsS1_S a1 -> IsS1_S a2 -> EqS1_S a2 a1 end [wp] 1 goal generated @@ -222,8 +254,8 @@ end ------------------------------------------------------------ Goal Post-condition (file tests/wp_typed/multi_matrix_types.i, line 10) in 'job': -Let a = Load_S1_S(p, Mint_0, Mint_1). -Let a_1 = Load_S1_S(p, Mint_0, Mint_1[shiftfield_F1_S_f(p) <- v]). +Let a = Load_S1_S(p, Mint_0, Mint_1, Mint_2). +Let a_1 = Load_S1_S(p, Mint_0, Mint_1[shiftfield_F1_S_f(p) <- v], Mint_2). Assume { Type: IsS1_S(a) /\ IsS1_S(a_1). (* Heap *) diff --git a/src/plugins/wp/tests/wp_typed/oracle/unit_bitwise.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/unit_bitwise.res.oracle index 6bddd899e5d968db9988a8569ae23c1ecafcadfd..80bd40ad07f2f205835223f78db2855a2747d30e 100644 --- a/src/plugins/wp/tests/wp_typed/oracle/unit_bitwise.res.oracle +++ b/src/plugins/wp/tests/wp_typed/oracle/unit_bitwise.res.oracle @@ -175,7 +175,7 @@ Prove: true. ------------------------------------------------------------ Goal Assertion 'ok' (file tests/wp_typed/unit_bitwise.c, line 170): -Let x = land(1, a). Assume { Type: is_uint32(a) /\ is_uint32(x). } +Let x = land(1, a). Assume { Type: is_uint64(a) /\ is_uint64(x). } Prove: 0 <= x. ------------------------------------------------------------ diff --git a/src/plugins/wp/tests/wp_typed/user_string.i b/src/plugins/wp/tests/wp_typed/user_string.i index ccadee77578d841643733fd8ebae1cc3bee7d6ce..228942a2a3778ab4f79800bcb2cca303f5504707 100644 --- a/src/plugins/wp/tests/wp_typed/user_string.i +++ b/src/plugins/wp/tests/wp_typed/user_string.i @@ -22,7 +22,7 @@ assigns \nothing; ensures \exists integer i; Length_of_str_is(s,i) && \result == i; @*/ -int strlen(const char *s) { +long long strlen(const char *s) { const char *ss = s; /*@ loop invariant BASE: \base_addr(s) == \base_addr(ss) ; diff --git a/tests/builtins/test_config b/tests/builtins/test_config index e5aae7331927957a07fa55967355b78ed147f1b5..365fdc8d48cbda0c83335a388b0cf9b0d7ceb848 100644 --- a/tests/builtins/test_config +++ b/tests/builtins/test_config @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS @EVA_OPTIONS@ -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/builtins/test_config_apron b/tests/builtins/test_config_apron index e5aae7331927957a07fa55967355b78ed147f1b5..365fdc8d48cbda0c83335a388b0cf9b0d7ceb848 100644 --- a/tests/builtins/test_config_apron +++ b/tests/builtins/test_config_apron @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS @EVA_OPTIONS@ -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/builtins/test_config_bitwise b/tests/builtins/test_config_bitwise index e5aae7331927957a07fa55967355b78ed147f1b5..365fdc8d48cbda0c83335a388b0cf9b0d7ceb848 100644 --- a/tests/builtins/test_config_bitwise +++ b/tests/builtins/test_config_bitwise @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS @EVA_OPTIONS@ -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/builtins/test_config_equalities b/tests/builtins/test_config_equalities index e5aae7331927957a07fa55967355b78ed147f1b5..365fdc8d48cbda0c83335a388b0cf9b0d7ceb848 100644 --- a/tests/builtins/test_config_equalities +++ b/tests/builtins/test_config_equalities @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS @EVA_OPTIONS@ -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/builtins/test_config_gauges b/tests/builtins/test_config_gauges index e5aae7331927957a07fa55967355b78ed147f1b5..365fdc8d48cbda0c83335a388b0cf9b0d7ceb848 100644 --- a/tests/builtins/test_config_gauges +++ b/tests/builtins/test_config_gauges @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS @EVA_OPTIONS@ -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/builtins/test_config_octagons b/tests/builtins/test_config_octagons index e5aae7331927957a07fa55967355b78ed147f1b5..365fdc8d48cbda0c83335a388b0cf9b0d7ceb848 100644 --- a/tests/builtins/test_config_octagons +++ b/tests/builtins/test_config_octagons @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS @EVA_OPTIONS@ -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/builtins/test_config_symblocs b/tests/builtins/test_config_symblocs index e5aae7331927957a07fa55967355b78ed147f1b5..365fdc8d48cbda0c83335a388b0cf9b0d7ceb848 100644 --- a/tests/builtins/test_config_symblocs +++ b/tests/builtins/test_config_symblocs @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS @EVA_OPTIONS@ -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/cil/mkBinOp.i b/tests/cil/mkBinOp.i index 1bab30cf83cef46281180438db232f21b9d1224b..ebf24f803a0115aca137855c9a076f888475e119 100644 --- a/tests/cil/mkBinOp.i +++ b/tests/cil/mkBinOp.i @@ -1,6 +1,6 @@ /* run.config EXECNOW: make -s @PTEST_DIR@/@PTEST_NAME@.cmxs -OPT: -no-autoload-plugins -load-module @PTEST_DIR@/@PTEST_NAME@.cmxs -print -constfold +OPT: -machdep x86_32 -no-autoload-plugins -load-module @PTEST_DIR@/@PTEST_NAME@.cmxs -print -constfold */ int main(void) { diff --git a/tests/constant_propagation/const_globals.c b/tests/constant_propagation/const_globals.c index 41d302fc9106813b0a3da4c52b48ffac1de18349..355a01b498734788a754838b8bde297d78ced63c 100644 --- a/tests/constant_propagation/const_globals.c +++ b/tests/constant_propagation/const_globals.c @@ -1,5 +1,5 @@ /* run.config - OPT: -constfold -print -journal-disable + OPT: -constfold -print -journal-disable -machdep x86_32 */ #include <stddef.h> diff --git a/tests/constant_propagation/test_config b/tests/constant_propagation/test_config index 850779adb25d797c03ebc59655d31bec1c50cadf..c9ce20f05d9b350fd5d065e1d08f26e53fc065b6 100644 --- a/tests/constant_propagation/test_config +++ b/tests/constant_propagation/test_config @@ -1 +1 @@ -OPT: -journal-disable -scf @EVA_OPTIONS@ +OPT: -journal-disable -scf @EVA_OPTIONS@ -machdep x86_32 diff --git a/tests/fc_script/oracle/make_template.res b/tests/fc_script/oracle/make_template.res index 9d0864ff3369f45daef50da92ab4eb1211236f0c..95bf74b99516143166cc1e73874e0d1d7555dd30 100644 --- a/tests/fc_script/oracle/make_template.res +++ b/tests/fc_script/oracle/make_template.res @@ -10,7 +10,7 @@ warning: result/GNUmakefile already exists. Overwrite? [y/N] Main target name: S warning: 'main' seems to be defined multiple times. Is this ok? [Y/n] compile_commands.json exists, add option -json-compilation-database? [Y/n] Add stub for function main (only needed if it uses command-line arguments)? [y/N] Please define the architectural model (machdep) of the target machine. Known machdeps: x86_16 x86_32 x86_64 gcc_x86_16 gcc_x86_32 gcc_x86_64 ppc_32 msvc_x86_64 -Please enter the machdep [x86_32]: 'invalid_machdep' is not a standard machdep. Proceed anyway? [y/N]Please enter the machdep [x86_32]: warning: result/fc_stubs.c already exists. Overwrite? [y/N] Created stub for main function: result/fc_stubs.c +Please enter the machdep [x86_64]: 'invalid_machdep' is not a standard machdep. Proceed anyway? [y/N]Please enter the machdep [x86_64]: warning: result/fc_stubs.c already exists. Overwrite? [y/N] Created stub for main function: result/fc_stubs.c Template created: result/GNUmakefile Path to Frama-C binaries written to: result/path.mk Running ptests: cleaning up after tests... diff --git a/tests/float/sqrt.c b/tests/float/sqrt.c index da6743b0866b14d00ea51c2886806bc546008c96..5164d15353f3b7de3e8d88d96e72821f3ef53280 100644 --- a/tests/float/sqrt.c +++ b/tests/float/sqrt.c @@ -1,6 +1,6 @@ /* run.config* STDOPT: #"-eva-slevel 10 -big-ints-hex 257" - STDOPT: #"-eva-slevel 10 -big-ints-hex 257 -machdep ppc_32" + STDOPT: #"-eva-slevel 10 -big-ints-hex 257" +"-machdep ppc_32" */ #include <math.h> @@ -27,5 +27,5 @@ void main() { for (k=0; k<8; k++) c[k] = ((unsigned char*)&i)[k]; - + } diff --git a/tests/libc/fc_libc.c b/tests/libc/fc_libc.c index 5ad226916ca36cd0496df4992e45e78d79a22da2..096e9927c8d52cb5f445c140e07155ffa3064a6b 100644 --- a/tests/libc/fc_libc.c +++ b/tests/libc/fc_libc.c @@ -5,7 +5,7 @@ EXECNOW: make -s @PTEST_DIR@/check_libc_anonymous_tags.cmxs EXECNOW: make -s @PTEST_DIR@/check_compliance.cmxs OPT: -load-module @PTEST_DIR@/check_libc_naming_conventions -print -cpp-extra-args='-nostdinc -Ishare/libc' -metrics -metrics-libc -load-module @PTEST_DIR@/check_const -load-module metrics -eva @EVA_CONFIG@ -then -lib-entry -no-print -metrics-no-libc - OPT: -print -print-libc + OPT: -print -print-libc -machdep x86_32 OPT: -load-module @PTEST_DIR@/check_parsing_individual_headers OPT: -load-module @PTEST_DIR@/check_libc_anonymous_tags OPT: -load-module @PTEST_DIR@/check_compliance -kernel-msg-key printer:attrs diff --git a/tests/libc/limits_h.c b/tests/libc/limits_h.c index 8b124df5a62f28a4e70c99720e8db71c00323347..2c663b2c5645c1ac80856c0c08a53b438939debf 100644 --- a/tests/libc/limits_h.c +++ b/tests/libc/limits_h.c @@ -1,12 +1,12 @@ /*run.config - STDOPT: #"-machdep x86_16" - STDOPT: #"-machdep x86_32" - STDOPT: #"-machdep x86_64" - STDOPT: #"-machdep gcc_x86_16" - STDOPT: #"-machdep gcc_x86_32" - STDOPT: #"-machdep gcc_x86_64" - STDOPT: #"-machdep ppc_32" - STDOPT: #"-machdep msvc_x86_64" + STDOPT: +"-machdep x86_16" + STDOPT: +"-machdep x86_32" + STDOPT: +"-machdep x86_64" + STDOPT: +"-machdep gcc_x86_16" + STDOPT: +"-machdep gcc_x86_32" + STDOPT: +"-machdep gcc_x86_64" + STDOPT: +"-machdep ppc_32" + STDOPT: +"-machdep msvc_x86_64" */ #include <sys/types.h> #include <stdint.h> diff --git a/tests/libc/more_gcc_builtins.c b/tests/libc/more_gcc_builtins.c index d3d023ac786338c8701dd77e2a3baaefbc959b03..614aae666d6e492da1fd8807c239cfe0b305cff8 100644 --- a/tests/libc/more_gcc_builtins.c +++ b/tests/libc/more_gcc_builtins.c @@ -1,5 +1,5 @@ /* run.config - STDOPT: #"-machdep gcc_x86_32" + STDOPT: +"-machdep gcc_x86_32" */ volatile int v; diff --git a/tests/libc/stdlib_h.c b/tests/libc/stdlib_h.c index ea1b69046d2c3e6452c948df14cccd81439d8ac2..39d9378e90ec0d16f5fdf8ec1b207681e922517c 100644 --- a/tests/libc/stdlib_h.c +++ b/tests/libc/stdlib_h.c @@ -1,5 +1,5 @@ /* run.config - STDOPT: #"-machdep msvc_x86_64" + STDOPT: +"-machdep msvc_x86_64" */ // Note: machdep MSVC is used to avoid warnings due to // "non implemented long double" when testing strtold. diff --git a/tests/misc/oracle/print_machdep.res.oracle b/tests/misc/oracle/print_machdep.res.oracle index 4902716c8fc08e7971dd7cee455314ab41f65599..e0ef03b220dadd48a509cd8d00a25151499d3f9b 100644 --- a/tests/misc/oracle/print_machdep.res.oracle +++ b/tests/misc/oracle/print_machdep.res.oracle @@ -1,17 +1,17 @@ -Machine: gcc 4.0.3 - X86-32bits mode +Machine: gcc 4.0.3 AMD64 sizeof short = 2 (16 bits, aligned on 16 bits) sizeof int = 4 (32 bits, aligned on 32 bits) - sizeof long = 4 (32 bits, aligned on 32 bits) - sizeof long long = 8 (64 bits, aligned on 32 bits) + sizeof long = 8 (64 bits, aligned on 64 bits) + sizeof long long = 8 (64 bits, aligned on 64 bits) sizeof float = 4 (32 bits, aligned on 32 bits) - sizeof double = 8 (64 bits, aligned on 32 bits) - sizeof long double = 12 (96 bits, aligned on 32 bits) - sizeof pointer = 4 (32 bits, aligned on 32 bits) + sizeof double = 8 (64 bits, aligned on 64 bits) + sizeof long double = 16 (128 bits, aligned on 128 bits) + sizeof pointer = 8 (64 bits, aligned on 64 bits) sizeof void = 1 (8 bits, aligned on 8 bits) sizeof function = error (alignof error) - typeof sizeof(T) = unsigned int + typeof sizeof(T) = unsigned long typeof wchar_t = int - typeof ptrdiff_t = int + typeof ptrdiff_t = long char is signed machine is little endian strings are const chars diff --git a/tests/misc/pragma-pack.c b/tests/misc/pragma-pack.c index 6b0b00ff1cb21e7124a3dc03999945a5ef9fbe4d..b2e44f3f65464fb533c965f48beb09ce1d9be20a 100644 --- a/tests/misc/pragma-pack.c +++ b/tests/misc/pragma-pack.c @@ -1,7 +1,7 @@ /*run.config - STDOPT: #"-machdep gcc_x86_64 -kernel-msg-key typing:pragma" - STDOPT: #"-machdep gcc_x86_32" - STDOPT: #"-machdep msvc_x86_64" + STDOPT: +"-machdep gcc_x86_64 -kernel-msg-key typing:pragma" + STDOPT: +"-machdep gcc_x86_32" + STDOPT: +"-machdep msvc_x86_64" */ #include "pragma-pack-utils.h" diff --git a/tests/misc/pragma_pack_zero.c b/tests/misc/pragma_pack_zero.c index 6a89215bebbdb079321c448fe2c89a718a30a57b..22f956bd3c37c453f011aee30726b8f443dfd79e 100644 --- a/tests/misc/pragma_pack_zero.c +++ b/tests/misc/pragma_pack_zero.c @@ -1,6 +1,6 @@ /* run.config - STDOPT: #"-machdep gcc_x86_64" - STDOPT: #"-machdep msvc_x86_64" + STDOPT: +"-machdep gcc_x86_64" + STDOPT: +"-machdep msvc_x86_64" */ // #pragma pack(0) is not supported by MSVC, but allowed in GCC. // In MSVC mode, we ignore it. diff --git a/tests/rte/array_index.c b/tests/rte/array_index.c index b976e42cce80e05920e1870208d858e4db473a18..77df7919a2332a91172e6cb5790e609d1ff02aad 100644 --- a/tests/rte/array_index.c +++ b/tests/rte/array_index.c @@ -1,6 +1,6 @@ /* run.config - OPT: -rte -warn-signed-overflow -print -then -rte-trivial-annotations - OPT: -rte -warn-signed-overflow -print -unsafe-arrays + OPT: -machdep x86_32 -rte -warn-signed-overflow -print -then -rte-trivial-annotations + OPT: -machdep x86_32 -rte -warn-signed-overflow -print -unsafe-arrays */ int t[10]; diff --git a/tests/rte/castoncall.c b/tests/rte/castoncall.c index 35340269152d9036a0425ae03148ce991143e4ad..65401d7a0354fe74e0e8ff61326915dd4e4a5856 100644 --- a/tests/rte/castoncall.c +++ b/tests/rte/castoncall.c @@ -1,15 +1,15 @@ /* run.config - OPT: -rte -warn-signed-overflow -warn-signed-downcast -print - OPT: -rte -warn-signed-overflow -warn-signed-downcast -no-collapse-call-cast -print + OPT: -machdep x86_32 -rte -warn-signed-overflow -warn-signed-downcast -print + OPT: -machdep x86_32 -rte -warn-signed-overflow -warn-signed-downcast -no-collapse-call-cast -print */ -/*@ +/*@ ensures (\result == a) || (\result == b); assigns \result \from a,b; */ int nondet(int a, int b); -/*@ +/*@ ensures (\result == a) || (\result == b); assigns \result \from a,b; */ diff --git a/tests/rte/u64.i b/tests/rte/u64.i index 173468db18f77ba40b8145d10e9aeef6d7b1277b..8f23354dfb741c264df216e93520a3d94097ec5d 100644 --- a/tests/rte/u64.i +++ b/tests/rte/u64.i @@ -1,5 +1,5 @@ /* run.config - OPT: -rte -warn-unsigned-overflow -print -journal-disable + OPT: -rte -warn-unsigned-overflow -print -journal-disable -machdep x86_32 OPT: -rte -warn-unsigned-overflow -print -journal-disable -machdep x86_64 */ unsigned long f(unsigned int n) diff --git a/tests/rte_manual/machdep.i b/tests/rte_manual/machdep.i index 31828d04e860c5b079963c8f4123ee1a5c1b6c53..65edbbb4caa30e2af31b9c85d4d01e6a68804a54 100644 --- a/tests/rte_manual/machdep.i +++ b/tests/rte_manual/machdep.i @@ -1,5 +1,5 @@ /* run.config - OPT: -rte -then -print + OPT: -machdep x86_32 -rte -then -print OPT: -machdep x86_64 -rte -then -print */ diff --git a/tests/saveload/bool.c b/tests/saveload/bool.c index 5f757c7f0cf39a6306df9054d570f2ef8bb52c8f..8b313889c4bb740461194736e696f5ec1b0807cf 100644 --- a/tests/saveload/bool.c +++ b/tests/saveload/bool.c @@ -1,5 +1,5 @@ /* run.config - EXECNOW: BIN bool.sav LOG bool_sav.res LOG bool_sav.err ./bin/toplevel.opt -save ./tests/saveload/result/bool.sav -eva @EVA_OPTIONS@ ./tests/saveload/bool.c > tests/saveload/result/bool_sav.res 2> tests/saveload/result/bool_sav.err + EXECNOW: BIN bool.sav LOG bool_sav.res LOG bool_sav.err ./bin/toplevel.opt -save ./tests/saveload/result/bool.sav -machdep x86_32 -eva @EVA_OPTIONS@ ./tests/saveload/bool.c > tests/saveload/result/bool_sav.res 2> tests/saveload/result/bool_sav.err STDOPT: +"-load ./tests/saveload/result/bool.sav -out -input -deps" STDOPT: +"-load ./tests/saveload/result/bool.sav -eva @EVA_OPTIONS@" */ diff --git a/tests/slicing/test_config b/tests/slicing/test_config index 94edfab69b08faf9a5480298c9c557bcd43226c0..a709a3c91d35fd4abeee2660f7e99d245df4287e 100644 --- a/tests/slicing/test_config +++ b/tests/slicing/test_config @@ -1,2 +1,2 @@ EXECNOW: make -s tests/slicing/libSelect.cmxs tests/slicing/libAnim.cmxs -OPT: @EVA_OPTIONS@ +OPT: @EVA_OPTIONS@ -machdep x86_32 diff --git a/tests/spec/test_config b/tests/spec/test_config index 55c0f5b0128562d71d83efd28ff2c3d025a3fc25..6f16db895cb99190e93d744819de7c21e7358ebe 100644 --- a/tests/spec/test_config +++ b/tests/spec/test_config @@ -2,4 +2,4 @@ COMMENT: for now, this directory mainly tests the annotations syntax, COMMENT: no analysis is performed. COMMENT: we continue on annotation errors, as this allows to put COMMENT: various variations of the same test in one file. -OPT: -pp-annot -print -journal-disable -kernel-warn-key=annot-error=active -check +OPT: -pp-annot -print -journal-disable -kernel-warn-key=annot-error=active -check -machdep x86_32 diff --git a/tests/syntax/cpp-command.c b/tests/syntax/cpp-command.c index 7fc8bf5cf27e3745c21e73aa17ae1eb474b729a6..b508b543b6b25745f437b481935ab3e1add8fa02 100644 --- a/tests/syntax/cpp-command.c +++ b/tests/syntax/cpp-command.c @@ -1,8 +1,8 @@ /* run.config* FILTER: sed "s:/[^ ]*/cpp-command\.[^ ]*\.i:TMPDIR/FILE.i:g; s:$PWD/::; s: -m32::" - OPT: -no-autoload-plugins -cpp-frama-c-compliant -cpp-command "echo [\$(basename '%1') \$(basename '%1') \$(basename '%i') \$(basename '%input')] ['%2' '%2' '%o' '%output'] ['%args']" - OPT: -no-autoload-plugins -cpp-frama-c-compliant -cpp-command "echo %%1 = \$(basename '%1') %%2 = '%2' %%args = '%args'" - OPT: -no-autoload-plugins -cpp-frama-c-compliant -cpp-command "printf \"%s\n\" \"using \\% has no effect : \$(basename \"\%input\")\"" - OPT: -no-autoload-plugins -cpp-frama-c-compliant -cpp-command "echo %var is not an interpreted placeholder" - OPT: -no-autoload-plugins -print-cpp-commands + OPT: -machdep x86_32 -no-autoload-plugins -cpp-frama-c-compliant -cpp-command "echo [\$(basename '%1') \$(basename '%1') \$(basename '%i') \$(basename '%input')] ['%2' '%2' '%o' '%output'] ['%args']" + OPT: -machdep x86_32 -no-autoload-plugins -cpp-frama-c-compliant -cpp-command "echo %%1 = \$(basename '%1') %%2 = '%2' %%args = '%args'" + OPT: -machdep x86_32 -no-autoload-plugins -cpp-frama-c-compliant -cpp-command "printf \"%s\n\" \"using \\% has no effect : \$(basename \"\%input\")\"" + OPT: -machdep x86_32 -no-autoload-plugins -cpp-frama-c-compliant -cpp-command "echo %var is not an interpreted placeholder" + OPT: -machdep x86_32 -no-autoload-plugins -print-cpp-commands */ diff --git a/tests/syntax/enum_repr.i b/tests/syntax/enum_repr.i index 455e1c4aad4a1d5b923538016a82773032a30a24..8cf7d3d4b1fca5a3becbcb2dd97297ce76f22f92 100644 --- a/tests/syntax/enum_repr.i +++ b/tests/syntax/enum_repr.i @@ -1,11 +1,11 @@ /* run.config EXECNOW: make -s tests/syntax/Enum_repr.cmxs -OPT: -load-module tests/syntax/Enum_repr.cmxs -enums int -print -OPT: -load-module tests/syntax/Enum_repr.cmxs -enums gcc-short-enums -print -OPT: -load-module tests/syntax/Enum_repr.cmxs -enums gcc-enums -print +OPT: -machdep x86_32 -load-module tests/syntax/Enum_repr.cmxs -enums int -print +OPT: -machdep x86_32 -load-module tests/syntax/Enum_repr.cmxs -enums gcc-short-enums -print +OPT: -machdep x86_32 -load-module tests/syntax/Enum_repr.cmxs -enums gcc-enums -print */ -// is represented by | int | gcc-enums | gcc-short-enums +// is represented by | int | gcc-enums | gcc-short-enums // foo | int | unsigned int | unsigned char // bar | int | unsigned char | unsigned char // bu1 | int | unsigned int | unsigned int diff --git a/tests/syntax/gnu-asm-aesni.c b/tests/syntax/gnu-asm-aesni.c index 57f21d3dc98c7b9c984f0e4f43bd4eba384026c1..1e2b0f7f4526aa2e71a85d9f31114959b086f0dc 100644 --- a/tests/syntax/gnu-asm-aesni.c +++ b/tests/syntax/gnu-asm-aesni.c @@ -7,7 +7,7 @@ COMMENT: TEST_TITLE: Chiffrement via AES-NI COMMENT: TEST_MAIN: encrypt_aesni COMMENT: TEST_DESCRIPTION: Un message de 64 octets est initialisé à une valeur précise. Le nombre de tours est fixé à 12 et la clé de chiffrement étendue est initialisée à une valeur abstraite. L'appel à la fonction do_aesni_enc effectue le chiffrement et place le résultat à l'adresse mémoire pointée par le paramètre b. On vérifie ensuite que les cases du tableau b ont bien été initialisées et que le tableau a n'a pas été modifié. - OPT: -cpp-extra-args='-DUSE_AESNI' -print + OPT: -machdep x86_32 -cpp-extra-args='-DUSE_AESNI' -print ------------------------- */ #ifdef __FRAMAC__ diff --git a/tests/syntax/no-print-libc-reparse.c b/tests/syntax/no-print-libc-reparse.c index bf0b39507c3aa985e8c30eef3ab7c52166399f8a..b7dea45f9df034e9d1d84b0063324b19c1364cff 100644 --- a/tests/syntax/no-print-libc-reparse.c +++ b/tests/syntax/no-print-libc-reparse.c @@ -1,5 +1,5 @@ /*run.config - STDOPT: #"-no-print-libc -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.c -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.c" + STDOPT: +"-no-print-libc -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.c -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.c" */ // tests that using -no-print-libc on a file with an enum produces output that diff --git a/tests/syntax/offset.c b/tests/syntax/offset.c index 271b4450362ee830e85f0c9cb93d6903e21066e8..39b1c35f8c49f9e2b5b7409e72c756873e646e5d 100644 --- a/tests/syntax/offset.c +++ b/tests/syntax/offset.c @@ -1,5 +1,5 @@ /* run.config -OPT: -cpp-extra-args="-Ishare/libc" -print +OPT: -machdep x86_32 -cpp-extra-args="-Ishare/libc" -print */ #include "__fc_define_off_t.h" diff --git a/tests/syntax/test_config b/tests/syntax/test_config index a513714e6d0bb6d4a08951df5e1ae4c3ec1b7e55..df749c62084f1dff34265d08aa76546e4a89949e 100644 --- a/tests/syntax/test_config +++ b/tests/syntax/test_config @@ -1,4 +1,4 @@ COMMENT: this directory is meant to test exclusively the front-end COMMENT: (parser, type-checker, linker, syntactic transformations) -OPT: -print -journal-disable -check +OPT: -print -journal-disable -check -machdep x86_32 FILEREG:.*\.\(c\|i\|ci\)$ diff --git a/tests/test_config b/tests/test_config index 3349a7b04de557ca065dddc3267824bed2662dbb..11d75bf850c7c2f65ff98bf5fd486ec47200f499 100644 --- a/tests/test_config +++ b/tests/test_config @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_apron b/tests/test_config_apron index 9756305b89f7a2b23fb4e4ac2f85278695cfa612..568bc84e0ab1763640485b94c48d108a868c76b1 100644 --- a/tests/test_config_apron +++ b/tests/test_config_apron @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -eva-domains apron-octagon -eva-warn-key experimental=inactive -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_bitwise b/tests/test_config_bitwise index 2de393bf539f8cf6a0e4b402b7693073f9b5fcc8..9a4d5dfea1a205e217149f186c5341ca046a5189 100644 --- a/tests/test_config_bitwise +++ b/tests/test_config_bitwise @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -eva-domains bitwise -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_equalities b/tests/test_config_equalities index 2758bbcdc4c9947e736388b45e175af3ab527c0f..45664b6c91351aae50544f999ad2d98142ee818e 100644 --- a/tests/test_config_equalities +++ b/tests/test_config_equalities @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -eva-domains equality -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_gauges b/tests/test_config_gauges index 9c8f47712455d77cef4f1985cbbb45e57cb572a4..ee46c34eb9c1a5f4dfb63334ee41a14f19fcfb40 100644 --- a/tests/test_config_gauges +++ b/tests/test_config_gauges @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -eva-domains gauges -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_octagons b/tests/test_config_octagons index 27c9bcc81711c7516b7669081b30ee458cf29077..689c4edbfbb0fe5a6259aa03d4971a16a5b6387c 100644 --- a/tests/test_config_octagons +++ b/tests/test_config_octagons @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-domains octagon -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/test_config_symblocs b/tests/test_config_symblocs index c90d71b9e632ed8b8933b8ca2316b533858a0d27..b4a58bcd9f85e32c18b992356b7ad4fb1e21dafd 100644 --- a/tests/test_config_symblocs +++ b/tests/test_config_symblocs @@ -1,3 +1,3 @@ MACRO: EVA_OPTIONS -eva-show-progress -eva-msg-key=-summary -eva-auto-loop-unroll 0 -eva-domains symbolic-locations -MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic +MACRO: EVA_CONFIG @EVA_OPTIONS@ -no-autoload-plugins -load-module from,inout,eva,scope,variadic -machdep x86_32 OPT: -eva @EVA_CONFIG@ -journal-disable -out -input -deps diff --git a/tests/value/const_typedef.i b/tests/value/const_typedef.i index d9f7f3677ca57b9fe40bdc4bfe5b83857a99bc2b..a2a0a3544f0c7304e5a2073be6bde7d35663e549 100644 --- a/tests/value/const_typedef.i +++ b/tests/value/const_typedef.i @@ -1,5 +1,5 @@ /* run.config* - OPT: -no-autoload-plugins -load-module inout,eva -print -then -eva @EVA_CONFIG@ -lib-entry -no-print + OPT: -machdep x86_32 -no-autoload-plugins -load-module inout,eva -print -then -eva @EVA_CONFIG@ -lib-entry -no-print */ typedef int INT[3][3]; diff --git a/tests/value/diff_apron b/tests/value/diff_apron index b8f9fbe7d8c8bbc8d910d97e3d71e2b1413b6746..2baa50c4f0082a47ce6e55782d3ac0b56dbd05f1 100644 --- a/tests/value/diff_apron +++ b/tests/value/diff_apron @@ -1074,7 +1074,7 @@ diff tests/value/oracle/loopinv.res.oracle tests/value/oracle_apron/loopinv.res. > 3 To be validated > 12 Total diff tests/value/oracle/memexec.res.oracle tests/value/oracle_apron/memexec.res.oracle -27,32c27,50 +29,34c29,52 < [eva] tests/value/memexec.c:13: Reusing old results for call to f11 < [eva] tests/value/memexec.c:14: Reusing old results for call to f11 < [eva] tests/value/memexec.c:16: Reusing old results for call to f11 @@ -1106,21 +1106,21 @@ diff tests/value/oracle/memexec.res.oracle tests/value/oracle_apron/memexec.res. > Called from tests/value/memexec.c:21. > [eva] Recording results for f11 > [eva] Done for function f11 -106c124,127 +108c126,129 < [eva] tests/value/memexec.c:113: Reusing old results for call to f5_aux --- > [eva] computing for function f5_aux <- f5 <- main. > Called from tests/value/memexec.c:113. > [eva] Recording results for f5_aux > [eva] Done for function f5_aux -129c150,153 +131c152,155 < [eva] tests/value/memexec.c:137: Reusing old results for call to f7_1 --- > [eva] computing for function f7_1 <- f7 <- main. > Called from tests/value/memexec.c:137. > [eva] Recording results for f7_1 > [eva] Done for function f7_1 -144c168,171 +146c170,173 < [eva] tests/value/memexec.c:150: Reusing old results for call to f8_1 --- > [eva] computing for function f8_1 <- f8 <- main. diff --git a/tests/value/diff_gauges b/tests/value/diff_gauges index f6010fb62ca6b8e732c4cdfb986167352b43e100..4459f5ccfc6425a1b87171f42525c3e3306dc715 100644 --- a/tests/value/diff_gauges +++ b/tests/value/diff_gauges @@ -764,7 +764,7 @@ diff tests/value/oracle/loopfun.1.res.oracle tests/value/oracle_gauges/loopfun.1 13a18 > [eva] tests/value/loopfun.i:27: starting to merge loop iterations diff tests/value/oracle/memexec.res.oracle tests/value/oracle_gauges/memexec.res.oracle -101a102 +103a104 > [eva] tests/value/memexec.c:98: starting to merge loop iterations diff tests/value/oracle/modulo.res.oracle tests/value/oracle_gauges/modulo.res.oracle 40a41,123 diff --git a/tests/value/div.i b/tests/value/div.i index 3ac38b6068dae4271ea190752b7b1efcac5fe878..04ff9505aa3095d18d08dc320a2ae1b7ec1966b0 100644 --- a/tests/value/div.i +++ b/tests/value/div.i @@ -1,6 +1,6 @@ /* run.config* STDOPT: #"-load-module scope -eva-remove-redundant-alarms" - OPT: -no-autoload-plugins -load-module eva,inout -rte -then -eva @EVA_CONFIG@ + OPT: -machdep x86_32 -no-autoload-plugins -load-module eva,inout -rte -then -eva @EVA_CONFIG@ */ int X,Y,Z1,Z2,T,U1,U2,V,W1,W2; int a,b,d1,d2,d0,e; diff --git a/tests/value/empty_base.c b/tests/value/empty_base.c index 72501efab3452a7994dd50e645c45334d0ff90f2..1a5baf64c3b8456b030aee0bebc15c0b9cf9ca9f 100644 --- a/tests/value/empty_base.c +++ b/tests/value/empty_base.c @@ -1,5 +1,5 @@ /* run.config* - STDOPT: #"-machdep gcc_x86_32" + STDOPT: +"-machdep gcc_x86_32" STDOPT: */ // the tests above must be done separately because both fail: diff --git a/tests/value/memexec.c b/tests/value/memexec.c index 36b1a450f3bf5c18f1fd93e513a762d7d41802e8..1023354a4332f15a43204c40d955c226bf5699be 100644 --- a/tests/value/memexec.c +++ b/tests/value/memexec.c @@ -1,5 +1,5 @@ /* run.config* - STDOPT: #" -no-eva -rte-select fbug -rte -then -eva" + STDOPT: +"-rte-select fbug -rte -then -eva" */ int x1, y1, z1, z2; volatile int c, nondet; diff --git a/tests/value/precond2.c b/tests/value/precond2.c index be7006c890e03461fa2cc4e79f8cf0d8096d4125..20b7ad01306ebe270fdfe52d1426116f9958c8a8 100644 --- a/tests/value/precond2.c +++ b/tests/value/precond2.c @@ -1,6 +1,6 @@ /* run.config* - OPT: -no-autoload-plugins -load-module from,inout,eva,report,rtegen -rte -then -eva @EVA_CONFIG@ -then -report -report-print-properties - OPT: -no-autoload-plugins -load-module from,inout,eva,report,rtegen -eva @EVA_CONFIG@ -then -rte -then -report -report-print-properties + OPT: -machdep x86_32 -no-autoload-plugins -load-module from,inout,eva,report,rtegen -rte -then -eva @EVA_CONFIG@ -then -report -report-print-properties + OPT: -machdep x86_32 -no-autoload-plugins -load-module from,inout,eva,report,rtegen -eva @EVA_CONFIG@ -then -rte -then -report -report-print-properties */ // Fuse with precond.c when bts #1208 is solved