From 1b013a8bed7866a82ed0a0a676288e6285422895 Mon Sep 17 00:00:00 2001 From: Andre Maroneze <andre.maroneze@cea.fr> Date: Mon, 11 Oct 2021 17:28:15 +0200 Subject: [PATCH] [Libc] add semi-spec and stub for non-POSIX asprintf --- share/libc/stdio.c | 20 ++ share/libc/stdio.h | 16 ++ .../instrumentation_model/e_acsl_contract.h | 2 +- .../e_acsl_observation_model.h | 2 +- .../e-acsl/tests/arith/oracle/gen_arith.c | 1 + .../e-acsl/tests/arith/oracle/gen_array.c | 1 + .../e-acsl/tests/arith/oracle/gen_at.c | 1 + .../oracle/gen_at_on-purely-logic-variables.c | 1 + .../e-acsl/tests/arith/oracle/gen_bitwise.c | 1 + .../e-acsl/tests/arith/oracle/gen_cast.c | 1 + .../tests/arith/oracle/gen_comparison.c | 1 + .../arith/oracle/gen_extended_quantifiers.c | 1 + .../e-acsl/tests/arith/oracle/gen_functions.c | 1 + .../tests/arith/oracle/gen_functions_rec.c | 1 + .../tests/arith/oracle/gen_integer_constant.c | 1 + .../e-acsl/tests/arith/oracle/gen_let.c | 1 + .../e-acsl/tests/arith/oracle/gen_longlong.c | 1 + .../e-acsl/tests/arith/oracle/gen_not.c | 1 + .../e-acsl/tests/arith/oracle/gen_quantif.c | 1 + .../e-acsl/tests/arith/oracle/gen_rationals.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1304.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1307.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1324.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1326.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1395.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1478.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1700.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1717.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1718.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1740.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts1837.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts2191.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts2231.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts2305.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts2386.c | 1 + .../e-acsl/tests/bts/oracle/gen_bts2406.c | 1 + .../tests/bts/oracle/gen_issue-eacsl-105.c | 1 + .../tests/bts/oracle/gen_issue-eacsl-139.c | 1 + .../tests/bts/oracle/gen_issue-eacsl-145.c | 1 + .../tests/bts/oracle/gen_issue-eacsl-149.c | 1 + .../tests/bts/oracle/gen_issue-eacsl-172.c | 1 + .../tests/bts/oracle/gen_issue-eacsl-177.c | 1 + .../tests/bts/oracle/gen_issue-eacsl-91.c | 1 + .../e-acsl/tests/bts/oracle/gen_issue69.c | 1 + .../bts/oracle/issue-eacsl-145.res.oracle | 1 - .../tests/constructs/oracle/gen_decrease.c | 1 + .../tests/constructs/oracle/gen_false.c | 1 + .../constructs/oracle/gen_function_contract.c | 1 + .../tests/constructs/oracle/gen_ghost.c | 1 + .../tests/constructs/oracle/gen_invariant.c | 1 + .../constructs/oracle/gen_labeled_stmt.c | 1 + .../e-acsl/tests/constructs/oracle/gen_lazy.c | 1 + .../e-acsl/tests/constructs/oracle/gen_loop.c | 1 + .../constructs/oracle/gen_nested_code_annot.c | 1 + .../tests/constructs/oracle/gen_result.c | 1 + .../e-acsl/tests/constructs/oracle/gen_rte.c | 1 + .../constructs/oracle/gen_stmt_contract.c | 1 + .../e-acsl/tests/constructs/oracle/gen_true.c | 1 + .../tests/constructs/oracle/gen_typedef.c | 1 + .../tests/examples/oracle/gen_linear_search.c | 1 + .../tests/full-mtracking/oracle/gen_addrOf.c | 1 + .../e-acsl/tests/gmp-only/oracle/gen_arith.c | 1 + .../tests/gmp-only/oracle/gen_functions.c | 1 + .../e-acsl/tests/memory/oracle/gen_addrOf.c | 1 + .../e-acsl/tests/memory/oracle/gen_alias.c | 1 + .../tests/memory/oracle/gen_bypassed_var.c | 1 + .../memory/oracle/gen_compound_initializers.c | 1 + .../tests/memory/oracle/gen_ctype_macros.c | 1 + .../tests/memory/oracle/gen_decl_in_switch.c | 1 + .../tests/memory/oracle/gen_early_exit.c | 1 + .../memory/oracle/gen_ghost_parameters.c | 1 + .../e-acsl/tests/memory/oracle/gen_goto.c | 1 + .../e-acsl/tests/memory/oracle/gen_init.c | 1 + .../tests/memory/oracle/gen_literal_string.c | 1 + .../tests/memory/oracle/gen_local_init.c | 1 + .../e-acsl/tests/memory/oracle/gen_null.c | 1 + .../tests/memory/oracle/gen_other_constants.c | 1 + .../e-acsl/tests/memory/oracle/gen_ptr.c | 1 + .../e-acsl/tests/memory/oracle/gen_sizeof.c | 1 + .../e-acsl/tests/memory/oracle/gen_vla.c | 1 + .../e-acsl/tests/special/oracle/gen_builtin.c | 1 + .../special/oracle/gen_e-acsl-bittree-model.c | 1 + .../oracle/gen_e-acsl-compile-dlmalloc.c | 1 + .../special/oracle/gen_e-acsl-functions.c | 1 + .../special/oracle/gen_e-acsl-instrument.c | 1 + .../special/oracle/gen_e-acsl-rt-debug.c | 1 + .../special/oracle/gen_e-acsl-segment-model.c | 1 + .../tests/temporal/oracle/gen_t_addr-by-val.c | 1 + .../tests/temporal/oracle/gen_t_array.c | 1 + .../e-acsl/tests/temporal/oracle/gen_t_char.c | 1 + .../tests/temporal/oracle/gen_t_darray.c | 1 + .../e-acsl/tests/temporal/oracle/gen_t_fptr.c | 1 + .../tests/temporal/oracle/gen_t_global_init.c | 1 + .../tests/temporal/oracle/gen_t_labels.c | 1 + .../tests/temporal/oracle/gen_t_lit_string.c | 1 + .../tests/temporal/oracle/gen_t_scope.c | 1 + .../tests/temporal/oracle/gen_t_while.c | 1 + src/plugins/value/utils/library_functions.ml | 3 +- .../tests/erroneous/oracle/printf.res.oracle | 2 + .../tests/known/oracle/printf.res.oracle | 3 + .../oracle/printf_garbled_mix.res.oracle | 2 + .../oracle/printf_wrong_arity.res.oracle | 3 + .../oracle/printf_wrong_pointers.res.oracle | 2 + .../oracle/printf_wrong_types.res.oracle | 4 + .../tests/known/oracle/scanf.res.oracle | 2 + .../tests/known/oracle/scanf_loop.res.oracle | 2 + .../tests/known/oracle/scanf_wrong.res.oracle | 2 + .../tests/known/oracle/snprintf.res.oracle | 2 + .../tests/known/oracle/stdio_print.res.oracle | 2 + .../tests/known/oracle/stdio_scan.res.oracle | 2 + .../tests/known/oracle/swprintf.res.oracle | 2 + .../tests/known/oracle/wchar.res.oracle | 2 + .../builtins/oracle/linked_list.0.res.oracle | 18 ++ .../builtins/oracle/linked_list.1.res.oracle | 18 ++ .../builtins/oracle/linked_list.2.res.oracle | 20 ++ tests/idct/oracle/ieee_1180_1990.res.oracle | 42 ++- tests/libc/oracle/fc_libc.0.res.oracle | 49 ++-- tests/libc/oracle/fc_libc.1.res.oracle | 32 +++ tests/libc/oracle/stdio_c.res.oracle | 255 ++++++++++-------- tests/libc/oracle/stdio_h.res.oracle | 26 +- tests/libc/stdio_c.c | 15 +- tests/libc/stdio_h.c | 9 +- tests/metrics/oracle/libc.1.res.oracle | 38 +-- tests/metrics/oracle/libc.json | 6 +- tests/rte/oracle/value_rte.res.oracle | 29 +- 125 files changed, 562 insertions(+), 163 deletions(-) diff --git a/share/libc/stdio.c b/share/libc/stdio.c index 0da68a57ac7..bc46eb85673 100644 --- a/share/libc/stdio.c +++ b/share/libc/stdio.c @@ -20,6 +20,7 @@ /* */ /**************************************************************************/ +#include "__fc_builtin.h" #include "stdio.h" #include "stdlib.h" #include "stdint.h" // for SIZE_MAX @@ -92,4 +93,23 @@ ssize_t getline(char **lineptr, size_t *n, FILE *stream) { return -1; } +// Non-POSIX; arbitrarily allocates between 1 and 256 bytes. +// This stub is unsound in the general case, but enough for +// many test cases. +int asprintf(char **strp, const char *fmt, ...) { + va_list args; + va_start(args, fmt); + size_t len = Frama_C_interval(1, 256); + *strp = malloc(len); + if (!*strp) { + va_end(args); + return -1; + } + // Emulate writing to the string + Frama_C_make_unknown(*strp, len - 1U); + (*strp)[len - 1U] = 0; + return len; +} + + __POP_FC_STDLIB diff --git a/share/libc/stdio.h b/share/libc/stdio.h index 93a5829898c..18fa5958b7c 100644 --- a/share/libc/stdio.h +++ b/share/libc/stdio.h @@ -583,6 +583,22 @@ extern int pclose(FILE *stream); ssize_t getline(char **lineptr, size_t *n, FILE *stream); #endif +// Non-POSIX; allocates memory, so requires 'stdio.c' to be included + +#include "__fc_alloc_axiomatic.h" + +/*@ + requires valid_strp: \valid(strp); + requires valid_fmt: valid_read_string(fmt); + assigns __fc_heap_status \from indirect:fmt[0 ..], __fc_heap_status; + assigns \result \from indirect:fmt[0 ..], indirect:__fc_heap_status; + assigns *strp \from fmt[0 ..], indirect:__fc_heap_status; + //missing: variadic arguments + ensures result_error_or_written_byes: \result == -1 || \result >= 0; + allocates *strp; +*/ +int asprintf(char **strp, const char *fmt, ...); + __END_DECLS #define IOV_MAX 1024 diff --git a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.h b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.h index 98fa261bf28..d39f9104217 100644 --- a/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.h +++ b/src/plugins/e-acsl/share/e-acsl/instrumentation_model/e_acsl_contract.h @@ -32,7 +32,7 @@ #include "../internals/e_acsl_alias.h" -#ifdef __FC_STDLIB +#ifdef __FC_FEATURES_H # include <__fc_alloc_axiomatic.h> #else /*@ ghost extern int __fc_heap_status; */ diff --git a/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.h b/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.h index 7cabbe5457d..ce068ecad6e 100644 --- a/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.h +++ b/src/plugins/e-acsl/share/e-acsl/observation_model/e_acsl_observation_model.h @@ -37,7 +37,7 @@ #include "../internals/e_acsl_alias.h" #include "e_acsl_heap.h" -#ifdef __FC_STDLIB +#ifdef __FC_FEATURES_H # include <__fc_alloc_axiomatic.h> #else /*@ ghost extern int __fc_heap_status; */ diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_arith.c b/src/plugins/e-acsl/tests/arith/oracle/gen_arith.c index b5265e84689..7553a951c4b 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_arith.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_arith.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_array.c b/src/plugins/e-acsl/tests/arith/oracle/gen_array.c index 347680631d6..fd738aa7b4b 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_array.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_array.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_at.c b/src/plugins/e-acsl/tests/arith/oracle/gen_at.c index 877b80e482c..3f1cdbd8249 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_at.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_at.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c b/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c index 7357e7cf32c..2ea404238af 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_bitwise.c b/src/plugins/e-acsl/tests/arith/oracle/gen_bitwise.c index a421b3f34be..0f070266079 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_bitwise.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_bitwise.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_cast.c b/src/plugins/e-acsl/tests/arith/oracle/gen_cast.c index c63917398ce..c90b243c08b 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_cast.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_cast.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_comparison.c b/src/plugins/e-acsl/tests/arith/oracle/gen_comparison.c index 896c9741e9e..54bd5b922db 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_comparison.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_comparison.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_extended_quantifiers.c b/src/plugins/e-acsl/tests/arith/oracle/gen_extended_quantifiers.c index 0dc365800f3..5e13957ce56 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_extended_quantifiers.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_extended_quantifiers.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_functions.c b/src/plugins/e-acsl/tests/arith/oracle/gen_functions.c index 84bbc75c2b9..bd14370f572 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_functions.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_functions.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_functions_rec.c b/src/plugins/e-acsl/tests/arith/oracle/gen_functions_rec.c index b63ae684d46..42f39839d78 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_functions_rec.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_functions_rec.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_integer_constant.c b/src/plugins/e-acsl/tests/arith/oracle/gen_integer_constant.c index 096a8cd3446..bdfdae9e75e 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_integer_constant.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_integer_constant.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_let.c b/src/plugins/e-acsl/tests/arith/oracle/gen_let.c index 48a64c6fc1f..f1d72daba9f 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_let.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_let.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_longlong.c b/src/plugins/e-acsl/tests/arith/oracle/gen_longlong.c index e48f67cea87..90b0651a115 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_longlong.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_longlong.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_not.c b/src/plugins/e-acsl/tests/arith/oracle/gen_not.c index d09bb71f994..a553f45a442 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_not.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_not.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_quantif.c b/src/plugins/e-acsl/tests/arith/oracle/gen_quantif.c index ae624f3a5dd..762933f8fed 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_quantif.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_quantif.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c b/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c index 00ea678bb6d..e50e4e0f0f1 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c index 56cd1905203..8c7d12a1602 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c index 3728e989aae..aa6edd56fa7 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c index c5b6665908d..9755e8cd106 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c index e4ce2b0300f..68220ac9996 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1395.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1395.c index 506172e9b1b..e22850aba10 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1395.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1395.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c index db165cf968b..f235a94655c 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c index 8693ba5674d..235b00e3ce3 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c index 9a2a7e93911..12837b756e4 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c index 72cbffe72fd..248e0c5dac9 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1740.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1740.c index ad106a78c1a..71d5655e76f 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1740.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1740.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c index 98da9b92aa8..68b811cf123 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" char *__gen_e_acsl_literal_string_3; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2191.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2191.c index ce15aa2b174..b83815b665d 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2191.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2191.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" char *__gen_e_acsl_literal_string; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2231.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2231.c index 4a9f3921fd8..beb8f456827 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2231.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2231.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2305.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2305.c index eb8feac0bb5..3e6032ceff5 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2305.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2305.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c index c14d3f8d10b..60838e80f00 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" char *__gen_e_acsl_literal_string; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2406.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2406.c index d4fccb9af3c..3005fdba28a 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2406.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2406.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-105.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-105.c index 2c8298f36dc..5a48d337504 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-105.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-105.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c index 3afa85d098a..e5d36213c84 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-145.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-145.c index a68b9bc741b..072539c22ae 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-145.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-145.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-149.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-149.c index 5710f18fae1..8d33325a01f 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-149.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-149.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-172.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-172.c index b6559e0ca88..91b232c39ba 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-172.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-172.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-177.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-177.c index dce9ccced14..f3b0980fe60 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-177.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-177.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-91.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-91.c index b393878b816..24396bfc82b 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-91.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-91.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue69.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue69.c index bcb111b2c7a..c5762d971de 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue69.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue69.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle index e7143f3c725..6136cebc45e 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle @@ -11,7 +11,6 @@ __e_acsl_sound_verdict ∈ [--..--] __e_acsl_heap_allocation_size ∈ [--..--] __e_acsl_heap_allocated_blocks ∈ [--..--] - __fc_heap_status ∈ [--..--] __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_decrease.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_decrease.c index 5c9168343d0..c9da90bf22f 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_decrease.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_decrease.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_false.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_false.c index 85b76ff45a6..b6db66215dc 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_false.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_false.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c index 22a773aa6be..c29fe752eee 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_ghost.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_ghost.c index 7077d948dbe..19a1e3dfd46 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_ghost.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_ghost.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_invariant.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_invariant.c index 6fd64a10a3a..65d2e93785c 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_invariant.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_invariant.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_labeled_stmt.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_labeled_stmt.c index a41944fff18..f1091f95d9b 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_labeled_stmt.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_labeled_stmt.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_lazy.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_lazy.c index 3c90b94bef5..99047ada7fc 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_lazy.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_lazy.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_loop.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_loop.c index 2644fbaf96f..029e81dbde9 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_loop.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_loop.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_nested_code_annot.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_nested_code_annot.c index 075893b1811..39cb8590d19 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_nested_code_annot.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_nested_code_annot.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_result.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_result.c index f0840ee5da6..55615fb2891 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_result.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_result.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c index c329fa29818..fad68a23da5 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_stmt_contract.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_stmt_contract.c index c547c88f2b3..7fbeb0f748b 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_stmt_contract.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_stmt_contract.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_true.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_true.c index 8603a3791f0..4417657b807 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_true.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_true.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_typedef.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_typedef.c index 37c835510d0..45bc00f2631 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_typedef.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_typedef.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/examples/oracle/gen_linear_search.c b/src/plugins/e-acsl/tests/examples/oracle/gen_linear_search.c index ebaf959d8bc..fa774f67e47 100644 --- a/src/plugins/e-acsl/tests/examples/oracle/gen_linear_search.c +++ b/src/plugins/e-acsl/tests/examples/oracle/gen_linear_search.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/full-mtracking/oracle/gen_addrOf.c b/src/plugins/e-acsl/tests/full-mtracking/oracle/gen_addrOf.c index c27908a810a..a27503d98f3 100644 --- a/src/plugins/e-acsl/tests/full-mtracking/oracle/gen_addrOf.c +++ b/src/plugins/e-acsl/tests/full-mtracking/oracle/gen_addrOf.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle/gen_arith.c b/src/plugins/e-acsl/tests/gmp-only/oracle/gen_arith.c index cccd91e3f09..8c713255a98 100644 --- a/src/plugins/e-acsl/tests/gmp-only/oracle/gen_arith.c +++ b/src/plugins/e-acsl/tests/gmp-only/oracle/gen_arith.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle/gen_functions.c b/src/plugins/e-acsl/tests/gmp-only/oracle/gen_functions.c index a803622c90b..a0dfc732599 100644 --- a/src/plugins/e-acsl/tests/gmp-only/oracle/gen_functions.c +++ b/src/plugins/e-acsl/tests/gmp-only/oracle/gen_functions.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_addrOf.c b/src/plugins/e-acsl/tests/memory/oracle/gen_addrOf.c index a72dcdf1649..77eb66c7343 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_addrOf.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_addrOf.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_alias.c b/src/plugins/e-acsl/tests/memory/oracle/gen_alias.c index f73fcd60c90..c056a0c0b85 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_alias.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_alias.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_bypassed_var.c b/src/plugins/e-acsl/tests/memory/oracle/gen_bypassed_var.c index d653ef1b72c..3b0b106b963 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_bypassed_var.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_bypassed_var.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_compound_initializers.c b/src/plugins/e-acsl/tests/memory/oracle/gen_compound_initializers.c index f324cd6b7eb..35129325096 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_compound_initializers.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_compound_initializers.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" char *__gen_e_acsl_literal_string_3; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_ctype_macros.c b/src/plugins/e-acsl/tests/memory/oracle/gen_ctype_macros.c index f9916ddbab1..45e92a3f5de 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_ctype_macros.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_ctype_macros.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "ctype.h" #include "stddef.h" #include "stdio.h" diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_decl_in_switch.c b/src/plugins/e-acsl/tests/memory/oracle/gen_decl_in_switch.c index 2eb6d843174..9cb1a440568 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_decl_in_switch.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_decl_in_switch.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_early_exit.c b/src/plugins/e-acsl/tests/memory/oracle/gen_early_exit.c index 97debe70674..123bf12d8a5 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_early_exit.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_early_exit.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_ghost_parameters.c b/src/plugins/e-acsl/tests/memory/oracle/gen_ghost_parameters.c index 3a4ab987b63..ade66b89b69 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_ghost_parameters.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_ghost_parameters.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_goto.c b/src/plugins/e-acsl/tests/memory/oracle/gen_goto.c index ee4f315c4e1..70c0f2aa925 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_goto.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_goto.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_init.c b/src/plugins/e-acsl/tests/memory/oracle/gen_init.c index 2c00fe4f012..276d86a0d82 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_init.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_init.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_literal_string.c b/src/plugins/e-acsl/tests/memory/oracle/gen_literal_string.c index 2ae93f0e987..61622601118 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_literal_string.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_literal_string.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" char *__gen_e_acsl_literal_string_6; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_local_init.c b/src/plugins/e-acsl/tests/memory/oracle/gen_local_init.c index 3f3eb016471..0eb3cefd4a8 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_local_init.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_local_init.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_null.c b/src/plugins/e-acsl/tests/memory/oracle/gen_null.c index 94b5ca7fced..375f0da0129 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_null.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_null.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_other_constants.c b/src/plugins/e-acsl/tests/memory/oracle/gen_other_constants.c index bdb06b362ea..7de63880550 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_other_constants.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_other_constants.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_ptr.c b/src/plugins/e-acsl/tests/memory/oracle/gen_ptr.c index 4b7d6f59edd..3aadcd229f8 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_ptr.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_ptr.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_sizeof.c b/src/plugins/e-acsl/tests/memory/oracle/gen_sizeof.c index 7f829ac63e5..04238dc3f42 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_sizeof.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_sizeof.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_vla.c b/src/plugins/e-acsl/tests/memory/oracle/gen_vla.c index 76649cc1f80..db99b831141 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_vla.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_vla.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_builtin.c b/src/plugins/e-acsl/tests/special/oracle/gen_builtin.c index 40a21f890be..a80a813054c 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_builtin.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_builtin.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-bittree-model.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-bittree-model.c index 46e4f1c6e12..72d97a54831 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-bittree-model.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-bittree-model.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-compile-dlmalloc.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-compile-dlmalloc.c index 59f62c0c1c0..2f77399ecaa 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-compile-dlmalloc.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-compile-dlmalloc.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c index 5b7a9aa5a54..79d83f6e40d 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c index be6541fd320..2a06979d910 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stdarg.h" #include "stddef.h" #include "stdio.h" diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-rt-debug.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-rt-debug.c index 59f62c0c1c0..2f77399ecaa 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-rt-debug.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-rt-debug.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-segment-model.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-segment-model.c index 46e4f1c6e12..72d97a54831 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-segment-model.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-segment-model.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_addr-by-val.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_addr-by-val.c index dfc3a961e28..0324021b4b2 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_addr-by-val.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_addr-by-val.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdint.h" #include "stdio.h" diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_array.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_array.c index d36bd641170..17349b41486 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_array.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_array.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_char.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_char.c index 5369d3c824b..26ac8e12f25 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_char.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_char.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_darray.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_darray.c index f7db119cba3..2dd226207fc 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_darray.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_darray.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fptr.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fptr.c index d17b4ca48cc..5759e6ea84b 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fptr.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fptr.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_global_init.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_global_init.c index f682429dec8..5206161a3d3 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_global_init.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_global_init.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" char *__gen_e_acsl_literal_string; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_labels.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_labels.c index bd0b5a8ef59..72fec76659a 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_labels.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_labels.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_lit_string.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_lit_string.c index fddcff05b56..55a7f643816 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_lit_string.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_lit_string.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" char *__gen_e_acsl_literal_string_2; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_scope.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_scope.c index 54d2758b54f..d2fccd6d110 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_scope.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_scope.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c index 4fba571813a..8dd92ddbabe 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c @@ -1,4 +1,5 @@ /* Generated by Frama-C */ +#include "__fc_alloc_axiomatic.h" #include "stddef.h" #include "stdio.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; diff --git a/src/plugins/value/utils/library_functions.ml b/src/plugins/value/utils/library_functions.ml index 7262bebbeaf..fb21a5a91f6 100644 --- a/src/plugins/value/utils/library_functions.ml +++ b/src/plugins/value/utils/library_functions.ml @@ -71,7 +71,8 @@ let returned_value kf = let unsupported_specifications = - [ "glob", "glob.c"; + [ "asprintf", "stdio.c"; + "glob", "glob.c"; "globfree", "glob.c"; "getaddrinfo", "netdb.c"; "getline", "stdio.c"; diff --git a/src/plugins/variadic/tests/erroneous/oracle/printf.res.oracle b/src/plugins/variadic/tests/erroneous/oracle/printf.res.oracle index 648e90041fe..b6d3abc6517 100644 --- a/src/plugins/variadic/tests/erroneous/oracle/printf.res.oracle +++ b/src/plugins/variadic/tests/erroneous/oracle/printf.res.oracle @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/erroneous/printf.c:8: Warning: Multiple usage of flag '-'. [variadic] tests/erroneous/printf.c:8: Warning: Flag ' ' and conversion specififer e are not compatibles. diff --git a/src/plugins/variadic/tests/known/oracle/printf.res.oracle b/src/plugins/variadic/tests/known/oracle/printf.res.oracle index c18613a1f18..eef24bcc00f 100644 --- a/src/plugins/variadic/tests/known/oracle/printf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf.res.oracle @@ -26,6 +26,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/printf.c:37: Translating call to printf to a call to the specialized version printf_va_1. [variadic] tests/known/printf.c:38: @@ -156,6 +158,7 @@ hashes[0..3] ∈ {35} __retres ∈ {0} /* Generated by Frama-C */ +#include "__fc_builtin.h" #include "errno.h" #include "inttypes.h" #include "signal.h" 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 f4a8692821d..7ccc3cea381 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 @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/printf_garbled_mix.c:7: Translating call to printf to a call to the specialized version printf_va_1. [eva] Analyzing a complete application starting at main diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle index c20bf567f1b..6fb1d968c2e 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/printf_wrong_arity.c:8: Translating call to printf to a call to the specialized version printf_va_1. [variadic] tests/known/printf_wrong_arity.c:8: Warning: @@ -38,6 +40,7 @@ .__fc_FILE_data ∈ [--..--] __retres ∈ {0} /* Generated by Frama-C */ +#include "__fc_builtin.h" #include "errno.h" #include "stdarg.h" #include "stddef.h" diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle index 94e8f171ee2..60c107c9ea4 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/printf_wrong_pointers.c:14: Translating call to printf to a call to the specialized version printf_va_1. [variadic] tests/known/printf_wrong_pointers.c:15: 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 96262a87b67..a235c4ff5de 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 @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/printf_wrong_types.c:18: Translating call to printf to a call to the specialized version printf_va_1. [variadic] tests/known/printf_wrong_types.c:19: @@ -426,6 +428,8 @@ int main(void) Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/printf_wrong_types.c:18: Translating call to printf to a call to the specialized version printf_va_1. [variadic] tests/known/printf_wrong_types.c:19: diff --git a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle index f32b5df9f60..cfb401fc439 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/scanf.c:7: Translating call to scanf to a call to the specialized version scanf_va_1. [eva] Analyzing a complete application starting at main diff --git a/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle index 972e7931d57..5f797ff74eb 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/scanf_loop.c:6: Translating call to scanf to a call to the specialized version scanf_va_1. [eva] Analyzing a complete application starting at main diff --git a/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle index 84a91e7152a..1eb6ee4db02 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/scanf_wrong.c:8: Translating call to scanf to a call to the specialized version scanf_va_1. [variadic] tests/known/scanf_wrong.c:8: Warning: diff --git a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle index e570fee7f28..1aa67296258 100644 --- a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/snprintf.c:12: Translating call to snprintf to a call to the specialized version snprintf_va_1. [variadic] tests/known/snprintf.c:15: diff --git a/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle b/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle index 5195bdb7c25..5cded5c9814 100644 --- a/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/stdio_print.c:9: Warning: Call to function fprintf with non-static format argument: no specification will be generated. diff --git a/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle b/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle index d1405ef465a..933132b0680 100644 --- a/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle @@ -14,6 +14,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/stdio_scan.c:10: Warning: Call to function fscanf with non-static format argument: no specification will be generated. diff --git a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle index ceed1ffebc1..b86d9aef770 100644 --- a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle @@ -26,6 +26,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/swprintf.c:12: Translating call to swprintf to a call to the specialized version swprintf_va_1. [variadic] tests/known/swprintf.c:15: diff --git a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle index c9a23135ec5..eb195f46475 100644 --- a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle @@ -26,6 +26,8 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:548: Declaration of variadic function dprintf. +[variadic] FRAMAC_SHARE/libc/stdio.h:590: + Declaration of variadic function asprintf. [variadic] tests/known/wchar.c:11: Translating call to wprintf to a call to the specialized version wprintf_va_1. [variadic] tests/known/wchar.c:12: diff --git a/tests/builtins/oracle/linked_list.0.res.oracle b/tests/builtins/oracle/linked_list.0.res.oracle index 603208eb3a1..6d87dc3d346 100644 --- a/tests/builtins/oracle/linked_list.0.res.oracle +++ b/tests/builtins/oracle/linked_list.0.res.oracle @@ -18,6 +18,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -60,6 +61,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -98,6 +100,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -139,6 +142,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -179,6 +183,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -223,6 +228,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -265,6 +271,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -311,6 +318,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -355,6 +363,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -403,6 +412,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -449,6 +459,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -499,6 +510,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -791,6 +803,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -1085,6 +1098,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -1375,6 +1389,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -1669,6 +1684,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -1960,6 +1976,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} @@ -2255,6 +2272,7 @@ __fc_tmpnam[0..2047] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {32767} __fc_random48_init ∈ {0} diff --git a/tests/builtins/oracle/linked_list.1.res.oracle b/tests/builtins/oracle/linked_list.1.res.oracle index 33e86c7f82e..2171112cc9e 100644 --- a/tests/builtins/oracle/linked_list.1.res.oracle +++ b/tests/builtins/oracle/linked_list.1.res.oracle @@ -18,6 +18,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -60,6 +61,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -98,6 +100,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -139,6 +142,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -179,6 +183,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -223,6 +228,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -265,6 +271,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -311,6 +318,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -355,6 +363,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -403,6 +412,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -450,6 +460,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -501,6 +512,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -547,6 +559,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -591,6 +604,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -631,6 +645,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -675,6 +690,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -718,6 +734,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -761,6 +778,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} diff --git a/tests/builtins/oracle/linked_list.2.res.oracle b/tests/builtins/oracle/linked_list.2.res.oracle index ed887dca2d5..794283f4aeb 100644 --- a/tests/builtins/oracle/linked_list.2.res.oracle +++ b/tests/builtins/oracle/linked_list.2.res.oracle @@ -18,6 +18,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -60,6 +61,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -97,6 +99,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -138,6 +141,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -178,6 +182,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -222,6 +227,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -264,6 +270,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -310,6 +317,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -354,6 +362,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -402,6 +411,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -448,6 +458,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -498,6 +509,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -546,6 +558,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -598,6 +611,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -648,6 +662,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -702,6 +717,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -754,6 +770,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -810,6 +827,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -864,6 +882,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} @@ -922,6 +941,7 @@ __fc_tmpnam[0..0x7FF] ∈ {0} __fc_p_tmpnam ∈ {{ &__fc_tmpnam[0] }} __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_random_counter ∈ [--..--] __fc_rand_max ∈ {0x7FFF} __fc_random48_init ∈ {0} diff --git a/tests/idct/oracle/ieee_1180_1990.res.oracle b/tests/idct/oracle/ieee_1180_1990.res.oracle index eb9d1531fcf..8961e153e8a 100644 --- a/tests/idct/oracle/ieee_1180_1990.res.oracle +++ b/tests/idct/oracle/ieee_1180_1990.res.oracle @@ -1163,6 +1163,9 @@ [ Valid ] Axiomatic 'WcsNCmp' axiomatic WcsNCmp by Frama-C kernel. +[ Valid ] Axiomatic 'dynamic_allocation' + axiomatic dynamic_allocation + by Frama-C kernel. [ Valid ] Axiomatic 'format_length' axiomatic format_length by Frama-C kernel. @@ -1190,6 +1193,9 @@ [ Extern ] Axiom 'memset_def' axiom memset_def Unverifiable but considered Valid. +[ Extern ] Axiom 'never_allocable' + axiom never_allocable + Unverifiable but considered Valid. [ Extern ] Axiom 'strchr_def' axiom strchr_def Unverifiable but considered Valid. @@ -2347,6 +2353,36 @@ default behavior by Frama-C kernel. +-------------------------------------------------------------------------------- +--- Properties of Function 'asprintf' +-------------------------------------------------------------------------------- + +[ Extern ] Post-condition 'result_error_or_written_byes' + ensures + result_error_or_written_byes: \result ≡ -1 ∨ \result ≥ 0 + Unverifiable but considered Valid. +[ Extern ] Assigns (file share/libc/stdio.h, line 593) + assigns __fc_heap_status, \result, *strp; + Unverifiable but considered Valid. +[ Extern ] Froms (file share/libc/stdio.h, line 593) + assigns __fc_heap_status + \from (indirect: *(fmt + (0 ..))), __fc_heap_status; + Unverifiable but considered Valid. +[ Extern ] Froms (file share/libc/stdio.h, line 594) + assigns \result + \from (indirect: *(fmt + (0 ..))), (indirect: __fc_heap_status); + Unverifiable but considered Valid. +[ Extern ] Froms (file share/libc/stdio.h, line 595) + assigns *strp + \from *(fmt + (0 ..)), (indirect: __fc_heap_status); + Unverifiable but considered Valid. +[ Valid ] Default behavior + default behavior + by Frama-C kernel. +[ Extern ] Frees/Allocates nothing/(file share/libc/stdio.h, line 598) + allocates *\old(strp); + Unverifiable but considered Valid. + -------------------------------------------------------------------------------- --- Properties of Function '__fc_fpclassifyf' -------------------------------------------------------------------------------- @@ -4394,9 +4430,9 @@ -------------------------------------------------------------------------------- --- Status Report Summary -------------------------------------------------------------------------------- - 191 Completely validated + 193 Completely validated 16 Locally validated - 556 Considered valid + 563 Considered valid 56 To be validated - 819 Total + 828 Total -------------------------------------------------------------------------------- diff --git a/tests/libc/oracle/fc_libc.0.res.oracle b/tests/libc/oracle/fc_libc.0.res.oracle index 52ea02c4ae3..881040218e6 100644 --- a/tests/libc/oracle/fc_libc.0.res.oracle +++ b/tests/libc/oracle/fc_libc.0.res.oracle @@ -13,11 +13,11 @@ [eva] ====== VALUES COMPUTED ====== [eva:final-states] Values at end of function main: -[metrics] Defined functions (99) - ====================== +[metrics] Defined functions (100) + ======================= Frama_C_abort (1 call); Frama_C_char_interval (1 call); Frama_C_double_interval (0 call); Frama_C_float_interval (0 call); - Frama_C_interval (16 calls); Frama_C_make_unknown (5 calls); + Frama_C_interval (17 calls); Frama_C_make_unknown (6 calls); Frama_C_nondet (12 calls); Frama_C_nondet_ptr (0 call); Frama_C_update_entropy (7 calls); __FC_assert (0 call); __fc_initenv (4 calls); __finite (0 call); __finitef (0 call); abs (0 call); @@ -25,16 +25,17 @@ argz_count (0 call); argz_create (0 call); argz_create_sep (0 call); argz_delete (0 call); argz_extract (0 call); argz_insert (0 call); argz_next (1 call); argz_replace (0 call); argz_stringify (0 call); - atoi (0 call); calloc (0 call); char_equal_ignore_case (1 call); - fabs (0 call); fabsf (0 call); feholdexcept (0 call); fesetenv (0 call); - fetestexcept (0 call); getaddrinfo (0 call); getenv (0 call); - gethostbyname (0 call); getline (0 call); glob (0 call); globfree (0 call); - imaxabs (0 call); imaxdiv (0 call); isalnum (0 call); isalpha (0 call); - isblank (0 call); iscntrl (0 call); isdigit (3 calls); isgraph (0 call); - islower (0 call); isprint (0 call); ispunct (0 call); isspace (1 call); - isupper (0 call); isxdigit (0 call); localeconv (0 call); main (0 call); - memchr (0 call); memcmp (0 call); memcpy (5 calls); memmove (3 calls); - memoverlap (1 call); mempcpy (1 call); memrchr (0 call); memset (1 call); + asprintf (0 call); atoi (0 call); calloc (0 call); + char_equal_ignore_case (1 call); fabs (0 call); fabsf (0 call); + feholdexcept (0 call); fesetenv (0 call); fetestexcept (0 call); + getaddrinfo (0 call); getenv (0 call); gethostbyname (0 call); + getline (0 call); glob (0 call); globfree (0 call); imaxabs (0 call); + imaxdiv (0 call); isalnum (0 call); isalpha (0 call); isblank (0 call); + iscntrl (0 call); isdigit (3 calls); isgraph (0 call); islower (0 call); + isprint (0 call); ispunct (0 call); isspace (1 call); isupper (0 call); + isxdigit (0 call); localeconv (0 call); main (0 call); memchr (0 call); + memcmp (0 call); memcpy (5 calls); memmove (3 calls); memoverlap (1 call); + mempcpy (1 call); memrchr (0 call); memset (1 call); posix_memalign (0 call); putenv (0 call); realpath (0 call); res_search (1 call); setenv (0 call); setlocale (0 call); stpcpy (1 call); str_append (3 calls); strcasecmp (0 call); strcat (0 call); @@ -122,7 +123,7 @@ log (0 call); log10 (0 call); log10f (0 call); log10l (0 call); log2 (0 call); log2f (0 call); log2l (0 call); logf (0 call); logl (0 call); longjmp (0 call); lrand48 (0 call); lseek (0 call); lstat (0 call); - makedev (0 call); malloc (12 calls); mblen (0 call); mbstowcs (0 call); + makedev (0 call); malloc (13 calls); mblen (0 call); mbstowcs (0 call); mbtowc (0 call); mkdir (0 call); mkfifo (0 call); mknod (0 call); mkstemp (0 call); mktime (0 call); mrand48 (0 call); nan (0 call); nanf (0 call); nanl (0 call); nanosleep (0 call); nrand48 (0 call); @@ -195,18 +196,18 @@ Global metrics ============== - Sloc = 1460 - Decision point = 270 + Sloc = 1472 + Decision point = 271 Global variables = 86 - If = 255 + If = 256 Loop = 55 - Goto = 112 - Assignment = 618 - Exit point = 99 - Function = 526 - Function call = 141 - Pointer dereferencing = 249 - Cyclomatic complexity = 369 + Goto = 113 + Assignment = 625 + Exit point = 100 + Function = 527 + Function call = 144 + Pointer dereferencing = 254 + Cyclomatic complexity = 371 [kernel] share/libc/sys/socket.h:451: Warning: clause with '\initialized' must contain name 'initialization' /* Generated by Frama-C */ diff --git a/tests/libc/oracle/fc_libc.1.res.oracle b/tests/libc/oracle/fc_libc.1.res.oracle index 1cf9de7928f..c794e4be1b1 100644 --- a/tests/libc/oracle/fc_libc.1.res.oracle +++ b/tests/libc/oracle/fc_libc.1.res.oracle @@ -5630,6 +5630,8 @@ extern int pclose(FILE *stream); ssize_t getline(char **lineptr, size_t *n, FILE *stream); +int asprintf(char **strp, char const *fmt, void * const *__va_params); + /*@ assigns \result; assigns \result \from maj, min; */ extern dev_t makedev(int maj, int min); @@ -5740,6 +5742,36 @@ ssize_t getline(char **lineptr, size_t *n, FILE *stream) return_label: return __retres; } +/*@ requires valid_strp: \valid(strp); + requires valid_fmt: valid_read_string(fmt); + ensures result_error_or_written_byes: \result ≡ -1 ∨ \result ≥ 0; + assigns __fc_heap_status, \result, *strp; + assigns __fc_heap_status + \from (indirect: *(fmt + (0 ..))), __fc_heap_status; + assigns \result + \from (indirect: *(fmt + (0 ..))), (indirect: __fc_heap_status); + assigns *strp \from *(fmt + (0 ..)), (indirect: __fc_heap_status); + allocates *\old(strp); + */ +int asprintf(char **strp, char const *fmt, void * const *__va_params) +{ + int __retres; + va_list args; + int tmp; + args = __va_params; + tmp = Frama_C_interval(1,256); + size_t len = (unsigned int)tmp; + *strp = (char *)malloc(len); + if (! *strp) { + __retres = -1; + goto return_label; + } + Frama_C_make_unknown(*strp,len - 1U); + *(*strp + (len - 1U)) = (char)0; + __retres = (int)len; + return_label: return __retres; +} + /*@ requires abs_representable: i > -2147483647 - 1; assigns \result; assigns \result \from i; diff --git a/tests/libc/oracle/stdio_c.res.oracle b/tests/libc/oracle/stdio_c.res.oracle index 06ba2405258..97998c985f7 100644 --- a/tests/libc/oracle/stdio_c.res.oracle +++ b/tests/libc/oracle/stdio_c.res.oracle @@ -3,277 +3,322 @@ [eva] Computing initial state [eva] Initial state computed [eva:initial-state] Values of globals at initialization - + nondet ∈ [--..--] [eva] computing for function fopen <- main. - Called from tests/libc/stdio_c.c:11. + Called from tests/libc/stdio_c.c:12. [eva] using specification for function fopen -[eva] tests/libc/stdio_c.c:11: +[eva] tests/libc/stdio_c.c:12: function fopen: precondition 'valid_filename' got status valid. -[eva] tests/libc/stdio_c.c:11: +[eva] tests/libc/stdio_c.c:12: function fopen: precondition 'valid_mode' got status valid. [eva] Done for function fopen [eva] computing for function getline <- main. - Called from tests/libc/stdio_c.c:13. + Called from tests/libc/stdio_c.c:14. [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:46. + Called from share/libc/stdio.c:47. [eva] using specification for function ferror -[eva] share/libc/stdio.c:46: +[eva] share/libc/stdio.c:47: function ferror: precondition 'valid_stream' got status valid. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:46. + Called from share/libc/stdio.c:47. [eva] using specification for function feof -[eva] share/libc/stdio.c:46: +[eva] share/libc/stdio.c:47: function feof: precondition 'valid_stream' got status valid. [eva] Done for function feof -[eva] share/libc/stdio.c:51: Call to builtin malloc -[eva] share/libc/stdio.c:51: allocating variable __malloc_getline_l51 +[eva] share/libc/stdio.c:52: Call to builtin malloc +[eva] share/libc/stdio.c:52: allocating variable __malloc_getline_l52 [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. -[eva] share/libc/stdio.c:60: + Called from share/libc/stdio.c:61. +[eva] share/libc/stdio.c:61: function ferror: precondition 'valid_stream' got status valid. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. -[eva] share/libc/stdio.c:60: + Called from share/libc/stdio.c:61. +[eva] share/libc/stdio.c:61: function feof: precondition 'valid_stream' got status valid. [eva] Done for function feof [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] using specification for function fgetc -[eva] share/libc/stdio.c:62: +[eva] share/libc/stdio.c:63: function fgetc: precondition 'valid_stream' got status valid. [eva] Done for function fgetc -[eva:alarm] share/libc/stdio.c:68: Warning: +[eva:alarm] share/libc/stdio.c:69: Warning: out of bounds write. assert \valid(*lineptr + tmp_2); (tmp_2 from cur++) -[eva] share/libc/stdio.c:61: starting to merge loop iterations +[eva] share/libc/stdio.c:62: starting to merge loop iterations [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc -[eva] share/libc/stdio.c:82: Call to builtin realloc -[eva] share/libc/stdio.c:82: +[eva] share/libc/stdio.c:83: Call to builtin realloc +[eva] share/libc/stdio.c:83: function realloc: precondition 'freeable' got status valid. -[eva] share/libc/stdio.c:82: allocating variable __realloc_getline_l82 -[eva] share/libc/stdio.c:60: starting to merge loop iterations +[eva] share/libc/stdio.c:83: allocating variable __realloc_getline_l83 +[eva] share/libc/stdio.c:61: starting to merge loop iterations [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc -[eva] share/libc/stdio.c:82: Call to builtin realloc +[eva] share/libc/stdio.c:83: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc -[eva] share/libc/stdio.c:82: Call to builtin realloc +[eva] share/libc/stdio.c:83: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc -[eva] share/libc/stdio.c:82: Call to builtin realloc +[eva] share/libc/stdio.c:83: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc -[eva] share/libc/stdio.c:82: Call to builtin realloc +[eva] share/libc/stdio.c:83: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof -[eva:alarm] share/libc/stdio.c:71: Warning: +[eva:alarm] share/libc/stdio.c:72: Warning: out of bounds write. assert \valid(*lineptr + cur); [eva] Recording results for getline [eva] Done for function getline -[eva:alarm] tests/libc/stdio_c.c:14: Warning: - assertion 'read_ok' got status unknown. -[eva] tests/libc/stdio_c.c:15: Call to builtin strlen [eva:alarm] tests/libc/stdio_c.c:15: Warning: - function strlen: precondition 'valid_string_s' got status unknown. + assertion 'read_ok' got status unknown. +[eva] tests/libc/stdio_c.c:16: Call to builtin strlen [eva:alarm] tests/libc/stdio_c.c:16: Warning: - assertion 'read_bytes' got status unknown. + function strlen: precondition 'valid_string_s' got status unknown. [eva:alarm] tests/libc/stdio_c.c:17: Warning: + assertion 'read_bytes' got status unknown. +[eva:alarm] tests/libc/stdio_c.c:18: Warning: assertion 'allocated_enough' got status unknown. -[eva] tests/libc/stdio_c.c:13: starting to merge loop iterations +[eva] tests/libc/stdio_c.c:14: starting to merge loop iterations [eva] computing for function getline <- main. - Called from tests/libc/stdio_c.c:13. + Called from tests/libc/stdio_c.c:14. [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:46. + Called from share/libc/stdio.c:47. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:46. + Called from share/libc/stdio.c:47. [eva] Done for function feof -[eva] share/libc/stdio.c:51: Call to builtin malloc +[eva] share/libc/stdio.c:52: Call to builtin malloc [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc -[eva] share/libc/stdio.c:82: Call to builtin realloc +[eva] share/libc/stdio.c:83: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof [eva] Recording results for getline [eva] Done for function getline -[eva] tests/libc/stdio_c.c:15: Call to builtin strlen +[eva] tests/libc/stdio_c.c:16: Call to builtin strlen [eva] computing for function getline <- main. - Called from tests/libc/stdio_c.c:13. + Called from tests/libc/stdio_c.c:14. [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:46. + Called from share/libc/stdio.c:47. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:46. + Called from share/libc/stdio.c:47. [eva] Done for function feof -[eva] share/libc/stdio.c:51: Call to builtin malloc +[eva] share/libc/stdio.c:52: Call to builtin malloc [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc -[eva] share/libc/stdio.c:82: Call to builtin realloc +[eva] share/libc/stdio.c:83: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof [eva] Recording results for getline [eva] Done for function getline -[eva] tests/libc/stdio_c.c:15: Call to builtin strlen +[eva] tests/libc/stdio_c.c:16: Call to builtin strlen [eva] computing for function getline <- main. - Called from tests/libc/stdio_c.c:13. + Called from tests/libc/stdio_c.c:14. [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:46. + Called from share/libc/stdio.c:47. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:46. + Called from share/libc/stdio.c:47. [eva] Done for function feof -[eva] share/libc/stdio.c:51: Call to builtin malloc +[eva] share/libc/stdio.c:52: Call to builtin malloc [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc [eva] computing for function fgetc <- getline <- main. - Called from share/libc/stdio.c:62. + Called from share/libc/stdio.c:63. [eva] Done for function fgetc -[eva] share/libc/stdio.c:82: Call to builtin realloc +[eva] share/libc/stdio.c:83: Call to builtin realloc [eva] computing for function ferror <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function ferror [eva] computing for function feof <- getline <- main. - Called from share/libc/stdio.c:60. + Called from share/libc/stdio.c:61. [eva] Done for function feof [eva] Recording results for getline [eva] Done for function getline -[eva] tests/libc/stdio_c.c:15: Call to builtin strlen -[eva] tests/libc/stdio_c.c:19: Call to builtin free -[eva] tests/libc/stdio_c.c:19: +[eva] tests/libc/stdio_c.c:16: Call to builtin strlen +[eva] tests/libc/stdio_c.c:20: Call to builtin free +[eva] tests/libc/stdio_c.c:20: function free: precondition 'freeable' got status valid. [eva] computing for function fclose <- main. - Called from tests/libc/stdio_c.c:20. + Called from tests/libc/stdio_c.c:21. [eva] using specification for function fclose -[eva] tests/libc/stdio_c.c:20: +[eva] tests/libc/stdio_c.c:21: function fclose: precondition 'valid_stream' got status valid. [eva] Done for function fclose +[eva] computing for function asprintf <- main. + Called from tests/libc/stdio_c.c:28. +[eva] computing for function Frama_C_interval <- asprintf <- main. + Called from share/libc/stdio.c:102. +[eva] using specification for function Frama_C_interval +[eva] share/libc/stdio.c:102: + function Frama_C_interval: precondition 'order' got status valid. +[eva] Done for function Frama_C_interval +[eva] share/libc/stdio.c:103: Call to builtin malloc +[eva] share/libc/stdio.c:103: allocating variable __malloc_asprintf_l103 +[eva] computing for function Frama_C_make_unknown <- asprintf <- main. + Called from share/libc/stdio.c:109. +[eva] using specification for function Frama_C_make_unknown +[eva:alarm] share/libc/stdio.c:109: Warning: + function Frama_C_make_unknown: precondition 'valid_p' got status unknown. +[eva] Done for function Frama_C_make_unknown +[eva:alarm] share/libc/stdio.c:110: Warning: + out of bounds write. assert \valid(*strp + (unsigned int)(len - 1U)); +[eva] Recording results for asprintf +[eva] Done for function asprintf +[eva] computing for function printf_va_1 <- main. + Called from tests/libc/stdio_c.c:30. +[eva] using specification for function printf_va_1 +[eva:alarm] tests/libc/stdio_c.c:30: Warning: + function printf_va_1: precondition valid_read_string(param0) got status unknown. +[eva] tests/libc/stdio_c.c:30: + function printf_va_1: precondition valid_read_string(format) got status valid. +[eva] Done for function printf_va_1 +[eva] tests/libc/stdio_c.c:31: Call to builtin free +[eva] tests/libc/stdio_c.c:31: + function free: precondition 'freeable' got status valid. [eva] Recording results for main [eva] done for function main [eva] ====== VALUES COMPUTED ====== +[eva:final-states] Values at end of function asprintf: + __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] + args ∈ {{ &__va_args[0] }} + len ∈ [1..256] + s ∈ {{ NULL ; &__malloc_asprintf_l103[0] }} + __retres ∈ [-1..256] + __malloc_asprintf_l103[0..254] ∈ [--..--] or UNINITIALIZED + [255] ∈ {0} or UNINITIALIZED [eva:final-states] Values at end of function getline: __fc_heap_status ∈ [--..--] __fc_errno ∈ [--..--] __fc_fopen[0..15] ∈ [--..--] cur ∈ [0..2147483647] line ∈ - {{ NULL ; &__malloc_w_getline_l51[0] ; &__realloc_w_getline_l82[0] }} + {{ NULL ; &__malloc_w_getline_l52[0] ; &__realloc_w_getline_l83[0] }} len ∈ [0..2147483647] __retres ∈ [-1..2147483646] - __malloc_w_getline_l51[0..1] ∈ [--..--] or UNINITIALIZED - __realloc_w_getline_l82[0..2147483645] ∈ [--..--] or UNINITIALIZED + __malloc_w_getline_l52[0..1] ∈ [--..--] or UNINITIALIZED + __realloc_w_getline_l83[0..2147483645] ∈ [--..--] or UNINITIALIZED [2147483646] ∈ {0} or UNINITIALIZED [eva:final-states] Values at end of function main: __fc_heap_status ∈ [--..--] + Frama_C_entropy_source ∈ [--..--] __fc_errno ∈ [--..--] __fc_fopen[0..15] ∈ [--..--] + __fc_initial_stdout.__fc_FILE_id ∈ {1} + .__fc_FILE_data ∈ [--..--] stream ∈ {{ NULL ; &__fc_fopen + [0..120],0%8 }} line ∈ - {{ NULL ; &__malloc_w_getline_l51[0] ; &__realloc_w_getline_l82[0] }} or ESCAPINGADDR + {{ NULL ; &__malloc_w_getline_l52[0] ; &__realloc_w_getline_l83[0] }} or ESCAPINGADDR len ∈ [0..2147483647] total_len ∈ [--..--] read ∈ {-1} or UNINITIALIZED __retres ∈ {0; 1} - __malloc_w_getline_l51[0..1] ∈ [--..--] or UNINITIALIZED - __realloc_w_getline_l82[0..2147483645] ∈ [--..--] or UNINITIALIZED + __malloc_w_getline_l52[0..1] ∈ [--..--] or UNINITIALIZED + __realloc_w_getline_l83[0..2147483645] ∈ [--..--] or UNINITIALIZED [2147483646] ∈ {0} or UNINITIALIZED + __malloc_asprintf_l103[0..254] ∈ [--..--] or UNINITIALIZED + [255] ∈ {0} or UNINITIALIZED diff --git a/tests/libc/oracle/stdio_h.res.oracle b/tests/libc/oracle/stdio_h.res.oracle index 3a64229e0e6..9029d4fbc09 100644 --- a/tests/libc/oracle/stdio_h.res.oracle +++ b/tests/libc/oracle/stdio_h.res.oracle @@ -137,12 +137,35 @@ [eva] tests/libc/stdio_h.c:49: function fclose: precondition 'valid_stream' got status valid. [eva] Done for function fclose +[eva] computing for function asprintf <- main. + Called from tests/libc/stdio_h.c:52. +[eva] using specification for function asprintf +[eva:libc:unsupported-spec] tests/libc/stdio_h.c:52: Warning: + The specification of function 'asprintf' is currently not supported by Eva. + Consider adding 'share/libc/stdio.c' to the analyzed source files. +[eva] tests/libc/stdio_h.c:52: Warning: ignoring unsupported \allocates clause +[eva] tests/libc/stdio_h.c:52: + function asprintf: precondition 'valid_strp' got status valid. +[eva] tests/libc/stdio_h.c:52: + function asprintf: precondition 'valid_fmt' got status valid. +[eva] Done for function asprintf +[eva:alarm] tests/libc/stdio_h.c:54: Warning: + accessing uninitialized left-value. assert \initialized(&s); +[eva] computing for function printf_va_2 <- main. + Called from tests/libc/stdio_h.c:54. +[eva] using specification for function printf_va_2 +[eva:alarm] tests/libc/stdio_h.c:54: Warning: + function printf_va_2: precondition valid_read_string(param0) got status invalid. +[eva] tests/libc/stdio_h.c:54: + function printf_va_2: no state left, precondition valid_read_string(format) got status valid. +[eva] Done for function printf_va_2 [eva] Recording results for main [eva] done for function main [eva] ====== VALUES COMPUTED ====== [eva:final-states] Values at end of function main: __fc_errno ∈ [--..--] __fc_fopen[0..15] ∈ [--..--] + __fc_heap_status ∈ [--..--] Frama_C_entropy_source ∈ [--..--] f ∈ {{ NULL ; &__fc_fopen + [0..120],0%8 }} r ∈ [--..--] @@ -154,5 +177,6 @@ fgets_res ∈ {{ NULL ; &fgets_buf0[0] }} pos ∈ [--..--] or UNINITIALIZED res_fclose ∈ {-1; 0} - __retres ∈ {0; 1; 2; 3} + s ∈ [--..--] or UNINITIALIZED + __retres ∈ {1; 2; 3} S___fc_stdout[0..1] ∈ [--..--] diff --git a/tests/libc/stdio_c.c b/tests/libc/stdio_c.c index 1459a645ab9..29374afba20 100644 --- a/tests/libc/stdio_c.c +++ b/tests/libc/stdio_c.c @@ -1,7 +1,8 @@ #include <stdlib.h> #include <string.h> #include "stdio.c" - +#include "__fc_builtin.h" +volatile int nondet; int main() { FILE *stream; char *line = NULL; @@ -18,5 +19,17 @@ int main() { } free(line); fclose(stream); + + if (nondet) { + // Test asprintf without a C stub; the specification + // uses an unsupported 'allocates' clause, so 's' will + // point to invalid memory. + char *s; + int r = asprintf(&s, "bla %s", 42); + if (r == -1) return 1; + printf("%s", s); + free(s); + } + return 0; } diff --git a/tests/libc/stdio_h.c b/tests/libc/stdio_h.c index 19531ca2e40..0ee459dfb20 100644 --- a/tests/libc/stdio_h.c +++ b/tests/libc/stdio_h.c @@ -1,6 +1,6 @@ #include <stdio.h> +#include <stdlib.h> #include "__fc_builtin.h" - volatile int nondet; int main() { FILE *f = fopen("/dev/urandom", "r"); @@ -47,5 +47,12 @@ int main() { fsetpos(f, &pos); int res_fclose = fclose(f); + + char *s; + r = asprintf(&s, "bla %s", 42); + if (r == -1) return 1; + printf("%s", s); + free(s); + return 0; } diff --git a/tests/metrics/oracle/libc.1.res.oracle b/tests/metrics/oracle/libc.1.res.oracle index 81dff3785c2..a57305d1570 100644 --- a/tests/metrics/oracle/libc.1.res.oracle +++ b/tests/metrics/oracle/libc.1.res.oracle @@ -4,20 +4,20 @@ bar (1 call); f (0 call); foo (1 call); g (address taken) (0 call); getopt (1 call); h (1 call); main (0 call); - Specified-only functions (123) + Specified-only functions (124) ============================== - _exit (0 call); access (0 call); chdir (0 call); chown (0 call); - chroot (0 call); clearerr (0 call); clearerr_unlocked (0 call); - close (0 call); dup (0 call); dup2 (0 call); execl (0 call); - execle (0 call); execlp (0 call); execv (0 call); execve (0 call); - execvp (0 call); fclose (0 call); fdopen (0 call); feof (0 call); - feof_unlocked (0 call); ferror (0 call); ferror_unlocked (0 call); - fflush (0 call); fgetc (0 call); fgetpos (0 call); fgets (0 call); - fileno (0 call); fileno_unlocked (0 call); flockfile (0 call); - fopen (0 call); fork (0 call); fputc (0 call); fputs (0 call); - fread (0 call); freopen (0 call); fseek (0 call); fseeko (0 call); - fsetpos (0 call); ftell (0 call); ftello (0 call); ftrylockfile (0 call); - funlockfile (0 call); fwrite (0 call); getc (0 call); + _exit (0 call); access (0 call); asprintf (0 call); chdir (0 call); + chown (0 call); chroot (0 call); clearerr (0 call); + clearerr_unlocked (0 call); close (0 call); dup (0 call); dup2 (0 call); + execl (0 call); execle (0 call); execlp (0 call); execv (0 call); + execve (0 call); execvp (0 call); fclose (0 call); fdopen (0 call); + feof (0 call); feof_unlocked (0 call); ferror (0 call); + ferror_unlocked (0 call); fflush (0 call); fgetc (0 call); fgetpos (0 call); + fgets (0 call); fileno (0 call); fileno_unlocked (0 call); + flockfile (0 call); fopen (0 call); fork (0 call); fputc (0 call); + fputs (0 call); fread (0 call); freopen (0 call); fseek (0 call); + fseeko (0 call); fsetpos (0 call); ftell (0 call); ftello (0 call); + ftrylockfile (0 call); funlockfile (0 call); fwrite (0 call); getc (0 call); getc_unlocked (0 call); getchar (1 call); getchar_unlocked (0 call); getcwd (0 call); getegid (0 call); geteuid (0 call); getgid (0 call); gethostname (0 call); getopt_long (0 call); getopt_long_only (0 call); @@ -44,10 +44,10 @@ ======================================= - 'Extern' global variables (10) + 'Extern' global variables (11) ============================== - Frama_C_entropy_source; __fc_errno; __fc_hostname; __fc_stdin; __fc_stdout; - __fc_ttyname; optarg; opterr; optind; optopt + Frama_C_entropy_source; __fc_errno; __fc_heap_status; __fc_hostname; + __fc_stdin; __fc_stdout; __fc_ttyname; optarg; opterr; optind; optopt Potential entry points (2) ========================== @@ -57,13 +57,13 @@ ============== Sloc = 20 Decision point = 0 - Global variables = 17 + Global variables = 18 If = 0 Loop = 0 Goto = 0 Assignment = 9 Exit point = 7 - Function = 130 + Function = 131 Function call = 8 Pointer dereferencing = 1 Cyclomatic complexity = 7 @@ -91,7 +91,7 @@ ---------------------------------------------------------------------------- [metrics] Eva coverage statistics ======================= - Syntactically reachable functions = 8 (out of 130) + Syntactically reachable functions = 8 (out of 131) Semantically reached functions = 8 Coverage estimation = 100.0% [metrics] References to non-analyzed functions diff --git a/tests/metrics/oracle/libc.json b/tests/metrics/oracle/libc.json index a6de1ef4b08..afe73bccdad 100644 --- a/tests/metrics/oracle/libc.json +++ b/tests/metrics/oracle/libc.json @@ -11,6 +11,7 @@ "specified-only-functions": [ { "_exit": { "calls": 0, "address_taken": false } }, { "access": { "calls": 0, "address_taken": false } }, + { "asprintf": { "calls": 0, "address_taken": false } }, { "chdir": { "calls": 0, "address_taken": false } }, { "chown": { "calls": 0, "address_taken": false } }, { "chroot": { "calls": 0, "address_taken": false } }, @@ -135,8 +136,9 @@ ], "undefined-functions": [], "extern-global-vars": [ - "Frama_C_entropy_source", "__fc_errno", "__fc_hostname", "__fc_stdin", - "__fc_stdout", "__fc_ttyname", "optarg", "opterr", "optind", "optopt" + "Frama_C_entropy_source", "__fc_errno", "__fc_heap_status", + "__fc_hostname", "__fc_stdin", "__fc_stdout", "__fc_ttyname", "optarg", + "opterr", "optind", "optopt" ], "entry-points": [ "f", "main" ] } diff --git a/tests/rte/oracle/value_rte.res.oracle b/tests/rte/oracle/value_rte.res.oracle index 83a5a5c7b21..537f8de5cf7 100644 --- a/tests/rte/oracle/value_rte.res.oracle +++ b/tests/rte/oracle/value_rte.res.oracle @@ -75,6 +75,8 @@ by Frama-C kernel. [ Valid ] Axiomatic 'WcsNCmp' by Frama-C kernel. +[ Valid ] Axiomatic 'dynamic_allocation' + by Frama-C kernel. [ Valid ] Axiomatic 'format_length' by Frama-C kernel. [ Valid ] Axiomatic 'pipe_streams' @@ -93,6 +95,8 @@ Unverifiable but considered Valid. [ Extern ] Axiom 'memset_def' Unverifiable but considered Valid. +[ Extern ] Axiom 'never_allocable' + Unverifiable but considered Valid. [ Extern ] Axiom 'strchr_def' Unverifiable but considered Valid. [ Extern ] Axiom 'strcmp_zero' @@ -897,6 +901,25 @@ [ Valid ] Default behavior by Frama-C kernel. +-------------------------------------------------------------------------------- +--- Properties of Function 'asprintf' +-------------------------------------------------------------------------------- + +[ Extern ] Post-condition 'result_error_or_written_byes' + Unverifiable but considered Valid. +[ Extern ] Assigns (file share/libc/stdio.h, line 593) + Unverifiable but considered Valid. +[ Extern ] Froms (file share/libc/stdio.h, line 593) + Unverifiable but considered Valid. +[ Extern ] Froms (file share/libc/stdio.h, line 594) + Unverifiable but considered Valid. +[ Extern ] Froms (file share/libc/stdio.h, line 595) + Unverifiable but considered Valid. +[ Valid ] Default behavior + by Frama-C kernel. +[ Extern ] Frees/Allocates nothing/(file share/libc/stdio.h, line 598) + Unverifiable but considered Valid. + -------------------------------------------------------------------------------- --- Properties of Function 'main' -------------------------------------------------------------------------------- @@ -911,8 +934,8 @@ -------------------------------------------------------------------------------- --- Status Report Summary -------------------------------------------------------------------------------- - 74 Completely validated - 214 Considered valid + 76 Completely validated + 221 Considered valid 1 To be validated - 289 Total + 298 Total -------------------------------------------------------------------------------- -- GitLab