diff --git a/tests/builtins/Longinit_sequencer.ml b/tests/builtins/Longinit_sequencer.ml index 173d3b5062e2a0be3527edf3024c4745e5e49316..e08e24d518d009ebab3543964451095e79f1f765 100644 --- a/tests/builtins/Longinit_sequencer.ml +++ b/tests/builtins/Longinit_sequencer.ml @@ -35,7 +35,7 @@ let main () = let display_results state = Format.fprintf fmt "@[%a@]@\n" !Db.Value.display state in Dynamic.Parameter.String.set "" "tests/builtins/long_init.c"; Dynamic.Parameter.String.set "-eva-save-fun-state" ("init_inner:" ^ tmpfile); - Dynamic.Parameter.String.set "-eva-builtin" "malloc:Frama_C_malloc_fresh"; + Dynamic.Parameter.String.set "-eva-alloc-builtin" "fresh"; Dynamic.Parameter.Bool.set "-eva-alloc-returns-null" false; Dynamic.Parameter.String.set "-eva-warn-key" "builtins:override=inactive"; !Db.Value.compute (); @@ -49,7 +49,7 @@ let main () = Dynamic.Parameter.String.set "-eva-load-fun-state" ("init_inner:" ^ tmpfile); (* set builtins in a different order to force kernel to recompute kernel function IDs *) - Dynamic.Parameter.String.set "-eva-builtin" "malloc:Frama_C_malloc_fresh"; + Dynamic.Parameter.String.set "-eva-alloc-builtin" "fresh"; !Db.Value.compute (); Callgraph.Uses.iter_in_rev_order display_results; Files.clear (); @@ -59,7 +59,7 @@ let main () = Dynamic.Parameter.String.set "-eva-load-fun-state" ("init_outer:" ^ tmpfile); (* set builtins in a different order to force kernel to recompute kernel function IDs *) - Dynamic.Parameter.String.set "-eva-builtin" "malloc:Frama_C_malloc_fresh"; + Dynamic.Parameter.String.set "-eva-alloc-builtin" "fresh"; !Db.Value.compute (); Callgraph.Uses.iter_in_rev_order display_results; ok:=true (* no error, we can erase the file *) diff --git a/tests/builtins/alloc.c b/tests/builtins/alloc.c index 33f24cdc7d6562f40487a3693fa2b380742edc42..36f4a7c0333c46cbd473e24fd4022abf9c670fa5 100644 --- a/tests/builtins/alloc.c +++ b/tests/builtins/alloc.c @@ -1,10 +1,10 @@ /* run.config* GCC: - STDOPT: #"-eva-no-builtins-auto" - STDOPT: #"-eva-no-builtins-auto -absolute-valid-range 0x100-0x200 -main main_abs" + STDOPT: #"-eva-alloc-builtin fresh" + STDOPT: #"-eva-alloc-builtin fresh -absolute-valid-range 0x100-0x200 -main main_abs" */ -#define malloc(n) Frama_C_malloc_fresh(n) + #include "share/libc/stdlib.c" int *p,*q,*r,a,b; diff --git a/tests/builtins/allocated.c b/tests/builtins/allocated.c index 5bb5091919b3bbf490fef6dc3ca2b097f3a1ddf5..b09b532881c9ef6a322b5ad7292035bbdfd3d66e 100644 --- a/tests/builtins/allocated.c +++ b/tests/builtins/allocated.c @@ -1,6 +1,6 @@ /* run.config* STDOPT: +"-slevel 1 -eva-mlevel 0" - STDOPT: +"-slevel 999 -eva-builtin malloc:Frama_C_malloc_fresh,__fc_vla_alloc:Frama_C_malloc_fresh,__fc_vla_free:Frama_C_vla_free" + STDOPT: +"-slevel 999 -eva-alloc-builtin fresh" */ #define assert_bottom(exp) if (nondet) {exp; Frama_C_show_each_unreachable();} diff --git a/tests/builtins/calloc.c b/tests/builtins/calloc.c index 391526efc854f48c1a227508470978787b60aa80..eab8069d1467719ea917befd946c6d86e54e894d 100644 --- a/tests/builtins/calloc.c +++ b/tests/builtins/calloc.c @@ -1,10 +1,10 @@ /* run.config* STDOPT: #"-eva-no-builtins-auto -eva-alloc-returns-null" - STDOPT: #"-eva-no-builtins-auto -eva-alloc-returns-null -eva-builtin calloc:Frama_C_calloc_fresh" - STDOPT: #"-eva-no-builtins-auto -eva-alloc-returns-null -eva-builtin calloc:Frama_C_calloc_by_stack" - STDOPT: #"-eva-no-builtins-auto -eva-no-alloc-returns-null -eva-builtin calloc:Frama_C_calloc_fresh" - STDOPT: #"-eva-no-builtins-auto -eva-no-alloc-returns-null -eva-builtin calloc:Frama_C_calloc_by_stack" - STDOPT: #"-eva-no-builtins-auto -eva-no-alloc-returns-null -eva-builtin calloc:Frama_C_calloc_imprecise" + STDOPT: #"-eva-alloc-returns-null -eva-alloc-builtin fresh" + STDOPT: #"-eva-alloc-returns-null -eva-alloc-builtin by_stack" + STDOPT: #"-eva-no-alloc-returns-null -eva-alloc-builtin fresh" + STDOPT: #"-eva-no-alloc-returns-null -eva-alloc-builtin by_stack" + STDOPT: #"-eva-no-alloc-returns-null -eva-alloc-builtin imprecise" */ #include <stdlib.h> #include <stdint.h> diff --git a/tests/builtins/free.c b/tests/builtins/free.c index f6d55190835a819d9f92c5038cc9319379f1fea5..a16798e5ff968dd534fa977323c62e9eb59112fb 100644 --- a/tests/builtins/free.c +++ b/tests/builtins/free.c @@ -1,5 +1,5 @@ /* run.config* - STDOPT: #" -eva-builtin malloc:Frama_C_malloc_fresh" + STDOPT: #" -eva-alloc-builtin fresh" */ #include "stdlib.h" volatile v; diff --git a/tests/builtins/from_result.c b/tests/builtins/from_result.c index 1076c7ca5bc3f89a20b05d2ab84271e6dd8226ab..89e1f89ae0d5a0a1eab68b623367bad8f9dcccb1 100644 --- a/tests/builtins/from_result.c +++ b/tests/builtins/from_result.c @@ -1,7 +1,7 @@ /* run.config* - OPT: @EVA_CONFIG@ -eva-no-builtins-auto -deps -journal-disable + OPT: @EVA_CONFIG@ -eva-alloc-builtin fresh -deps -journal-disable */ -#define malloc(n) Frama_C_malloc_fresh(n) + #include "../../share/libc/stdlib.c" struct T { int a; int b; }; diff --git a/tests/builtins/gcc_zero_length_array.c b/tests/builtins/gcc_zero_length_array.c index 49102dfcfc59a49c49990330bcf851c68f8ef0c0..b990a598b0e4f9c25888f70e5a482fa9dfc4757f 100644 --- a/tests/builtins/gcc_zero_length_array.c +++ b/tests/builtins/gcc_zero_length_array.c @@ -1,5 +1,5 @@ /* run.config* - STDOPT: +"-machdep gcc_x86_32 -eva-builtin malloc:Frama_C_malloc_fresh -slevel 11" + STDOPT: +"-machdep gcc_x86_32 -eva-alloc-builtin fresh -slevel 11" */ #include <stdlib.h> diff --git a/tests/builtins/malloc-deps.c b/tests/builtins/malloc-deps.c index a50b7e99b2fc4190bc771320a65cedfedc6bf7de..312e2534df54f1c9d390c49abe5465673dc598cb 100644 --- a/tests/builtins/malloc-deps.c +++ b/tests/builtins/malloc-deps.c @@ -1,31 +1,28 @@ /* run.config* OPT: -eva @EVA_CONFIG@ -deps -calldeps -inout -slevel 5 -eva-msg-key malloc */ -#include <stddef.h> -//@ assigns \result \from \nothing; -void *Frama_C_malloc_fresh(size_t n); -//@ assigns \result \from \nothing; -void *Frama_C_malloc_fresh_weak(size_t n); -//@ assigns \result \from \nothing; -void *Frama_C_malloc_by_stack(size_t n); +#include <stdlib.h> volatile int v; void g(int *p, int k) { p[k] = k; } void main(int i, int j) { int *p, *q; - p = Frama_C_malloc_fresh_weak(100); + /*@ eva_allocate fresh_weak; */ + p = malloc(100); *p = i; *p = j; // Cannnot perform strong update for deps, variable is weak - q = Frama_C_malloc_fresh(100); + /*@ eva_allocate fresh; */ + q = malloc(100); *q = i; *q = j; // Can perform strong update for deps int *r; for (int l=0; l<10; l++) { - r = Frama_C_malloc_by_stack((l+1)*4); + /*@ eva_allocate by_stack; */ + r = malloc((l+1)*4); g(r, l+v); // Again, we can only perform weak updates (after iteration 1) } } diff --git a/tests/builtins/malloc.c b/tests/builtins/malloc.c index af2dbc58d5b2eff3d0a49890a02bf98bbfc295c7..fb9377fa0041f543e133230dab5ca534fcc32b61 100644 --- a/tests/builtins/malloc.c +++ b/tests/builtins/malloc.c @@ -1,24 +1,23 @@ /* run.config* - OPT: -eva @EVA_CONFIG@ -slevel 10 -eva-mlevel 0 + OPT: -eva @EVA_CONFIG@ -slevel 10 -eva-mlevel 0 -eva-alloc-builtin by_stack */ -#include <stddef.h> -void *Frama_C_malloc_by_stack(size_t i); -void *Frama_C_malloc_fresh(size_t i); -void *Frama_C_malloc_imprecise(size_t i); +#include <stdlib.h> + void main(int c) { int x; int *s; if(c) { x = 1; - s = Frama_C_malloc_by_stack(100); + s = malloc(100); } else { x = 2; s = 0; } - int *p = Frama_C_malloc_by_stack(c); - int *q = Frama_C_malloc_by_stack(12); - int *r = Frama_C_malloc_fresh(100); + int *p = malloc(c); + int *q = malloc(12); + /*@ eva_allocate fresh; */ + int *r = malloc(100); *p = 1; *(p+2) = 3; *(p+24999) = 4; @@ -30,9 +29,11 @@ void main(int c) { *r = 1; *(r+2) = 3; - int *mw = Frama_C_malloc_imprecise(42); + /*@ eva_allocate imprecise; */ + int *mw = malloc(42); *mw = 1; - int *mw2 = Frama_C_malloc_imprecise(42); + /*@ eva_allocate imprecise; */ + int *mw2 = malloc(42); *mw2 = 2; // *s = 1; diff --git a/tests/builtins/malloc_individual.c b/tests/builtins/malloc_individual.c index e85945c2ca8273433b7e09ae1e96223a4f761067..790ffba5e5b8e51afd50bc2b27c2eff238af28bc 100644 --- a/tests/builtins/malloc_individual.c +++ b/tests/builtins/malloc_individual.c @@ -1,7 +1,7 @@ /* run.config* - STDOPT: #"-eva-no-builtins-auto" + STDOPT: #"-eva-alloc-builtin fresh" */ -#define malloc(n) Frama_C_malloc_fresh(n) + #include "share/libc/stdlib.c" int *p; diff --git a/tests/builtins/malloc_memexec.c b/tests/builtins/malloc_memexec.c index 2a0434c008580b6802e46d28c4f5627791898dc9..cac60b4be3121fe0fe79ea701fee95860d0420a3 100644 --- a/tests/builtins/malloc_memexec.c +++ b/tests/builtins/malloc_memexec.c @@ -1,13 +1,7 @@ /* run.config* OPT: -eva @EVA_CONFIG@ -eva-memexec -deps -inout -eva-mlevel 0 */ -#include <stddef.h> -//@ assigns \result; -void *Frama_C_malloc_fresh(size_t n); - -//@ assigns \result; -void *Frama_C_malloc_fresh_weak(size_t n); - +#include <stdlib.h> void f(int *p, int i) { *p = i; @@ -16,7 +10,8 @@ void f(int *p, int i) { volatile v; void main() { - int *p = Frama_C_malloc_fresh (4); + /*@ eva_allocate fresh; */ + int *p = malloc (4); if (v) { f(p, 2); f(p, 1); // This call or the corresponding one below could be cached. It is not, because we forbid memexec to take full updates to a strong variable into account for malloced bases, because they may become weak later @@ -24,7 +19,8 @@ void main() { f(p, 1); } - int *q = Frama_C_malloc_fresh_weak (4); + /*@ eva_allocate fresh_weak; */ + int *q = malloc (4); if (v) { f(q, 2); f(q, 1); diff --git a/tests/builtins/realloc.c b/tests/builtins/realloc.c index 08db98c71601626d53a0f0f78f31fe799cbff246..cea3250e6e112f029f374a3679b684ea6bb98eb0 100644 --- a/tests/builtins/realloc.c +++ b/tests/builtins/realloc.c @@ -1,5 +1,5 @@ /* run.config* - STDOPT: +"-slevel 10 -eva-builtin malloc:Frama_C_malloc_fresh -eva-warn-copy-indeterminate @all" + STDOPT: +"-slevel 10 -eva-alloc-builtin fresh -eva-warn-copy-indeterminate @all" */ #include <stdlib.h> diff --git a/tests/builtins/realloc_imprecise.c b/tests/builtins/realloc_imprecise.c index bd9e002b64b2fc82554c3578f90877ee93a1fa45..6009ef09427d0a66ef7d56304e1b9f0f3c895e6e 100644 --- a/tests/builtins/realloc_imprecise.c +++ b/tests/builtins/realloc_imprecise.c @@ -1,5 +1,5 @@ /* run.config* - STDOPT: +"-eva-builtin malloc:Frama_C_malloc_imprecise,realloc:Frama_C_realloc_imprecise" + STDOPT: +"-eva-alloc-builtin imprecise -eva-builtin realloc:Frama_C_realloc_imprecise" */ #include <stdlib.h> diff --git a/tests/builtins/realloc_multiple.c b/tests/builtins/realloc_multiple.c index 8657eb4bd84b3077a25b7dd0b088be5c485624e6..62bb7514345e37c71f436961d11e4e42b1598d75 100644 --- a/tests/builtins/realloc_multiple.c +++ b/tests/builtins/realloc_multiple.c @@ -1,6 +1,6 @@ /* run.config* - STDOPT: +"-slevel 10 -eva-builtin malloc:Frama_C_malloc_fresh,realloc:Frama_C_realloc_multiple -eva-malloc-functions malloc,realloc" - STDOPT: +"-slevel 10 -eva-builtin malloc:Frama_C_malloc_fresh,realloc:Frama_C_realloc_multiple -eva-malloc-functions malloc,realloc -eva-alloc-returns-null" + STDOPT: +"-slevel 10 -eva-alloc-builtin fresh -eva-builtin realloc:Frama_C_realloc_multiple -eva-malloc-functions malloc,realloc" + STDOPT: +"-slevel 10 -eva-alloc-builtin fresh -eva-builtin realloc:Frama_C_realloc_multiple -eva-malloc-functions malloc,realloc -eva-alloc-returns-null" */ #include <stdlib.h> #include "__fc_builtin.h" diff --git a/tests/libc/stdlib_c.c b/tests/libc/stdlib_c.c index d265774bec565ed9ea9b83b45ff1620f44465221..f021a7551c10da4cd12bf630fa7df7a4b009086e 100644 --- a/tests/libc/stdlib_c.c +++ b/tests/libc/stdlib_c.c @@ -1,10 +1,10 @@ /* run.config - STDOPT: #"-eva-no-builtins-auto -slevel 10 -eva-builtin calloc:Frama_C_calloc_by_stack -eva-msg-key malloc" - STDOPT: #"-eva-no-builtins-auto -slevel 10 -eva-builtin calloc:Frama_C_calloc_by_stack -eva-no-alloc-returns-null -eva-msg-key malloc" + STDOPT: #"-eva-no-builtins-auto -slevel 10 -eva-builtin calloc:Frama_C_calloc -eva-alloc-builtin by_stack -eva-msg-key malloc" + STDOPT: #"-eva-no-builtins-auto -slevel 10 -eva-builtin calloc:Frama_C_calloc -eva-alloc-builtin by_stack -eva-no-alloc-returns-null -eva-msg-key malloc" STDOPT: #"-eva-no-builtins-auto" */ // slevel is used to unroll loops -#define malloc(n) Frama_C_malloc_by_stack(n) +#define malloc(n) Frama_C_malloc(n) #include "stdlib.c" #include "__fc_builtin.h" #include <stdint.h>