From 3b51d7ef16a3751fbdafb3e812d20191ab85f4a3 Mon Sep 17 00:00:00 2001 From: Andre Maroneze <andre.oliveiramaroneze@cea.fr> Date: Tue, 25 Sep 2018 16:10:32 +0200 Subject: [PATCH] sync with frama-c/frama-c!1873 --- .../tests/format/oracle/fprintf.res.oracle | 17 +++++++-- .../e-acsl/tests/format/oracle/gen_fprintf.c | 38 ++++++++++--------- 2 files changed, 34 insertions(+), 21 deletions(-) diff --git a/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle b/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle index 93e496a3a03..f11e3e9cd19 100644 --- a/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle +++ b/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle @@ -12,6 +12,12 @@ [e-acsl] Warning: annotating undefined function `fclose': the generated program may miss memory instrumentation if there are memory-related annotations. +[e-acsl] Warning: annotating undefined function `waitpid': + the generated program may miss memory instrumentation + if there are memory-related annotations. +[e-acsl] FRAMAC_SHARE/libc/sys/wait.h:87: Warning: + E-ACSL construct `assigns clause in behavior' is not yet supported. + Ignoring annotation. [e-acsl] FRAMAC_SHARE/libc/stdio.h:94: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. @@ -73,11 +79,18 @@ [eva] using specification for function fork [eva] using specification for function __e_acsl_builtin_fprintf [eva] using specification for function exit +[eva] using specification for function __e_acsl_valid +[eva] using specification for function __e_acsl_assert [eva] using specification for function waitpid +[eva] using specification for function __e_acsl_initialized +[eva:alarm] FRAMAC_SHARE/libc/sys/wait.h:93: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva] using specification for function __e_acsl_delete_block +[eva:alarm] FRAMAC_SHARE/libc/sys/wait.h:93: Warning: + function __gen_e_acsl_waitpid, behavior stat_loc_non_null: postcondition 'initialization,stat_loc_init_on_success' got status unknown. [eva:alarm] tests/format/fprintf.c:15: Warning: accessing uninitialized left-value. assert \initialized(&process_status); [eva] using specification for function __e_acsl_builtin_printf -[eva] using specification for function __e_acsl_delete_block [eva] tests/format/fprintf.c:16: Warning: Completely invalid destination for assigns clause *stream. Ignoring. [eva:alarm] tests/format/fprintf.c:16: Warning: @@ -85,8 +98,6 @@ [eva] using specification for function tmpfile [eva:alarm] tests/format/fprintf.c:19: Warning: accessing uninitialized left-value. assert \initialized(&process_status_1); -[eva] using specification for function __e_acsl_valid -[eva] using specification for function __e_acsl_assert [eva:alarm] FRAMAC_SHARE/libc/stdio.h:94: Warning: function __e_acsl_assert: precondition got status unknown. [eva] using specification for function fclose diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c index 09448857900..5f67fe8ac43 100644 --- a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c +++ b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c @@ -191,6 +191,8 @@ void __e_acsl_globals_init(void) __e_acsl_store_block((void *)__gen_e_acsl_literal_string_17,sizeof("-%s-")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_17); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_17); + __e_acsl_store_block((void *)(& __gen_e_acsl_waitpid),(size_t)1); + __e_acsl_full_init((void *)(& __gen_e_acsl_waitpid)); __e_acsl_store_block((void *)(& __gen_e_acsl_fclose),(size_t)1); __e_acsl_full_init((void *)(& __gen_e_acsl_fclose)); __e_acsl_store_block((void *)(& __gen_e_acsl_tmpfile),(size_t)1); @@ -238,7 +240,7 @@ int main(int argc, char const **argv) else { int process_status; __e_acsl_store_block((void *)(& process_status),(size_t)4); - waitpid(pid,& process_status,0); + __gen_e_acsl_waitpid(pid,& process_status,0); /*@ assert Eva: initialization: \initialized(&process_status); */ signal_eval(process_status,0,__gen_e_acsl_literal_string_8); __e_acsl_delete_block((void *)(& process_status)); @@ -256,7 +258,7 @@ int main(int argc, char const **argv) else { int process_status_0; __e_acsl_store_block((void *)(& process_status_0),(size_t)4); - waitpid(pid_0,& process_status_0,0); + __gen_e_acsl_waitpid(pid_0,& process_status_0,0); /*@ assert Eva: initialization: \initialized(&process_status_0); */ signal_eval(process_status_0,1,__gen_e_acsl_literal_string_9); __e_acsl_delete_block((void *)(& process_status_0)); @@ -279,7 +281,7 @@ int main(int argc, char const **argv) else { int process_status_1; __e_acsl_store_block((void *)(& process_status_1),(size_t)4); - waitpid(pid_1,& process_status_1,0); + __gen_e_acsl_waitpid(pid_1,& process_status_1,0); /*@ assert Eva: initialization: \initialized(&process_status_1); */ signal_eval(process_status_1,0,__gen_e_acsl_literal_string_12); __e_acsl_delete_block((void *)(& process_status_1)); @@ -299,7 +301,7 @@ int main(int argc, char const **argv) else { int process_status_2; __e_acsl_store_block((void *)(& process_status_2),(size_t)4); - waitpid(pid_2,& process_status_2,0); + __gen_e_acsl_waitpid(pid_2,& process_status_2,0); /*@ assert Eva: initialization: \initialized(&process_status_2); */ signal_eval(process_status_2,1,__gen_e_acsl_literal_string_13); __e_acsl_delete_block((void *)(& process_status_2)); @@ -319,7 +321,7 @@ int main(int argc, char const **argv) else { int process_status_3; __e_acsl_store_block((void *)(& process_status_3),(size_t)4); - waitpid(pid_3,& process_status_3,0); + __gen_e_acsl_waitpid(pid_3,& process_status_3,0); /*@ assert Eva: initialization: \initialized(&process_status_3); */ signal_eval(process_status_3,1,__gen_e_acsl_literal_string_14); __e_acsl_delete_block((void *)(& process_status_3)); @@ -338,7 +340,7 @@ int main(int argc, char const **argv) else { int process_status_4; __e_acsl_store_block((void *)(& process_status_4),(size_t)4); - waitpid(pid_4,& process_status_4,0); + __gen_e_acsl_waitpid(pid_4,& process_status_4,0); /*@ assert Eva: initialization: \initialized(&process_status_4); */ signal_eval(process_status_4,0,__gen_e_acsl_literal_string_15); __e_acsl_delete_block((void *)(& process_status_4)); @@ -356,7 +358,7 @@ int main(int argc, char const **argv) else { int process_status_5; __e_acsl_store_block((void *)(& process_status_5),(size_t)4); - waitpid(pid_5,& process_status_5,0); + __gen_e_acsl_waitpid(pid_5,& process_status_5,0); /*@ assert Eva: initialization: \initialized(&process_status_5); */ signal_eval(process_status_5,1,__gen_e_acsl_literal_string_16); __e_acsl_delete_block((void *)(& process_status_5)); @@ -375,7 +377,7 @@ int main(int argc, char const **argv) else { int process_status_6; __e_acsl_store_block((void *)(& process_status_6),(size_t)4); - waitpid(pid_6,& process_status_6,0); + __gen_e_acsl_waitpid(pid_6,& process_status_6,0); /*@ assert Eva: initialization: \initialized(&process_status_6); */ signal_eval(process_status_6,0,__gen_e_acsl_literal_string_19); __e_acsl_delete_block((void *)(& process_status_6)); @@ -394,7 +396,7 @@ int main(int argc, char const **argv) else { int process_status_7; __e_acsl_store_block((void *)(& process_status_7),(size_t)4); - waitpid(pid_7,& process_status_7,0); + __gen_e_acsl_waitpid(pid_7,& process_status_7,0); /*@ assert Eva: initialization: \initialized(&process_status_7); */ signal_eval(process_status_7,0,__gen_e_acsl_literal_string_21); __e_acsl_delete_block((void *)(& process_status_7)); @@ -413,7 +415,7 @@ int main(int argc, char const **argv) else { int process_status_8; __e_acsl_store_block((void *)(& process_status_8),(size_t)4); - waitpid(pid_8,& process_status_8,0); + __gen_e_acsl_waitpid(pid_8,& process_status_8,0); /*@ assert Eva: initialization: \initialized(&process_status_8); */ signal_eval(process_status_8,1,__gen_e_acsl_literal_string_23); __e_acsl_delete_block((void *)(& process_status_8)); @@ -432,7 +434,7 @@ int main(int argc, char const **argv) else { int process_status_9; __e_acsl_store_block((void *)(& process_status_9),(size_t)4); - waitpid(pid_9,& process_status_9,0); + __gen_e_acsl_waitpid(pid_9,& process_status_9,0); /*@ assert Eva: initialization: \initialized(&process_status_9); */ signal_eval(process_status_9,1,__gen_e_acsl_literal_string_24); __e_acsl_delete_block((void *)(& process_status_9)); @@ -451,7 +453,7 @@ int main(int argc, char const **argv) else { int process_status_10; __e_acsl_store_block((void *)(& process_status_10),(size_t)4); - waitpid(pid_10,& process_status_10,0); + __gen_e_acsl_waitpid(pid_10,& process_status_10,0); /*@ assert Eva: initialization: \initialized(&process_status_10); */ signal_eval(process_status_10,1,__gen_e_acsl_literal_string_25); __e_acsl_delete_block((void *)(& process_status_10)); @@ -471,7 +473,7 @@ int main(int argc, char const **argv) else { int process_status_11; __e_acsl_store_block((void *)(& process_status_11),(size_t)4); - waitpid(pid_11,& process_status_11,0); + __gen_e_acsl_waitpid(pid_11,& process_status_11,0); /*@ assert Eva: initialization: \initialized(&process_status_11); */ signal_eval(process_status_11,0,__gen_e_acsl_literal_string_26); __e_acsl_delete_block((void *)(& process_status_11)); @@ -491,7 +493,7 @@ int main(int argc, char const **argv) else { int process_status_12; __e_acsl_store_block((void *)(& process_status_12),(size_t)4); - waitpid(pid_12,& process_status_12,0); + __gen_e_acsl_waitpid(pid_12,& process_status_12,0); /*@ assert Eva: initialization: \initialized(&process_status_12); */ signal_eval(process_status_12,0,__gen_e_acsl_literal_string_27); __e_acsl_delete_block((void *)(& process_status_12)); @@ -511,7 +513,7 @@ int main(int argc, char const **argv) else { int process_status_13; __e_acsl_store_block((void *)(& process_status_13),(size_t)4); - waitpid(pid_13,& process_status_13,0); + __gen_e_acsl_waitpid(pid_13,& process_status_13,0); /*@ assert Eva: initialization: \initialized(&process_status_13); */ signal_eval(process_status_13,1,__gen_e_acsl_literal_string_28); __e_acsl_delete_block((void *)(& process_status_13)); @@ -531,7 +533,7 @@ int main(int argc, char const **argv) else { int process_status_14; __e_acsl_store_block((void *)(& process_status_14),(size_t)4); - waitpid(pid_14,& process_status_14,0); + __gen_e_acsl_waitpid(pid_14,& process_status_14,0); /*@ assert Eva: initialization: \initialized(&process_status_14); */ signal_eval(process_status_14,1,__gen_e_acsl_literal_string_29); __e_acsl_delete_block((void *)(& process_status_14)); @@ -551,7 +553,7 @@ int main(int argc, char const **argv) else { int process_status_15; __e_acsl_store_block((void *)(& process_status_15),(size_t)4); - waitpid(pid_15,& process_status_15,0); + __gen_e_acsl_waitpid(pid_15,& process_status_15,0); /*@ assert Eva: initialization: \initialized(&process_status_15); */ signal_eval(process_status_15,1,__gen_e_acsl_literal_string_30); __e_acsl_delete_block((void *)(& process_status_15)); @@ -571,7 +573,7 @@ int main(int argc, char const **argv) else { int process_status_16; __e_acsl_store_block((void *)(& process_status_16),(size_t)4); - waitpid(pid_16,& process_status_16,0); + __gen_e_acsl_waitpid(pid_16,& process_status_16,0); /*@ assert Eva: initialization: \initialized(&process_status_16); */ signal_eval(process_status_16,0,__gen_e_acsl_literal_string_31); __e_acsl_delete_block((void *)(& process_status_16)); -- GitLab