diff --git a/.Makefile.lint b/.Makefile.lint index e9056d2e216fb962a7e5f928aa6c3cf864b4bb78..6feefd8e7db75131a329db0cf888e456e877942b 100644 --- a/.Makefile.lint +++ b/.Makefile.lint @@ -321,20 +321,3 @@ ML_LINT_KO+=src/plugins/value_types/precise_locs.ml ML_LINT_KO+=src/plugins/value_types/value_types.ml ML_LINT_KO+=src/plugins/value_types/value_types.mli ML_LINT_KO+=src/plugins/value_types/widen_type.ml -ML_LINT_KO+=src/plugins/variadic/classify.ml -ML_LINT_KO+=src/plugins/variadic/environment.ml -ML_LINT_KO+=src/plugins/variadic/extends.ml -ML_LINT_KO+=src/plugins/variadic/extends.mli -ML_LINT_KO+=src/plugins/variadic/format_parser.ml -ML_LINT_KO+=src/plugins/variadic/format_parser.mli -ML_LINT_KO+=src/plugins/variadic/format_pprint.ml -ML_LINT_KO+=src/plugins/variadic/format_string.ml -ML_LINT_KO+=src/plugins/variadic/format_typer.ml -ML_LINT_KO+=src/plugins/variadic/format_typer.mli -ML_LINT_KO+=src/plugins/variadic/format_types.mli -ML_LINT_KO+=src/plugins/variadic/generic.ml -ML_LINT_KO+=src/plugins/variadic/options.ml -ML_LINT_KO+=src/plugins/variadic/standard.ml -ML_LINT_KO+=src/plugins/variadic/translate.ml -ML_LINT_KO+=src/plugins/variadic/va_build.ml -ML_LINT_KO+=src/plugins/variadic/va_types.mli diff --git a/Changelog b/Changelog index 5c98c77edf6b02d5962a3ae8fd3095da8ece1248..1fc3c4520e359bda43eb2add1037d0e2e7e2abc7 100644 --- a/Changelog +++ b/Changelog @@ -17,6 +17,9 @@ Open Source Release <next-release> ################################## +- Variadic [2020-10-14] Don't print generated function name but print + original name and a comment with the generated name so that the + printed code is compilable. - Aorai [2020-10-13] Ya automata can set auxiliary variables during a transition, and use such variables in subsequent guards. - Kernel [2020-10-09] Add option -print-config-json, to output Frama-C diff --git a/headers/header_spec.txt b/headers/header_spec.txt index a1d6848f595df84afff1eca16b6b568e44c521fd..3b7ec0011a82cccbe8d9d79a2839679608d3ef69 100644 --- a/headers/header_spec.txt +++ b/headers/header_spec.txt @@ -1454,6 +1454,8 @@ src/plugins/variadic/generic.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/variadic/options.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/variadic/options.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/variadic/register.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/variadic/replacements.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/variadic/replacements.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/variadic/standard.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/variadic/translate.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/variadic/va_build.ml: CEA_LGPL_OR_PROPRIETARY diff --git a/src/plugins/e-acsl/doc/Changelog b/src/plugins/e-acsl/doc/Changelog index 16021662988a299c7af23cf63345da8266f85b47..4a62c24a6da0fb541c6fba8bafb8e7a27a73ad55 100644 --- a/src/plugins/e-acsl/doc/Changelog +++ b/src/plugins/e-acsl/doc/Changelog @@ -25,6 +25,8 @@ Plugin E-ACSL <next-release> ############################ +- E-ACSL [2020-10-14] Add Support for Variadic generated functions in + the AST (frama-c/e-acsl#128). - E-ACSL [2020-10-06] Add support for the `\separated` predicate. (frama-c/e-acsl#31) -* E-ACSL [2020-10-06] Fix a soundness bug when translating a range with a diff --git a/src/plugins/e-acsl/scripts/e-acsl-gcc.sh b/src/plugins/e-acsl/scripts/e-acsl-gcc.sh index fe84dce4a7fd578c342bc564dcb4f41bdabdbcfd..a168729e80b5f599b2860361e400442953aa76b4 100755 --- a/src/plugins/e-acsl/scripts/e-acsl-gcc.sh +++ b/src/plugins/e-acsl/scripts/e-acsl-gcc.sh @@ -763,8 +763,7 @@ LDFLAGS="$OPTION_LDFLAGS" # Extra Frama-C Flags E-ACSL needs FRAMAC_FLAGS="$FRAMAC_FLAGS \ - -remove-unused-specified-functions \ - -variadic-no-translation" + -remove-unused-specified-functions" # C, CPP and LD flags for compilation of E-ACSL-generated sources EACSL_CFLAGS="$OPTION_EXTERNAL_ASSERT" diff --git a/src/plugins/e-acsl/src/code_generator/injector.ml b/src/plugins/e-acsl/src/code_generator/injector.ml index 75ec65a7b495488bd454bdf700317ad3e6ad505b..b3d6c65a3d604eafb6a8c631dc38c1d826b51f16 100644 --- a/src/plugins/e-acsl/src/code_generator/injector.ml +++ b/src/plugins/e-acsl/src/code_generator/injector.ml @@ -639,6 +639,9 @@ let inject_in_global (env, main) = function env, main | g when Rtl.Symbols.mem_global g -> env, main + (* generated function declaration: nothing to do *) + | GFunDecl(_, vi, _) when Misc.is_fc_stdlib_generated vi -> + env, main (* variable declarations *) | GVarDecl(vi, _) | GFunDecl(_, vi, _) -> diff --git a/src/plugins/e-acsl/src/libraries/misc.ml b/src/plugins/e-acsl/src/libraries/misc.ml index 2c123e74461384011d02b51f0066aa6f1ba157df..7aafe514878534d25ce09b762a60bcf8db7776a0 100644 --- a/src/plugins/e-acsl/src/libraries/misc.ml +++ b/src/plugins/e-acsl/src/libraries/misc.ml @@ -36,6 +36,9 @@ let is_fc_or_compiler_builtin vi = let prefix = String.sub vi.vname 0 prefix_length in Datatype.String.equal prefix "__builtin_") +let is_fc_stdlib_generated vi = + Cil.hasAttribute "fc_stdlib_generated" vi.vattr + (* ************************************************************************** *) (** {2 Handling \result} *) (* ************************************************************************** *) diff --git a/src/plugins/e-acsl/src/libraries/misc.mli b/src/plugins/e-acsl/src/libraries/misc.mli index 090b237753110e5e1561cf6e1e336d818833937b..f5a2c28359790d6d6cd4a9285b30c3333944bebe 100644 --- a/src/plugins/e-acsl/src/libraries/misc.mli +++ b/src/plugins/e-acsl/src/libraries/misc.mli @@ -40,6 +40,10 @@ val result_vi: kernel_function -> varinfo val is_fc_or_compiler_builtin: varinfo -> bool +val is_fc_stdlib_generated: varinfo -> bool +(** Returns true if the [varinfo] is a generated stdlib function. (For instance + generated function by the Variadic plug-in. *) + val term_addr_of: loc:location -> term_lval -> typ -> term val cty: logic_type -> typ diff --git a/src/plugins/e-acsl/src/main.ml b/src/plugins/e-acsl/src/main.ml index 8de1804974e4fdc9aafd6f7efd79040884f7ccba..8439a6b2b725c35b843318e35ada2accb345a919 100644 --- a/src/plugins/e-acsl/src/main.ml +++ b/src/plugins/e-acsl/src/main.ml @@ -42,12 +42,14 @@ let generate_code = Temporal.enable (Options.Temporal_validity.get ()); if Plugin.is_present "variadic" then begin let opt_name = "-variadic-translation" in - if Dynamic.Parameter.Bool.get opt_name () then begin + if Dynamic.Parameter.Bool.get opt_name () && + Options.Validate_format_strings.get () then begin if Ast.is_computed () then Options.abort - "The variadic translation must be turned off for E-ACSL. \ - Please use option '-variadic-no-translation'"; - Options.warning "deactivating variadic translation"; + "The variadic translation is incompatible with E-ACSL option \ + '%s'.@ Please use option '-variadic-no-translation'." + Options.Validate_format_strings.option_name + Options.warning "deactivating variadic translation"; Dynamic.Parameter.Bool.off opt_name (); end end; diff --git a/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml b/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml index 2f167b55c03dbf9eb5fc203cdc93d569dfcd8323..fd41f2f344dc9176642685d12ab897de4626ffbc 100644 --- a/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml +++ b/src/plugins/e-acsl/src/project_initializer/prepare_ast.ml @@ -392,6 +392,8 @@ let must_duplicate kf vi = not (is_variadic_function vi) && (* it is not a built-in *) not (Misc.is_fc_or_compiler_builtin vi) + && (* it is not a generated function *) + not (Misc.is_fc_stdlib_generated vi) && ((* either explicitely listed as to be not instrumented *) not (Functions.instrument kf) diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/bts1398.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1398.res.oracle index 196be478e598103ead236a8d08d82218bc6d0d9d..efd026311297e55d8fefb674326118e6ece88624 100644 --- a/src/plugins/e-acsl/tests/bts/oracle_ci/bts1398.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1398.res.oracle @@ -1,4 +1,2 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[kernel:annot:missing-spec] tests/bts/bts1398.c:12: Warning: - Neither code nor specification for function printf, generating default assigns from the prototype diff --git a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1398.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1398.c index 38075f91be9c362dc3751df207f631511135b0ae..b2502604424c79e5576efefd1144796c64e6b129 100644 --- a/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1398.c +++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1398.c @@ -26,7 +26,7 @@ int main(void) int i = 1; t[0] = 1; t[1] = 2; - printf(__gen_e_acsl_literal_string,x,t[0],t[i]); + printf(__gen_e_acsl_literal_string,x,t[0],t[i]); /* printf_va_1 */ __retres = 0; __e_acsl_memory_clean(); return __retres; diff --git a/src/plugins/e-acsl/tests/format/test_config_ci b/src/plugins/e-acsl/tests/format/test_config_ci index eeaea353f8aafc1309b0f8b93ac86c545a2dd08a..982e648c83f6de086908d60d16620fa39297cb31 100644 --- a/src/plugins/e-acsl/tests/format/test_config_ci +++ b/src/plugins/e-acsl/tests/format/test_config_ci @@ -1 +1 @@ -STDOPT: #"-e-acsl-validate-format-strings" +STDOPT: #"-variadic-no-translation -e-acsl-validate-format-strings" diff --git a/src/plugins/e-acsl/tests/format/test_config_dev b/src/plugins/e-acsl/tests/format/test_config_dev index 636b97b921455af4ec13f54c6034decf21ba3975..aae787763c6565f6f717eb03b30a8221feb90fb6 100644 --- a/src/plugins/e-acsl/tests/format/test_config_dev +++ b/src/plugins/e-acsl/tests/format/test_config_dev @@ -1,2 +1,2 @@ -MACRO: ROOT_EACSL_GCC_OPTS_EXT --validate-format-strings --full-mtracking +MACRO: ROOT_EACSL_GCC_OPTS_EXT --validate-format-strings --full-mtracking -F -variadic-no-translation MACRO: ROOT_EACSL_EXEC_FILTER @SEDCMD@ -e "s|/.*/share/e-acsl|FRAMAC_SHARE/e-acsl|" diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/constructor.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/constructor.res.oracle index 850186d110a852c7deff7b8cb2ed345dd9a3abe3..efd026311297e55d8fefb674326118e6ece88624 100644 --- a/src/plugins/e-acsl/tests/memory/oracle_ci/constructor.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/constructor.res.oracle @@ -1,4 +1,2 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[kernel:annot:missing-spec] tests/memory/constructor.c:16: Warning: - Neither code nor specification for function printf, generating default assigns from the prototype diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_constructor.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_constructor.c index 4e43d7e9cff59e04b077b46a1e9d90fc81d9e076..22920e30cf3e971afc38fc0f5f90df42bfc023b4 100644 --- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_constructor.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_constructor.c @@ -7,7 +7,7 @@ char *__gen_e_acsl_literal_string; void f(void) __attribute__((__constructor__)); void f(void) { - printf(__gen_e_acsl_literal_string); + printf(__gen_e_acsl_literal_string); /* printf_va_1 */ char *buf = malloc((unsigned long)10 * sizeof(char)); free((void *)buf); return; @@ -36,7 +36,7 @@ int main(void) int __retres; __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); __e_acsl_globals_init(); - printf(__gen_e_acsl_literal_string_2); + printf(__gen_e_acsl_literal_string_2); /* printf_va_2 */ __retres = 0; __e_acsl_memory_clean(); return __retres; diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c index 81bdec6072509915722c0d9d9a0c646508ea620a..b21a6a07c3ecce634614db0bb2a6852bac3f7b4f 100644 --- a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c @@ -40,7 +40,8 @@ int main(int argc, char const **argv) int t = 0; UP: ; if (t == 2) { - printf(__gen_e_acsl_literal_string_2,t,__gen_e_acsl_literal_string); + printf(__gen_e_acsl_literal_string_2,t, + (char *)__gen_e_acsl_literal_string); /* printf_va_1 */ goto RET; } AGAIN: @@ -58,7 +59,8 @@ int main(int argc, char const **argv) } /*@ assert \valid(&a); */ ; if (t == 2) { - printf(__gen_e_acsl_literal_string_2,t,__gen_e_acsl_literal_string_3); + printf(__gen_e_acsl_literal_string_2,t, + (char *)__gen_e_acsl_literal_string_3); /* printf_va_2 */ __e_acsl_delete_block((void *)(& a)); goto UP; } @@ -74,7 +76,8 @@ int main(int argc, char const **argv) "tests/memory/local_goto.c",36); } /*@ assert \valid(&b); */ ; - printf(__gen_e_acsl_literal_string_2,t,__gen_e_acsl_literal_string_4); + printf(__gen_e_acsl_literal_string_2,t, + (char *)__gen_e_acsl_literal_string_4); /* printf_va_3 */ __e_acsl_delete_block((void *)(& a)); __e_acsl_delete_block((void *)(& b)); goto AGAIN; diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/local_goto.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/local_goto.res.oracle index 142c3f2be0104e92d2deba3a08cd8d2a0b4b1f10..efd026311297e55d8fefb674326118e6ece88624 100644 --- a/src/plugins/e-acsl/tests/memory/oracle_ci/local_goto.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/local_goto.res.oracle @@ -1,4 +1,2 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[kernel:annot:missing-spec] tests/memory/local_goto.c:37: Warning: - Neither code nor specification for function printf, generating default assigns from the prototype diff --git a/src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-instrument.res.oracle b/src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-instrument.res.oracle index 724a37c22bbd6d1f608dad3161b784c89cec0332..efd026311297e55d8fefb674326118e6ece88624 100644 --- a/src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-instrument.res.oracle +++ b/src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-instrument.res.oracle @@ -1,12 +1,2 @@ [e-acsl] beginning translation. -[e-acsl] tests/special/e-acsl-instrument.c:58: Warning: - ignoring effect of variadic function vol [e-acsl] translation done in project "e-acsl". -[kernel:annot:missing-spec] tests/special/e-acsl-instrument.c:43: Warning: - Neither code nor specification for function __builtin_va_start, generating default assigns from the prototype -[kernel:annot:missing-spec] tests/special/e-acsl-instrument.c:44: Warning: - Neither code nor specification for function __builtin_va_arg, generating default assigns from the prototype -[eva:alarm] tests/special/e-acsl-instrument.c:44: Warning: - accessing uninitialized left-value. - assert \initialized(&tmp); - (tmp from vararg) diff --git a/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c b/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c index 2ef9690828f51e9219104f370ff96285a510a3c8..24fc369486bb2b439cc853d1e8a5d7038ea5cc52 100644 --- a/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c +++ b/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c @@ -4,12 +4,6 @@ #include "stdio.h" extern int __e_acsl_sound_verdict; -/* compiler builtin: - void __builtin_va_arg(__builtin_va_list, unsigned long, void *); */ -/* compiler builtin: - void __builtin_va_end(__builtin_va_list); */ -/* compiler builtin: - void __builtin_va_start(__builtin_va_list); */ int __gen_e_acsl_uninstrument1(int *p); int uninstrument1(int *p) @@ -68,17 +62,22 @@ int instrument2(int *p) return __retres; } -int vol(int n , ...) +int vol(int n, void * const *__va_params) { int __retres; va_list vl; int tmp; - __builtin_va_start(vl,n); - tmp = __builtin_va_arg (vl, int); - /*@ assert Eva: initialization: \initialized(&tmp); */ + __e_acsl_store_block((void *)(& vl),(size_t)8); + __e_acsl_store_block((void *)(& __va_params),(size_t)8); + __e_acsl_full_init((void *)(& vl)); + vl = __va_params; + tmp = *((int *)*vl); + __e_acsl_full_init((void *)(& vl)); + vl ++; int r = tmp; - __builtin_va_end(vl); __retres = 0; + __e_acsl_delete_block((void *)(& __va_params)); + __e_acsl_delete_block((void *)(& vl)); return __retres; } @@ -113,7 +112,17 @@ int main(void) 57); } /*@ assert \initialized(&y); */ ; - tmp = vol(6,1); + { + int __va_arg0 = 1; + __e_acsl_store_block((void *)(& __va_arg0),(size_t)4); + __e_acsl_full_init((void *)(& __va_arg0)); + void *__va_args[1] = {& __va_arg0}; + __e_acsl_store_block((void *)(__va_args),(size_t)8); + __e_acsl_full_init((void *)(& __va_args)); + tmp = vol(6,(void * const *)(__va_args)); + __e_acsl_delete_block((void *)(& __va_arg0)); + __e_acsl_delete_block((void *)(__va_args)); + } __e_acsl_delete_block((void *)(& y)); __e_acsl_delete_block((void *)(& x)); __e_acsl_memory_clean(); diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc-asan.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc-asan.c index 670764770e98f63c776052e30aff421eee39a713..d718f3e61f84379b9b8a5e95995335bf3cbae46f 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc-asan.c +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc-asan.c @@ -58,7 +58,7 @@ int main(void) __e_acsl_temporal_reset_parameters(); __e_acsl_temporal_reset_return(); __e_acsl_temporal_save_nreferent_parameter((void *)(& p),1U); - printf(__gen_e_acsl_literal_string,p,counter); + printf(__gen_e_acsl_literal_string,(void *)p,counter); /* printf_va_1 */ break; } __e_acsl_full_init((void *)(& p)); diff --git a/src/plugins/e-acsl/tests/test_config_ci.in b/src/plugins/e-acsl/tests/test_config_ci.in index 2c9748e535a049455c62e15f0f0ed3469bc5df95..9b58fc5a4a9550952da1aaca405d6aec67e4899c 100644 --- a/src/plugins/e-acsl/tests/test_config_ci.in +++ b/src/plugins/e-acsl/tests/test_config_ci.in @@ -1,6 +1,6 @@ MACRO: DEST @PTEST_RESULT@/gen_@PTEST_NAME@ MACRO: MACHDEP -machdep gcc_x86_64 -MACRO: GLOBAL @MACHDEP@ -remove-unused-specified-functions -variadic-no-translation -verbose 0 +MACRO: GLOBAL @MACHDEP@ -remove-unused-specified-functions -verbose 0 MACRO: EACSL -e-acsl -e-acsl-share ./share/e-acsl -e-acsl-verbose 1 MACRO: EVA -eva -eva-no-alloc-returns-null -eva-no-results -eva-no-print -eva-warn-key libc:unsupported-spec=inactive MACRO: EVENTUALLY -print -ocode @DEST@.c -load-script ./tests/print.cmxs diff --git a/src/plugins/variadic/Makefile.in b/src/plugins/variadic/Makefile.in index f4d26f31399440bec477c702582c03b69c5a07b8..09aa6cf0ce8edd403a348c7589fba305bcfa2e99 100644 --- a/src/plugins/variadic/Makefile.in +++ b/src/plugins/variadic/Makefile.in @@ -37,7 +37,7 @@ PLUGIN_DIR ?= . PLUGIN_ENABLE := @ENABLE_VARIADIC@ PLUGIN_NAME := Variadic PLUGIN_CMI := format_types va_types -PLUGIN_CMO := options extends va_build environment \ +PLUGIN_CMO := options extends va_build environment replacements \ format_string format_pprint format_typer format_parser \ generic standard classify translate \ register diff --git a/src/plugins/variadic/classify.ml b/src/plugins/variadic/classify.ml index 2bd938cda21263d2a4fdb23d062c289fe65df8c9..1bf27b2b54704dd4d9dc598448a9440d7d0adc1b 100644 --- a/src/plugins/variadic/classify.ml +++ b/src/plugins/variadic/classify.ml @@ -49,38 +49,38 @@ let mk_aggregator env fun_name a_pos pname a_type = match find_function env fun_name with | None -> Misc | Some vi -> - try - (* Get the list of arguments *) - let params = Typ.params vi.vtype in - - (* Check that pos is a valid position in the list *) - assert (a_pos >= 0); - if a_pos >= List.length params then begin - Self.warning ~current:true - "The standard function %s should have at least %d parameters." - fun_name - (a_pos + 1); - raise Exit - end; - - (* Get the aggregate type of elements *) - let _,ptyp,_ = List.nth params a_pos in - let a_param = pname, match ptyp with + try + (* Get the list of arguments *) + let params = Typ.params vi.vtype in + + (* Check that pos is a valid position in the list *) + assert (a_pos >= 0); + if a_pos >= List.length params then begin + Self.warning ~current:true + "The standard function %s should have at least %d parameters." + fun_name + (a_pos + 1); + raise Exit + end; + + (* Get the aggregate type of elements *) + let _,ptyp,_ = List.nth params a_pos in + let a_param = pname, match ptyp with | TArray (typ,_,_,_) | TPtr (typ, _) -> typ | _ -> - Self.warning ~current:true - "The parameter %d of standard function %s should be \ - of array type." - (a_pos + 1) - fun_name; - raise Exit - in + Self.warning ~current:true + "The parameter %d of standard function %s should be \ + of array type." + (a_pos + 1) + fun_name; + raise Exit + in - Aggregator {a_target = vi; a_pos; a_type; a_param} + Aggregator {a_target = vi; a_pos; a_type; a_param} - (* In case of failure return Misc (apply generic translation) *) - with Exit -> Misc + (* In case of failure return Misc (apply generic translation) *) + with Exit -> Misc let mk_format_fun vi f_kind f_buffer ~format_pos = let buffer_arguments = match f_buffer with @@ -92,16 +92,16 @@ let mk_format_fun vi f_kind f_buffer ~format_pos = let n_expected_args = (List.fold_left max (-1) expected_args) + 1 and n_actual_args = List.length (Typ.params vi.vtype) in if n_actual_args < n_expected_args then - begin - Self.warning ~current:true - "The standard function %s was expected to have at least %d fixed \ - parameters but only has %d.@ \ - No variadic translation will be performed." - vi.vname - n_expected_args - n_actual_args; - Misc - end + begin + Self.warning ~current:true + "The standard function %s was expected to have at least %d fixed \ + parameters but only has %d.@ \ + No variadic translation will be performed." + vi.vname + n_expected_args + n_actual_args; + Misc + end else FormatFun { f_kind ; f_buffer ; f_format_pos = format_pos } @@ -113,11 +113,11 @@ let mk_format_fun vi f_kind f_buffer ~format_pos = let classify_std env vi = match vi.vname with (* fcntl.h - Overloads of functions *) | "fcntl" -> mk_overload env - ["__va_fcntl_void" ; "__va_fcntl_int" ; "__va_fcntl_flock"] + ["__va_fcntl_void" ; "__va_fcntl_int" ; "__va_fcntl_flock"] | "open" -> mk_overload env - ["__va_open_void" ; "__va_open_mode_t"] + ["__va_open_void" ; "__va_open_mode_t"] | "openat" -> mk_overload env - ["__va_openat_void" ; "__va_openat_mode_t"] + ["__va_openat_void" ; "__va_openat_mode_t"] (* unistd.h *) | "execl" -> mk_aggregator env "execv" 1 "argv" EndedByNull @@ -165,4 +165,3 @@ let classify env vi = } end else None - diff --git a/src/plugins/variadic/environment.ml b/src/plugins/variadic/environment.ml index 1165b7c21fb7f31bfb05e9bc11b0615636fc9272..c00e98d5d201115637138a8ac91a90392a780070 100644 --- a/src/plugins/variadic/environment.ml +++ b/src/plugins/variadic/environment.ml @@ -25,24 +25,24 @@ open Cil_types module Table = Datatype.String.Hashtbl type env = -{ - globals: varinfo Table.t; - functions: varinfo Table.t; - typedefs: typeinfo Table.t; - structs: compinfo Table.t; - unions: compinfo Table.t; - enums: enuminfo Table.t; -} + { + globals: varinfo Table.t; + functions: varinfo Table.t; + typedefs: typeinfo Table.t; + structs: compinfo Table.t; + unions: compinfo Table.t; + enums: enuminfo Table.t; + } let empty () : env = -{ - globals = Table.create 17; - functions = Table.create 17; - typedefs = Table.create 17; - structs = Table.create 17; - unions = Table.create 17; - enums = Table.create 17; -} + { + globals = Table.create 17; + functions = Table.create 17; + typedefs = Table.create 17; + structs = Table.create 17; + unions = Table.create 17; + enums = Table.create 17; + } let add_global (env : env) (vi : varinfo) : unit = Table.add env.globals vi.vname vi @@ -95,19 +95,19 @@ let from_file (file : file) : env = let v = object inherit Cil.nopCilVisitor method! vglob glob = begin match glob with - | GFunDecl(_,vi,_) | GFun ({svar = vi}, _) -> - add_function env vi - | GVarDecl (vi,_) | GVar (vi, _, _) -> - add_global env vi - | GType (typeinfo,_) -> - add_typeinfo env typeinfo - | GCompTag (compinfo,_) -> - add_compinfo env compinfo - | GEnumTag (enuminfo,_) -> - add_enuminfo env enuminfo - | _ -> () + | GFunDecl(_,vi,_) | GFun ({svar = vi}, _) -> + add_function env vi + | GVarDecl (vi,_) | GVar (vi, _, _) -> + add_global env vi + | GType (typeinfo,_) -> + add_typeinfo env typeinfo + | GCompTag (compinfo,_) -> + add_compinfo env compinfo + | GEnumTag (enuminfo,_) -> + add_enuminfo env enuminfo + | _ -> () end; - Cil.SkipChildren + Cil.SkipChildren end in Cil.visitCilFile v file; env diff --git a/src/plugins/variadic/extends.ml b/src/plugins/variadic/extends.ml index 36dd5299909971e7e78d91cbadaa4172d8802014..679eb4a6c2e99eec57392e7be63a884a27b66472 100644 --- a/src/plugins/variadic/extends.ml +++ b/src/plugins/variadic/extends.ml @@ -70,13 +70,13 @@ module Cil = struct let doublePtrType = ptrType doubleType let signedIntegerTypes = [Cil.charType; shortType; Cil.intType; - Cil.longType; longLongType] + Cil.longType; longLongType] let unsignedIntegerTypes = [ucharType; ushortType; Cil.uintType; - Cil.ulongType; Cil.ulongLongType] + Cil.ulongType; Cil.ulongLongType] let signedIntegerPtrTypes = [Cil.charPtrType; shortPtrType; Cil.intPtrType; - longPtrType; longlongPtrType] + longPtrType; longlongPtrType] let unsignedIntegerPtrTypes = [ucharPtrType; ushortPtrType; Cil.uintPtrType; - ulongPtrType; ulonglongPtrType] + ulongPtrType; ulonglongPtrType] let signed_integers_ranking = Extlib.mapi (fun i t -> (t, i)) signedIntegerTypes @@ -95,13 +95,13 @@ module Cil = struct let integer_ranking_comp t1 t2 = let rt1, rt2 = if is_signed_integer_type t1 && is_signed_integer_type t2 then - List.assoc t1 signed_integers_ranking, - List.assoc t2 signed_integers_ranking + List.assoc t1 signed_integers_ranking, + List.assoc t2 signed_integers_ranking else if is_unsigned_integer_type t1 && is_unsigned_integer_type t2 then - List.assoc t1 unsigned_integers_ranking, - List.assoc t2 unsigned_integers_ranking + List.assoc t1 unsigned_integers_ranking, + List.assoc t2 unsigned_integers_ranking else - raise (Invalid_argument "rank_comp") in + raise (Invalid_argument "rank_comp") in rt1 - rt2 let integer_promotion t1 t2 = @@ -140,54 +140,54 @@ module List = struct else a :: make (n - 1) a let to_scalar = function - | [a] -> a - | _ -> failwith "to_scalar" + | [a] -> a + | _ -> failwith "to_scalar" let of_opt = function - | None -> [] - | Some x -> [x] + | None -> [] + | Some x -> [x] let to_opt = function - | [] -> None - | [a] -> Some a - | _ -> failwith "to_opt" + | [] -> None + | [a] -> Some a + | _ -> failwith "to_opt" let first = function - | [] -> failwith "first" - | a :: _ -> a + | [] -> failwith "first" + | a :: _ -> a exception EmptyList let rec last = function - | [] -> raise EmptyList - | [a] -> a - | _ :: l -> last l + | [] -> raise EmptyList + | [a] -> a + | _ :: l -> last l let rec take n l = if n <= 0 then [] else match l with - | [] -> [] - | a :: l -> a :: take (n - 1) l + | [] -> [] + | a :: l -> a :: take (n - 1) l let rec drop n l = if n <= 0 then l else match l with - | [] -> [] - | _ :: l -> drop (n - 1) l + | [] -> [] + | _ :: l -> drop (n - 1) l let rec break n l = if n <= 0 then ([], l) else match l with - | [] -> ([], []) - | a :: l -> + | [] -> ([], []) + | a :: l -> let l1, l2 = break (n - 1) l in (a :: l1, l2) let rec filter_map f = function - | [] -> [] - | a :: l -> match f a with - | Some r -> r :: filter_map f l - | None -> filter_map f l + | [] -> [] + | a :: l -> match f a with + | Some r -> r :: filter_map f l + | None -> filter_map f l let iteri f l = let i = ref 0 in @@ -200,45 +200,45 @@ module List = struct let rev_mapi f l = let i = ref 0 in let rec aux acc = function - | [] -> acc - | a :: l -> let a' = f !i a in incr i; aux (a' :: acc) l + | [] -> acc + | a :: l -> let a' = f !i a in incr i; aux (a' :: acc) l in aux [] l let iteri2 f l1 l2 = let i = ref 0 in let rec aux l1 l2 = match l1, l2 with - | [], [] -> () - | a1 :: l1, a2 :: l2 -> f !i a1 a2; incr i; aux l1 l2 - | _, _ -> invalid_arg "List.iteri2" + | [], [] -> () + | a1 :: l1, a2 :: l2 -> f !i a1 a2; incr i; aux l1 l2 + | _, _ -> invalid_arg "List.iteri2" in aux l1 l2 let mapi2 f l1 l2 = let i = ref 0 in let rec aux l1 l2 = match l1, l2 with - | [], [] -> [] - | a1 :: l1, a2 :: l2 -> let r = f !i a1 a2 in incr i; r :: aux l1 l2 - | _, _ -> invalid_arg "List.mapi2" + | [], [] -> [] + | a1 :: l1, a2 :: l2 -> let r = f !i a1 a2 in incr i; r :: aux l1 l2 + | _, _ -> invalid_arg "List.mapi2" in aux l1 l2 let reduce_left f l = let rec aux acc = function - | [] -> acc - | a :: l -> aux (f acc a) l + | [] -> acc + | a :: l -> aux (f acc a) l in match l with | [] -> failwith "reduce" | a :: l -> aux a l let rec reduce_right f = function - | [] -> failwith "reduce" - | [a] -> a - | a :: l -> f a (reduce_right f l) + | [] -> failwith "reduce" + | [a] -> a + | a :: l -> f a (reduce_right f l) let map_fold_left f acc l = let rec aux acc r = function - | [] -> List.rev r, acc - | a :: l -> + | [] -> List.rev r, acc + | a :: l -> let a, acc = f acc a in aux acc (a :: r) l in @@ -254,9 +254,9 @@ module List = struct let rec unique_sorted cmp = function - | a1 :: a2 :: l when cmp a1 a2 = 0 -> unique_sorted cmp (a2 :: l) - | [] -> [] - | a :: l -> a :: unique_sorted cmp l + | a1 :: a2 :: l when cmp a1 a2 = 0 -> unique_sorted cmp (a2 :: l) + | [] -> [] + | a :: l -> a :: unique_sorted cmp l let sort_unique cmp l = unique_sorted cmp (sort cmp l) diff --git a/src/plugins/variadic/extends.mli b/src/plugins/variadic/extends.mli index fc4af12f94877df709ff85ce10dc91ba6a4b6bfa..a3ce5afa58afd73c2eec46a017cf4ba907a27599 100644 --- a/src/plugins/variadic/extends.mli +++ b/src/plugins/variadic/extends.mli @@ -144,4 +144,3 @@ module List : sig (** [replace i v l] returns a new list where [l.(i)] = [v] *) val replace : int -> 'a -> 'a list -> 'a list end - diff --git a/src/plugins/variadic/format_parser.ml b/src/plugins/variadic/format_parser.ml index 3a31e59fe0b3c507c6b0c106ec05366089c89327..f656b33b44ee33065981770a28da211dd12e9d95 100644 --- a/src/plugins/variadic/format_parser.ml +++ b/src/plugins/variadic/format_parser.ml @@ -40,40 +40,40 @@ let check_flag spec flag = match flag, cs with | FSharp, #has_alternative_form -> true | FZero, #integer_specifier when Extlib.has_some spec.f_precision -> - warn "Flag 0 is ignored when a precision is specified"; false + warn "Flag 0 is ignored when a precision is specified"; false | FZero, #numeric_specifier when List.mem FMinus spec.f_flags -> - warn "Flag 0 is ignored when flag - is also specified."; false + warn "Flag 0 is ignored when flag - is also specified."; false | FZero, #numeric_specifier -> true | FMinus, cs when cs <> `n -> true | FSpace, #signed_specifier when List.mem FPlus spec.f_flags -> - warn "Flag ' ' is ignored when flag + is also specified."; false + warn "Flag ' ' is ignored when flag + is also specified."; false | FSpace, #signed_specifier -> true | FPlus, (#signed_specifier | #float_specifier) -> true - | _ -> - warn "Flag %a and conversion specififer %a are not compatibles." - pp_flag flag - pp_cs (spec.f_conversion_specifier,spec.f_capitalize); - raise Invalid_format + | _ -> + warn "Flag %a and conversion specififer %a are not compatibles." + pp_flag flag + pp_cs (spec.f_conversion_specifier,spec.f_capitalize); + raise Invalid_format let check_cs_compatibility cs capitalized has_field_width has_precision = match cs with | (`n | `c | `p) as cs when has_precision -> - warn "Conversion specifier %a does not expect a precision." - pp_cs (cs, capitalized) ; - raise Invalid_format + warn "Conversion specifier %a does not expect a precision." + pp_cs (cs, capitalized) ; + raise Invalid_format | `n when has_field_width -> - warn "Conversion specifier n does not expect a field width."; - raise Invalid_format + warn "Conversion specifier n does not expect a field width."; + raise Invalid_format | _ -> () let rec make_flags_unique = function | [] -> [] | f :: l -> - if List.mem f l then ( - warn "Multiple usage of flag '%a'." pp_flag f; - make_flags_unique l - ) else - f :: make_flags_unique l + if List.mem f l then ( + warn "Multiple usage of flag '%a'." pp_flag f; + make_flags_unique l + ) else + f :: make_flags_unique l (* When checking, we don't really care which type are returned but only if it can be returned *) @@ -147,27 +147,27 @@ struct let get (s,i : t) : char = try let c = Format_string.get_char s !i in incr i; c with Format_string.OutOfBounds -> '\000' - | Format_string.NotAscii _ -> '\026' + | Format_string.NotAscii _ -> '\026' let last (s,i : t) : char = try Format_string.get_char s (!i - 1) with Format_string.OutOfBounds -> '\000' - | Format_string.NotAscii _ -> '\026' + | Format_string.NotAscii _ -> '\026' let peek (s,i : t) : char = try Format_string.get_char s !i with Format_string.OutOfBounds -> '\000' - | Format_string.NotAscii _ -> '\026' + | Format_string.NotAscii _ -> '\026' let getall (f : char -> bool) (s,i as b : t) : string = let start = !i in let len = ref 0 in begin try - while f (get b) do - incr len; - done; - back b; (* last char has not been matched *) - with _ -> () + while f (get b) do + incr len; + done; + back b; (* last char has not been matched *) + with _ -> () end; Format_string.sub_string s start !len end @@ -203,10 +203,10 @@ let parse_assignement_suppression b = let rec parse_flags b = match Buffer.get b with | '-' -> FMinus :: parse_flags b - | '+' -> FPlus :: parse_flags b - | ' ' -> FSpace :: parse_flags b - | '#' -> FSharp :: parse_flags b - | '0' -> FZero :: parse_flags b + | '+' -> FPlus :: parse_flags b + | ' ' -> FSpace :: parse_flags b + | '#' -> FSharp :: parse_flags b + | '0' -> FZero :: parse_flags b | _ -> Buffer.back b; [] let parse_f_fw b = @@ -223,11 +223,11 @@ let parse_s_fw b = let parse_precision b = match Buffer.peek b with | '.' -> Buffer.consume b; Some - begin match Buffer.peek b with - | '*' -> Buffer.consume b; PStar - | '-' | '0'..'9'-> PInt (parse_int b) - | _ -> PInt 0 - end + begin match Buffer.peek b with + | '*' -> Buffer.consume b; PStar + | '-' | '0'..'9'-> PInt (parse_int b) + | _ -> PInt 0 + end | _ -> None let parse_lm b = @@ -244,11 +244,11 @@ let parse_lm b = let parse_brackets_interior b = let first = ref true and circ = ref false in - let matching = function - | ']' when not !first -> false - | '^' when !first && not !circ -> circ := true; true - | '\000' -> warn "Unterminated brackets."; raise Invalid_format - | _ -> first := false; true + let matching = function + | ']' when not !first -> false + | '^' when !first && not !circ -> circ := true; true + | '\000' -> warn "Unterminated brackets."; raise Invalid_format + | _ -> first := false; true in let s = Buffer.getall matching b in Buffer.consume b; @@ -270,14 +270,14 @@ let parse_f_cs b = | 'g' | 'G' -> `g | 'a' | 'A' -> `a | '\000' -> - warn "Missing conversion specifier at the end of format."; - raise Invalid_format + warn "Missing conversion specifier at the end of format."; + raise Invalid_format | '\026' -> - warn "Conversion specifiers must be ascii characters."; - raise Invalid_format + warn "Conversion specifiers must be ascii characters."; + raise Invalid_format | c -> - warn "Unknown conversion specifier %c." c; - raise Invalid_format + warn "Unknown conversion specifier %c." c; + raise Invalid_format let parse_s_cs b = match Buffer.peek b with @@ -320,4 +320,3 @@ let parse_s_format s = parse_aux parse_s_spec (Buffer.create s) let parse_format typ s = match typ with | PrintfLike -> FFormat (parse_f_format s) | ScanfLike -> SFormat (parse_s_format s) - diff --git a/src/plugins/variadic/format_parser.mli b/src/plugins/variadic/format_parser.mli index bf8937e1f7e4f1784c4cb1105c221c56c5f9b62f..10218a76d6b724d37131f218c33535f982f0cafc 100644 --- a/src/plugins/variadic/format_parser.mli +++ b/src/plugins/variadic/format_parser.mli @@ -33,4 +33,3 @@ val check_format : format -> format val parse_f_format : Format_string.t -> f_format val parse_s_format : Format_string.t -> s_format val parse_format : format_kind -> Format_string.t -> format - diff --git a/src/plugins/variadic/format_pprint.ml b/src/plugins/variadic/format_pprint.ml index 90d2d42f90fcd6bedec489c7f1614af951625b72..d1890a1d2ff4cbcab949d64989aff5fc0055cf30 100644 --- a/src/plugins/variadic/format_pprint.ml +++ b/src/plugins/variadic/format_pprint.ml @@ -120,12 +120,12 @@ let pp_s_specification ff (spec: s_conversion_specification) = let pp_f_format ff fl = let fl = Extends.List.filter_map - (function | Specification s -> Some s | _ -> None) fl in + (function | Specification s -> Some s | _ -> None) fl in Pretty_utils.pp_list ~sep:"@." (fun ff s -> pp_f_specification ff s) ff fl let pp_s_format ff (fl: s_format) = let fl = Extends.List.filter_map - (function | Specification s -> Some s | _ -> None) fl in + (function | Specification s -> Some s | _ -> None) fl in Pretty_utils.pp_list ~sep:"@." (fun ff s -> pp_s_specification ff s) ff fl let pp_format ff = function diff --git a/src/plugins/variadic/format_string.ml b/src/plugins/variadic/format_string.ml index 6efa2326f69c8be67dc63949b08667bde229a421..f27b7431f4c47877fd5d507e623bd58776764d5c 100644 --- a/src/plugins/variadic/format_string.ml +++ b/src/plugins/variadic/format_string.ml @@ -21,8 +21,8 @@ (**************************************************************************) type t = -| String of string -| WString of int64 list + | String of string + | WString of int64 list exception OutOfBounds exception NotAscii of int64 @@ -30,13 +30,13 @@ exception NotAscii of int64 let get_char (s : t) (i : int) : char = match s with | String s -> - begin try + begin try String.get s i with Invalid_argument _ -> raise OutOfBounds - end + end | WString s -> - begin try + begin try let c = List.nth s i in if (c >= Int64.zero && c<= (Int64.of_int 255)) then Char.chr (Int64.to_int c) @@ -44,22 +44,22 @@ let get_char (s : t) (i : int) : char = raise (NotAscii c) with Failure _ -> raise OutOfBounds - end + end let get_wchar (s : t) (i : int) : int64 = match s with | String s -> - begin try + begin try Int64.of_int (Char.code (String.get s i)) with Invalid_argument _ -> raise OutOfBounds - end + end | WString s -> - begin try + begin try List.nth s i with Failure _ -> raise OutOfBounds - end + end let sub_string (s : t) (start : int) (len : int) : string = let init_char i = diff --git a/src/plugins/variadic/format_typer.ml b/src/plugins/variadic/format_typer.ml index 318f48b1791d25adf40b3854e22cf54ba36c19a9..d37c1ef006064bd984d5507aaec36021433b6b31 100644 --- a/src/plugins/variadic/format_typer.ml +++ b/src/plugins/variadic/format_typer.ml @@ -35,7 +35,7 @@ type typdef_finder = Logic_typing.type_namespace -> string -> Cil_types.typ let get_typedef ?(find_typedef = Globals.Types.find_type) s = - try + try find_typedef Logic_typing.Typedef s with Not_found -> raise (Type_not_found s) @@ -119,17 +119,17 @@ let type_f_format ?find_typedef format = let add_types spec = match spec with | Char _ -> () - | Specification s -> - if s.f_field_width = Some `FWStar then - r := (Cil.intType, `ArgIn) :: !r; - if s.f_precision = Some PStar then - r := (Cil.intType, `ArgIn) :: !r; - let dir = match s.f_conversion_specifier with - | `s -> `ArgInArray s.f_precision - | `n -> `ArgOut - | _ -> `ArgIn - in - r := (type_f_specifier ?find_typedef s, dir) :: !r; + | Specification s -> + if s.f_field_width = Some `FWStar then + r := (Cil.intType, `ArgIn) :: !r; + if s.f_precision = Some PStar then + r := (Cil.intType, `ArgIn) :: !r; + let dir = match s.f_conversion_specifier with + | `s -> `ArgInArray s.f_precision + | `n -> `ArgOut + | _ -> `ArgIn + in + r := (type_f_specifier ?find_typedef s, dir) :: !r; in List.iter add_types format; List.rev !r @@ -139,13 +139,13 @@ let type_s_format ?find_typedef format = let add_types spec = match spec with | Char _ -> () - | Specification s -> - let dir = match s.s_conversion_specifier with - | `s -> `ArgOutArray - | _ -> `ArgOut - in - if not s.s_assignment_suppression then - r := (type_s_specifier ?find_typedef s, dir) :: !r; + | Specification s -> + let dir = match s.s_conversion_specifier with + | `s -> `ArgOutArray + | _ -> `ArgOut + in + if not s.s_assignment_suppression then + r := (type_s_specifier ?find_typedef s, dir) :: !r; in List.iter add_types format; List.rev !r @@ -154,4 +154,3 @@ let type_s_format ?find_typedef format = let type_format ?find_typedef = function | FFormat f -> type_f_format ?find_typedef f | SFormat s -> type_s_format ?find_typedef s - diff --git a/src/plugins/variadic/format_typer.mli b/src/plugins/variadic/format_typer.mli index bc78bb447eb3ec55920e126ebfa6991a418c8703..cb83a6fb9fbaf5c6bccbfb2325b294a588413385 100644 --- a/src/plugins/variadic/format_typer.mli +++ b/src/plugins/variadic/format_typer.mli @@ -38,4 +38,3 @@ val type_s_specifier : ?find_typedef : typdef_finder -> s_conversion_specificati val type_f_format : ?find_typedef : typdef_finder -> f_format -> (typ * arg_dir) list val type_s_format : ?find_typedef : typdef_finder -> s_format -> (typ * arg_dir) list val type_format : ?find_typedef : typdef_finder -> format -> (typ * arg_dir) list - diff --git a/src/plugins/variadic/format_types.mli b/src/plugins/variadic/format_types.mli index 5e8a6594abee98f0da36d823283a12ee08c29696..3bd4808e6122c543124a146408bcdb1974e45cf5 100644 --- a/src/plugins/variadic/format_types.mli +++ b/src/plugins/variadic/format_types.mli @@ -25,7 +25,7 @@ type flag = FMinus | FPlus | FSpace | FSharp | FZero type flags = flag list -type f_field_width = [ `FWStar | `FWInt of int (** positive integer *)] +type f_field_width = [ `FWStar | `FWInt of int (** positive integer *)] type s_field_width = [ `FWInt of int ] type any_field_width = [ f_field_width | s_field_width ] @@ -45,7 +45,7 @@ type f_conversion_specifier = [ numeric_specifier | `c | `s | `p | `n ] type s_conversion_specifier = [ f_conversion_specifier | `Brackets of string ] -type any_conversion_specifier = +type any_conversion_specifier = [ s_conversion_specifier | f_conversion_specifier ] type f_conversion_specification = { @@ -66,8 +66,8 @@ type s_conversion_specification = { (** A format element is either a character or a conversion specification. *) type 'spec token = -| Char of char -| Specification of 'spec + | Char of char + | Specification of 'spec type f_format = f_conversion_specification token list type s_format = s_conversion_specification token list diff --git a/src/plugins/variadic/generic.ml b/src/plugins/variadic/generic.ml index edc982c19508e3a72dd06e123079fd218e7f62ea..d7298e5b82029e29df4500a8fe4aeba123e0cd67 100644 --- a/src/plugins/variadic/generic.ml +++ b/src/plugins/variadic/generic.ml @@ -39,7 +39,7 @@ let vpar = (* Translation of variadic types (not deeply) *) let translate_type = function -| TFun (ret_typ, args, is_variadic, attributes) -> + | TFun (ret_typ, args, is_variadic, attributes) -> let new_args = if is_variadic then @@ -47,11 +47,11 @@ let translate_type = function Some (ng_args @ [vpar] @ g_args) else args in - TFun (ret_typ, new_args, false, attributes) + TFun (ret_typ, new_args, false, attributes) -| TBuiltin_va_list attr -> vpar_typ attr + | TBuiltin_va_list attr -> vpar_typ attr -| typ -> typ + | typ -> typ (* Adding the vpar parameter to variadic functions *) @@ -60,49 +60,49 @@ let add_vpar vi = let formals = Cil.getFormalsDecl vi in (* Add the vpar formal once *) if not (List.exists (fun vi -> vi.vname = vpar_name) formals) then - begin - (* Register the new formal *) - let new_formal = Cil.makeFormalsVarDecl vpar in - let new_formals = formals @ [new_formal] in - Cil.unsafeSetFormalsDecl vi new_formals - end + begin + (* Register the new formal *) + let new_formal = Cil.makeFormalsVarDecl vpar in + let new_formals = formals @ [new_formal] in + Cil.unsafeSetFormalsDecl vi new_formals + end (* Translation of va_* builtins *) let translate_va_builtin caller inst = let vi, args, loc = match inst with - | Call(_, {enode = Lval(Var vi, _)}, args, loc) -> + | Call(_, {enode = Lval(Var vi, _)}, args, loc) -> vi, args, loc - | _ -> assert false + | _ -> assert false in let translate_va_start () = let va_list = match args with - | [{enode=Lval va_list}] -> va_list - | _ -> Self.fatal "Unexpected arguments to va_start" + | [{enode=Lval va_list}] -> va_list + | _ -> Self.fatal "Unexpected arguments to va_start" and varg = try Extlib.last (Cil.getFormalsDecl caller.svar) - with Invalid_argument _ -> Self.abort - "Using va_start macro in a function which is not variadic." + with Invalid_argument _ -> + Self.abort "Using va_start macro in a function which is not variadic." in [ Set (va_list, Cil.evar ~loc varg, loc) ] in let translate_va_copy () = let dest, src = match args with - | [{enode=Lval dest}; src] -> dest, src - | _ -> Self.fatal "Unexpected arguments to va_copy" + | [{enode=Lval dest}; src] -> dest, src + | _ -> Self.fatal "Unexpected arguments to va_copy" in [ Set (dest, src, loc) ] in let translate_va_arg () = let va_list, typ, lval = match args with - | [{enode=Lval va_list}; - {enode=SizeOf typ}; - {enode=CastE(_, {enode=AddrOf lval})}] -> va_list, typ, lval - | _ -> Self.fatal "Unexpected arguments to va_arg" + | [{enode=Lval va_list}; + {enode=SizeOf typ}; + {enode=CastE(_, {enode=AddrOf lval})}] -> va_list, typ, lval + | _ -> Self.fatal "Unexpected arguments to va_arg" in (* Check validity of type *) if Cil.isIntegralType typ then begin @@ -119,7 +119,7 @@ let translate_va_builtin caller inst = (* Build the replacing instruction *) let mk_lval_exp lval = Cil.new_exp ~loc (Lval lval) in let mk_mem exp = mk_lval_exp (Cil.mkMem ~addr:exp ~off:NoOffset) in - let mk_cast exp typ = Cil.mkCast ~force:false ~e:exp ~newt:typ in + let mk_cast exp typ = Cil.mkCast ~force:false ~e:exp ~newt:typ in let src = mk_mem (mk_cast (mk_mem (mk_lval_exp va_list)) (TPtr (typ,[]))) in [ Set (lval, src, loc); @@ -127,11 +127,11 @@ let translate_va_builtin caller inst = in begin match vi.vname with - | "__builtin_va_start" -> translate_va_start () - | "__builtin_va_copy" -> translate_va_copy () - | "__builtin_va_arg" -> translate_va_arg () - | "__builtin_va_end" -> [] (* No need to do anything for va_end *) - | _ -> assert false + | "__builtin_va_start" -> translate_va_start () + | "__builtin_va_copy" -> translate_va_copy () + | "__builtin_va_arg" -> translate_va_arg () + | "__builtin_va_end" -> [] (* No need to do anything for va_end *) + | _ -> assert false end @@ -166,7 +166,7 @@ let translate_call ~fundec ~ghost block loc mk_call callee pars = (* Build an array to store addresses *) let addrs = List.map Cil.mkAddrOfVi vis in let vargs, assigns = Build.array_init ~loc fundec ~ghost block - "__va_args" Cil.voidPtrType addrs + "__va_args" Cil.voidPtrType addrs in let instrs = instrs @ [assigns] in diff --git a/src/plugins/variadic/options.ml b/src/plugins/variadic/options.ml index 3558df1885504ed9bbfda4bb10677f9e9df04042..352a1faf08f2cb92b8667558b43e1e39593ecf64 100644 --- a/src/plugins/variadic/options.ml +++ b/src/plugins/variadic/options.ml @@ -21,24 +21,24 @@ (**************************************************************************) module Self = Plugin.Register - (struct - let name = "Variadic" - let shortname = "variadic" - let help = "Variadic functions translation" - end) + (struct + let name = "Variadic" + let shortname = "variadic" + let help = "Variadic functions translation" + end) module Enabled = Self.True - (struct - let option_name = "-variadic-translation" - let help = "translate variadic functions and calls to semantic \ - equivalents with only a fixed list of formal parameters" - end) + (struct + let option_name = "-variadic-translation" + let help = "translate variadic functions and calls to semantic \ + equivalents with only a fixed list of formal parameters" + end) module Strict = Self.True - (struct - let option_name = "-variadic-strict" - let help = "display warnings about non-portable implicit casts in the \ - calls of standard variadic functions, i.e. casts between \ - distinct integral types which have the same size and \ - signedness" - end) + (struct + let option_name = "-variadic-strict" + let help = "display warnings about non-portable implicit casts in the \ + calls of standard variadic functions, i.e. casts between \ + distinct integral types which have the same size and \ + signedness" + end) diff --git a/src/plugins/variadic/register.ml b/src/plugins/variadic/register.ml index 475b1f181c78bac60df11e2b7e052f1f28a9d951..73bf842cff4eaf7e93329f53df1a748f4308012e 100644 --- a/src/plugins/variadic/register.ml +++ b/src/plugins/variadic/register.ml @@ -20,8 +20,43 @@ (* *) (**************************************************************************) +open Cil_types + let category = File.register_code_transformation_category "variadic" +(* Variadic will create prototype and specifications for some variadic + functions. Since only prototypes are created, the resulting source code isn't + compilable. This printer will print the original functions, with the replaced + prototypes in comments beside the instruction. *) +let change_printer = + let first = ref true in + fun () -> + if !first then begin + first := false; + let module Printer_class(X: Printer.PrinterClass) = struct + class printer = object + inherit X.printer as super + + method !instr fmt i = + match i with + (* If the instruction calls a function that have been replaced, + then build an instruction with the old function. *) + | Call(res, ({ enode = Lval(Var vi, o) } as fct), args, loc) + when Replacements.mem vi -> + let old_vi = Replacements.find vi in + let old_vi = { vi with vname = old_vi.vname } in + let old_instr = + Call(res, { fct with enode = Lval(Var old_vi, o) }, args, loc) + in + Format.fprintf fmt "%a /* %s */" super#instr old_instr vi.vname + (* Otherwise keep the instruction. *) + | _ -> + super#instr fmt i + end + end in + Printer.update_printer (module Printer_class: Printer.PrinterExtension) + end + let () = Cmdline.run_after_extended_stage begin fun () -> @@ -32,8 +67,10 @@ let () = Cmdline.run_after_configuring_stage begin fun () -> let translate file = - if Options.Enabled.get () then + if Options.Enabled.get () then begin + change_printer (); Translate.translate_variadics file + end in File.add_code_transformation_before_cleanup category translate end diff --git a/src/plugins/variadic/replacements.ml b/src/plugins/variadic/replacements.ml new file mode 100644 index 0000000000000000000000000000000000000000..ff16032054668bb851749277de87c1587f946a07 --- /dev/null +++ b/src/plugins/variadic/replacements.ml @@ -0,0 +1,41 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2020 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* alternatives) *) +(* *) +(* you can redistribute it and/or modify it under the terms of the GNU *) +(* Lesser General Public License as published by the Free Software *) +(* Foundation, version 2.1. *) +(* *) +(* It is distributed in the hope that it will be useful, *) +(* but WITHOUT ANY WARRANTY; without even the implied warranty of *) +(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *) +(* GNU Lesser General Public License for more details. *) +(* *) +(* See the GNU Lesser General Public License version 2.1 *) +(* for more details (enclosed in the file licenses/LGPLv2.1). *) +(* *) +(**************************************************************************) + +(* State to store the association between a replaced function and the original + function. *) +module Replacements = + Cil_state_builder.Varinfo_hashtbl + (Cil_datatype.Varinfo) + (struct + let size = 17 + let name = "replacements" + let dependencies = [ Options.Enabled.self; Options.Strict.self ] + end) + +let add new_vi old_vi = + Replacements.add new_vi old_vi + +let find new_vi = + Replacements.find new_vi + +let mem new_vi = + Replacements.mem new_vi diff --git a/src/plugins/variadic/replacements.mli b/src/plugins/variadic/replacements.mli new file mode 100644 index 0000000000000000000000000000000000000000..09539a4ab346b9dcc539cb77787ce186b32abb0e --- /dev/null +++ b/src/plugins/variadic/replacements.mli @@ -0,0 +1,35 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2020 *) +(* CEA (Commissariat à l'énergie atomique et aux énergies *) +(* alternatives) *) +(* *) +(* you can redistribute it and/or modify it under the terms of the GNU *) +(* Lesser General Public License as published by the Free Software *) +(* Foundation, version 2.1. *) +(* *) +(* It is distributed in the hope that it will be useful, *) +(* but WITHOUT ANY WARRANTY; without even the implied warranty of *) +(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *) +(* GNU Lesser General Public License for more details. *) +(* *) +(* See the GNU Lesser General Public License version 2.1 *) +(* for more details (enclosed in the file licenses/LGPLv2.1). *) +(* *) +(**************************************************************************) + +open Cil_types + +val add: varinfo -> varinfo -> unit +(** [add replaced original] stores the association of the original and the + replaced functions in a project state. *) + +val find: varinfo -> varinfo +(* [find fct] returns the original function for [fct] from the project state if + it has been replaced. Raise [Not_found] if no original function exists. *) + +val mem: varinfo -> bool +(* [mem fct] returns true if an original function exists for [fct], false + otherwise. *) diff --git a/src/plugins/variadic/standard.ml b/src/plugins/variadic/standard.ml index d80886c8c0501c6b987e0e2329bb8e2461e6aad4..27ed9f5e4baa3bd328d8961603b00d5cc1fa9d40 100644 --- a/src/plugins/variadic/standard.ml +++ b/src/plugins/variadic/standard.ml @@ -134,7 +134,7 @@ let cast_arg i paramtyp exp = The argument will be cast from %a to %a." (i + 1) pretty_typ argtyp pretty_typ paramtyp - end; + end; Cil.mkCast ~force:false ~e:exp ~newt:paramtyp @@ -181,12 +181,12 @@ let find_null exp_list = let aggregator_call ~fundec ~ghost {a_target; a_pos; a_type; a_param} scope loc mk_call vf args = let name = vf.vf_decl.vorig_name - and tparams = Typ.params_types a_target.vtype + and tparams = Typ.params_types a_target.vtype and pname, ptyp = a_param in (* Check argument count *) let argcount = List.length args - and paramcount = List.length tparams in + and paramcount = List.length tparams in if argcount < paramcount then begin Self.warning ~current:true "Not enough arguments: expected %d, given %d." @@ -195,14 +195,14 @@ let aggregator_call end; (* Compute the size of the aggregation *) - let size = match a_type with - | EndedByNull -> + let size = match a_type with + | EndedByNull -> begin try - find_null (List.drop a_pos args) + 1 - with Not_found -> - Self.warning ~current:true - "Failed to find a sentinel (NULL pointer) in the argument list."; - raise Translate_call_exn; + find_null (List.drop a_pos args) + 1 + with Not_found -> + Self.warning ~current:true + "Failed to find a sentinel (NULL pointer) in the argument list."; + raise Translate_call_exn; end in @@ -272,26 +272,29 @@ let overloaded_call ~fundec overload block loc mk_call vf args = let tparams, new_callee = match filter_matching_prototypes overload args with | [] -> (* No matching prototype *) - Self.warning ~current:true - "@[No matching prototype found for this call to %s.@.\ - Expected candidates:@.\ - @[<v> %a@]@.\ - Given arguments:@.\ - @[<v> %a@]" - name (pp_overload name) overload - (pp_prototype name) (List.map Cil.typeOf args); - raise Translate_call_exn; + Self.warning ~current:true + "@[No matching prototype found for this call to %s.@.\ + Expected candidates:@.\ + @[<v> %a@]@.\ + Given arguments:@.\ + @[<v> %a@]" + name (pp_overload name) overload + (pp_prototype name) (List.map Cil.typeOf args); + raise Translate_call_exn; | [(tparams,vi)] -> (* Exactly one matching prototype *) - tparams, vi + tparams, vi | l -> (* Several matching prototypes *) - Self.warning ~current:true - "Ambiguous call to %s. Matching candidates are: \ - %a" - name - (pp_overload name) l; - raise Translate_call_exn; + Self.warning ~current:true + "Ambiguous call to %s. Matching candidates are: \ + %a" + name + (pp_overload name) l; + raise Translate_call_exn; in + (* Store the translation *) + Replacements.add new_callee vf.vf_decl; + (* Rebuild the call *) Self.result ~current:true ~level:2 "Translating call to the specialized version %a." @@ -328,7 +331,7 @@ let find_predicate name = | [] -> Self.warning ~once:true "Unable to locate ACSL predicate %s which should be in the Frama-C LibC. \ - Correct specifications can't be generated." + Correct specifications can't be generated." name; None @@ -393,17 +396,17 @@ let build_fun_spec env loc vf format_fun tvparams formals = let add_lval ~indirect (lval,dir) = (* Add the lval to the list of sources/dests *) begin match dir with - | (`ArgIn | `ArgInArray _) -> insert_source ~indirect lval - | (`ArgOut | `ArgOutArray) -> insert_dest lval - | `ArgInOut -> insert_source ~indirect lval; insert_dest lval + | (`ArgIn | `ArgInArray _) -> insert_source ~indirect lval + | (`ArgOut | `ArgOutArray) -> insert_dest lval + | `ArgInOut -> insert_source ~indirect lval; insert_dest lval end in let add_var ?pos (vi,dir) = (* Use the appropriate logical lval *) let lval = match dir with - | `ArgIn -> Build.lvar vi - | (`ArgInArray _ | `ArgOutArray) -> Build.trange_from_vi ~loc vi - | (`ArgOut | `ArgInOut) -> Build.tvarmem ~loc vi + | `ArgIn -> Build.lvar vi + | (`ArgInArray _ | `ArgOutArray) -> Build.trange_from_vi ~loc vi + | (`ArgOut | `ArgInOut) -> Build.tvarmem ~loc vi in (* Build requires/ensures *) let term = Build.tvar ~loc vi in @@ -474,17 +477,17 @@ let build_fun_spec env loc vf format_fun tvparams formals = (* assigns stream->__fc_FILE_data \from stream->__fc_FILE_data, __fc_FILE_id *) begin match find_field env "__fc_FILE" "__fc_FILE_data" with - | Some fieldinfo -> + | Some fieldinfo -> let varfield = Build.tvarfield ~loc vi fieldinfo in add_lval ~indirect:false (varfield, `ArgInOut) - | None -> + | None -> add_var ~indirect:false (vi, `ArgInOut) end; begin match find_field env "__fc_FILE" "__fc_FILE_id" with - | Some fieldinfo -> + | Some fieldinfo -> let varfield = Build.tvarfield ~loc vi fieldinfo in add_lval ~indirect:true (varfield, `ArgIn) - | None -> () + | None -> () end in @@ -524,31 +527,31 @@ let build_fun_spec env loc vf format_fun tvparams formals = in begin match format_fun.f_buffer, format_fun.f_kind with - | StdIO, ScanfLike -> + | StdIO, ScanfLike -> begin match find_global env "__fc_stdin" with - | Some vi -> add_stream vi - | None -> () + | Some vi -> add_stream vi + | None -> () end - | StdIO, PrintfLike -> + | StdIO, PrintfLike -> begin match find_global env "__fc_stdout" with - | Some vi -> add_stream vi - | None -> () + | Some vi -> add_stream vi + | None -> () end - | Arg (i, _), ScanfLike -> + | Arg (i, _), ScanfLike -> add_var ~indirect:true (List.nth sformals i, `ArgInArray None) - | Arg (i, size_pos), PrintfLike -> + | Arg (i, size_pos), PrintfLike -> add_var ~indirect:true (List.nth sformals i, `ArgOutArray); begin match size_pos with - | Some n -> - add_buffer (List.nth sformals i) (List.nth sformals n) - | None -> () + | Some n -> + add_buffer (List.nth sformals i) (List.nth sformals n) + | None -> () end - | Stream i, _ -> + | Stream i, _ -> add_stream (List.nth sformals i) - | File i, _ -> + | File i, _ -> let file = List.nth sformals i in add_var ~indirect:true (file, `ArgIn); - | Syslog, _ -> () + | Syslog, _ -> () end; (* Build the assigns clause (without \result, for now; it will be added @@ -568,7 +571,7 @@ let build_fun_spec env loc vf format_fun tvparams formals = (* Build the default behaviour *) let bhv = Cil.mk_behavior ~assigns - ~requires:!requires ~post_cond:!ensures () in + ~requires:!requires ~post_cond:!ensures () in { (Cil.empty_funspec ()) with spec_behavior = [bhv] } @@ -579,7 +582,7 @@ let format_fun_call ~fundec env format_fun scope loc mk_call vf args = and params = Typ.params vf.vf_decl.vtype in (* Remove the va_param parameter added during the declaration visit *) let fixed_params_count = Typ.params_count vf.vf_original_type in - let sparams = List.take fixed_params_count params in + let sparams = List.take fixed_params_count params in (* Extract the format if possible *) let format = @@ -635,6 +638,9 @@ let format_fun_call ~fundec env format_fun scope loc mk_call vf args = new_callee.vname <- new_name; new_globals := glob :: !new_globals; + (* Store the translation *) + Replacements.add new_callee vf.vf_decl; + (* Translate the call *) Self.result ~current:true ~level:2 "Translating call to %s to a call to the specialized version %s." diff --git a/src/plugins/variadic/tests/known/oracle/fcntl.res.oracle b/src/plugins/variadic/tests/known/oracle/fcntl.res.oracle index 529a1b844f24e9b2005e75a13d74ee945f0a6d85..9a28a06f1ddcde16ff456ea7bde6cc634261d9c6 100644 --- a/src/plugins/variadic/tests/known/oracle/fcntl.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/fcntl.res.oracle @@ -59,8 +59,8 @@ int main(void) struct flock fl; int volatile choice = 0; int flags = __va_fcntl_void(0,1); - __va_fcntl_int(0,2,flags); - __va_fcntl_flock(0,5,& fl); + fcntl(0,2,flags); /* __va_fcntl_int */ + fcntl(0,5,& fl); /* __va_fcntl_flock */ switch (choice) { case 1: { @@ -69,8 +69,8 @@ int main(void) void *__va_args[2] = {& __va_arg0, & __va_arg1}; fcntl(0,2,(void * const *)(__va_args)); } - case 2: __va_fcntl_void(0,2); - case 3: __va_fcntl_flock(0,2,& fl); + case 2: fcntl(0,2); /* __va_fcntl_void */ + case 3: fcntl(0,2,& fl); /* __va_fcntl_flock */ case 4: { double __va_arg0_9 = 0.5; diff --git a/src/plugins/variadic/tests/known/oracle/ioctl.res.oracle b/src/plugins/variadic/tests/known/oracle/ioctl.res.oracle index 195847c4a798c48e04d7613f0a9ff77e106c4001..35341a809c354de01925388d31167adf161c7390 100644 --- a/src/plugins/variadic/tests/known/oracle/ioctl.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/ioctl.res.oracle @@ -41,8 +41,8 @@ int main(void) char arg = (char)42; int r2 = __va_ioctl_ptr(fd1,request1,(void *)(& arg)); struct st *p = (struct st *)0; - __va_ioctl_ptr(fd1,request1,(void *)p); - __va_ioctl_int(fd1,request1,42); + ioctl(fd1,request1,(void *)p); /* __va_ioctl_ptr */ + ioctl(fd1,request1,42); /* __va_ioctl_int */ __retres = 0; return __retres; } diff --git a/src/plugins/variadic/tests/known/oracle/openat.res.oracle b/src/plugins/variadic/tests/known/oracle/openat.res.oracle index 045316f712aebc6d8f0ff79b5b7f84d9140ccff0..2fe15e305f26064ab92db14369c4ae4a171cb856 100644 --- a/src/plugins/variadic/tests/known/oracle/openat.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/openat.res.oracle @@ -40,8 +40,8 @@ int main(void) mode_t mode1 = (unsigned int)0; int mode2 = 0; char *file = (char *)"file"; - __va_openat_mode_t(0,(char const *)file,flag,mode1); - __va_openat_mode_t(0,(char const *)file,flag,(mode_t)mode2); + openat(0,(char const *)file,flag,mode1); /* __va_openat_mode_t */ + openat(0,(char const *)file,flag,(mode_t)mode2); /* __va_openat_mode_t */ { double __va_arg0 = 3.0; void *__va_args[1] = {& __va_arg0}; diff --git a/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c b/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c index 3a496e7bf57c8b5807bd005cfec8ac6a811db5c0..ef17d7a18c478a7a9028d3a32a614967d7f4f413 100644 --- a/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c +++ b/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c @@ -18,7 +18,7 @@ int printf_va_1(char const * __restrict format); int main(void) { int __retres; - printf_va_1(""); + printf(""); /* printf_va_1 */ __retres = 0; return __retres; } @@ -41,10 +41,22 @@ int main(void) */ int printf_va_1(char const * __restrict format); +/*@ requires valid_read_string(format); + assigns \result, __fc_stdout->__fc_FILE_data; + assigns \result + \from (indirect: __fc_stdout->__fc_FILE_id), + (indirect: __fc_stdout->__fc_FILE_data), + (indirect: *(format + (0 ..))); + assigns __fc_stdout->__fc_FILE_data + \from (indirect: __fc_stdout->__fc_FILE_id), + __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); + */ +int printf_va_1(char const * __restrict format); + int main(void) { int __retres; - printf_va_1(""); + printf(""); /* printf_va_1 */ __retres = 0; return __retres; } diff --git a/src/plugins/variadic/tests/known/oracle/printf.res.oracle b/src/plugins/variadic/tests/known/oracle/printf.res.oracle index 466df2fb14ff799aa664504b31e8c411db639545..5dfc5110fbc51a13382b0667c59193994327797f 100644 --- a/src/plugins/variadic/tests/known/oracle/printf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf.res.oracle @@ -621,32 +621,32 @@ int main(void) int8_t i8 = (signed char)42; uint_least64_t uleast64 = (unsigned long long)42u; int_fast32_t ifast32 = 42; - printf_va_1("Hello world !\n"); - printf_va_2("%s%n",string,& i); - printf_va_3("%ls",wstring); - printf_va_4("%d %hhn",i,& hh); - printf_va_5("%hhi %hn",(int)hh,& h); - printf_va_6("%hd %ln",(int)h,& l); - printf_va_7("%li %lln",l,& ll); - printf_va_8("%lld %jn",ll,& j); - printf_va_9("%jd %zn",j,& z); - printf_va_10("%zd %tn",z,& t); - printf_va_11("%td\n",t); - printf_va_12("%u ",ui); - printf_va_13("%hho ",(int)uhh); - printf_va_14("%hx ",(int)uh); - printf_va_15("%lX ",ul); - printf_va_16("%llu ",ull); - printf_va_17("%jo ",uj); - printf_va_18("%zx %tX\n",z,t); - printf_va_19("%llu",u64); - printf_va_20("%hhi",(int)i8); - printf_va_21("%llx",uleast64); - printf_va_22("%d",ifast32); - printf_va_23("%f %Le\n",f,L); - printf_va_24("%c\n",(int)c); - printf_va_25("%p ",(void *)string); - printf_va_26("%d %*.*u\n",1,- (-1),2,ui); + printf("Hello world !\n"); /* printf_va_1 */ + printf("%s%n",string,& i); /* printf_va_2 */ + printf("%ls",wstring); /* printf_va_3 */ + printf("%d %hhn",i,& hh); /* printf_va_4 */ + printf("%hhi %hn",(int)hh,& h); /* printf_va_5 */ + printf("%hd %ln",(int)h,& l); /* printf_va_6 */ + printf("%li %lln",l,& ll); /* printf_va_7 */ + printf("%lld %jn",ll,& j); /* printf_va_8 */ + printf("%jd %zn",j,& z); /* printf_va_9 */ + printf("%zd %tn",z,& t); /* printf_va_10 */ + printf("%td\n",t); /* printf_va_11 */ + printf("%u ",ui); /* printf_va_12 */ + printf("%hho ",(int)uhh); /* printf_va_13 */ + printf("%hx ",(int)uh); /* printf_va_14 */ + printf("%lX ",ul); /* printf_va_15 */ + printf("%llu ",ull); /* printf_va_16 */ + printf("%jo ",uj); /* printf_va_17 */ + printf("%zx %tX\n",z,t); /* printf_va_18 */ + printf("%llu",u64); /* printf_va_19 */ + printf("%hhi",(int)i8); /* printf_va_20 */ + printf("%llx",uleast64); /* printf_va_21 */ + printf("%d",ifast32); /* printf_va_22 */ + printf("%f %Le\n",f,L); /* printf_va_23 */ + printf("%c\n",(int)c); /* printf_va_24 */ + printf("%p ",(void *)string); /* printf_va_25 */ + printf("%d %*.*u\n",1,- (-1),2,ui); /* printf_va_26 */ { unsigned int __va_arg0 = ui; char *__va_arg1 = string; @@ -656,8 +656,8 @@ int main(void) (void * const *)(__va_args)); } char hashes[4] = {(char)'#', (char)'#', (char)'#', (char)'#'}; - printf_va_27("%.*s",4,hashes); - printf_va_28("%.4s",hashes); + printf("%.*s",4,hashes); /* printf_va_27 */ + printf("%.4s",hashes); /* printf_va_28 */ __retres = 0; return __retres; } diff --git a/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle index 41b4f0c4fb811f31682c40d4a3d82aba5efd6ef7..578f214bfae4c540f6569d8134798eb9f50dbbc0 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_redefined.res.oracle @@ -25,7 +25,7 @@ int printf_va_1(char const * __restrict __format, size_t param0); void main(void) { long x = (long)0; - printf_va_1("%zd\n",(size_t)x); + printf("%zd\n",(size_t)x); /* printf_va_1 */ return; } 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 fb8aff5b5010d525860db87b4ed5b932321499ff..532167ae9ef1ce1a8241fad5d1e966b1d985a19d 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 @@ -77,7 +77,7 @@ int main(void) int __retres; { int tmp = 2; - printf_va_1("%d",1); + printf("%d",1); /* printf_va_1 */ } { int __va_arg0 = 1; 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 d08481ad5e2a4baa0cfdcbf0f7d7aeb3e5e24fad..4bad516a8d0f8ab3bace49b2b26410771054cc17 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 @@ -140,11 +140,11 @@ int main(void) wchar_t *wstring = (wchar_t *)L"b" "a" "r" ; int volatile nondet = 0; switch (nondet) { - case 0: printf_va_1("%n",(int *)(& tt)); - case 1: printf_va_2("%n",(int *)(& ui)); - case 2: printf_va_3("%hhn",(signed char *)string); - case 3: printf_va_4("%s",(char *)wstring); - case 4: printf_va_5("%ls",(wchar_t *)string); + case 0: printf("%n",(int *)(& tt)); /* printf_va_1 */ + case 1: printf("%n",(int *)(& ui)); /* printf_va_2 */ + case 2: printf("%hhn",(signed char *)string); /* printf_va_3 */ + case 3: printf("%s",(char *)wstring); /* printf_va_4 */ + case 4: printf("%ls",(wchar_t *)string); /* printf_va_5 */ } __retres = 0; return __retres; 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 d9fbae7e5f89be7538495e730d7952060a414b09..e7804a787db53d028ac81c30cf7c26577f43b559 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 @@ -326,23 +326,23 @@ int main(void) float f = 42.0f; long double ld = 42.0l; char *string = (char *)"42"; - printf_va_1("%hhd",(int)c); - printf_va_2("%d",(int)ui); - printf_va_3("%x",(unsigned int)i); - printf_va_4("%ld",(long)i); - printf_va_5("%d",(int)li); - printf_va_6("%lu",(unsigned long)ui); - printf_va_7("%u",(unsigned int)uli); - printf_va_8("%p",(void *)ui); - printf_va_9("%f",(double)f); - printf_va_10("%f",(double)ld); - printf_va_11("%lf",(double)ld); - printf_va_12("%Lf",(long double)((double)f)); - printf_va_13("%s",(char *)i); - printf_va_14("%d",(int)string); + printf("%hhd",(int)c); /* printf_va_1 */ + printf("%d",(int)ui); /* printf_va_2 */ + printf("%x",(unsigned int)i); /* printf_va_3 */ + printf("%ld",(long)i); /* printf_va_4 */ + printf("%d",(int)li); /* printf_va_5 */ + printf("%lu",(unsigned long)ui); /* printf_va_6 */ + printf("%u",(unsigned int)uli); /* printf_va_7 */ + printf("%p",(void *)ui); /* printf_va_8 */ + printf("%f",(double)f); /* printf_va_9 */ + printf("%f",(double)ld); /* printf_va_10 */ + printf("%lf",(double)ld); /* printf_va_11 */ + printf("%Lf",(long double)((double)f)); /* printf_va_12 */ + printf("%s",(char *)i); /* printf_va_13 */ + printf("%d",(int)string); /* printf_va_14 */ RC rc = OK; - printf_va_15("%u",rc); - printf_va_16("%d",(int)rc); + printf("%u",rc); /* printf_va_15 */ + printf("%d",(int)rc); /* printf_va_16 */ __retres = 0; return __retres; } @@ -728,23 +728,23 @@ int main(void) float f = 42.0f; long double ld = 42.0l; char *string = (char *)"42"; - printf_va_1("%hhd",(int)c); - printf_va_2("%d",(int)ui); - printf_va_3("%x",(unsigned int)i); - printf_va_4("%ld",(long)i); - printf_va_5("%d",(int)li); - printf_va_6("%lu",(unsigned long)ui); - printf_va_7("%u",(unsigned int)uli); - printf_va_8("%p",(void *)ui); - printf_va_9("%f",(double)f); - printf_va_10("%f",(double)ld); - printf_va_11("%lf",(double)ld); - printf_va_12("%Lf",(long double)((double)f)); - printf_va_13("%s",(char *)i); - printf_va_14("%d",(int)string); + printf("%hhd",(int)c); /* printf_va_1 */ + printf("%d",(int)ui); /* printf_va_2 */ + printf("%x",(unsigned int)i); /* printf_va_3 */ + printf("%ld",(long)i); /* printf_va_4 */ + printf("%d",(int)li); /* printf_va_5 */ + printf("%lu",(unsigned long)ui); /* printf_va_6 */ + printf("%u",(unsigned int)uli); /* printf_va_7 */ + printf("%p",(void *)ui); /* printf_va_8 */ + printf("%f",(double)f); /* printf_va_9 */ + printf("%f",(double)ld); /* printf_va_10 */ + printf("%lf",(double)ld); /* printf_va_11 */ + printf("%Lf",(long double)((double)f)); /* printf_va_12 */ + printf("%s",(char *)i); /* printf_va_13 */ + printf("%d",(int)string); /* printf_va_14 */ RC rc = OK; - printf_va_15("%u",rc); - printf_va_16("%d",(int)rc); + printf("%u",rc); /* printf_va_15 */ + printf("%d",(int)rc); /* printf_va_16 */ __retres = 0; return __retres; } diff --git a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle index 8e0fee8c8c61cb7130dda20c71f83fb974454e16..41ce9ba9264539da43e5b0faa7c20c299d36383c 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle @@ -65,7 +65,7 @@ int main(void) int __retres; char c[10]; int i; - scanf_va_1("Hello %*10le %% %10s %[^]world] %d !",c,c,& i); + scanf("Hello %*10le %% %10s %[^]world] %d !",c,c,& i); /* scanf_va_1 */ __retres = 0; return __retres; } 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 84e1b114610bc2fba9c22e3d20992101bebb3551..f2bb44a8342219ce0ed7a505a360e309653ded8a 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle @@ -53,7 +53,7 @@ int main(void) int n; while (1) { int tmp; - tmp = scanf_va_1("%d",& n); + tmp = scanf("%d",& n); /* scanf_va_1 */ if (! (tmp > 0)) break; if (nondet) break; } 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 2ae6ce88bc32928d31beaa83e61f14f8836b30b7..1a88c203754ba220ba590c3b7c3927b238700f3d 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle @@ -68,7 +68,7 @@ int main(void) char c[10]; int i; /*@ assert Eva: initialization: \initialized(&d); */ - scanf_va_1("Hello %*10le %% %10s %[^]world] %d !",(char *)d,c,& i); + scanf("Hello %*10le %% %10s %[^]world] %d !",(char *)d,c,& i); /* scanf_va_1 */ __retres = 0; return __retres; } diff --git a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle index eff1561846476dc7d311772a7dfd93f670293bda..e8e49846730a17c80917b05866bcf50eea92871e 100644 --- a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle @@ -90,11 +90,11 @@ int main(void) if (nondet) { size_t tmp; tmp = strlen((char const *)(data)); - snprintf_va_1(dest,tmp,"%s",data); + snprintf(dest,tmp,"%s",data); /* snprintf_va_1 */ /*@ assert \false; */ ; } tmp_0 = strlen((char const *)(data)); - snprintf_va_2(dest,tmp_0 / (size_t)2,"%s",data); + snprintf(dest,tmp_0 / (size_t)2,"%s",data); /* snprintf_va_2 */ __retres = 0; return __retres; } 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 7952572f5ecd71bace98a028b4028ad4f8317874..ed1268ad065c1c0fe864fd085bc85cfc5bdea530 100644 --- a/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle @@ -185,11 +185,11 @@ int main(void) void *__va_args_40[3] = {& __va_arg0_34, & __va_arg1_36, & __va_arg2_38}; dprintf(1,(char const *)format,(void * const *)(__va_args_40)); } - fprintf_va_1(stream,"%d %s %d",1,(char *)"2",3); - printf_va_1("%d %s %d",1,(char *)"2",3); - snprintf_va_1(str,size,"%d %s %d",1,(char *)"2",3); - sprintf_va_1(str,"%d %s %d",1,(char *)"2",3); - dprintf_va_1(1,"%d %s %s",1,(char *)"3",(char *)"4"); + fprintf(stream,"%d %s %d",1,(char *)"2",3); /* fprintf_va_1 */ + printf("%d %s %d",1,(char *)"2",3); /* printf_va_1 */ + snprintf(str,size,"%d %s %d",1,(char *)"2",3); /* snprintf_va_1 */ + sprintf(str,"%d %s %d",1,(char *)"2",3); /* sprintf_va_1 */ + dprintf(1,"%d %s %s",1,(char *)"3",(char *)"4"); /* dprintf_va_1 */ __retres = 0; return __retres; } 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 841afb45a4b66b5c672e1ef841727732c4525548..dbe65b3bea3d228094253eba3e22f3ea36aba1dc 100644 --- a/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle @@ -156,9 +156,9 @@ int main(void) sscanf((char const *)str,(char const *)format, (void * const *)(__va_args_26)); } - fscanf_va_1(stream,"%d %s %d",& i,s,& j); - scanf_va_1("%d %s %d",& i,s,& j); - sscanf_va_1((char const *)str,"%d %s %d",& i,s,& j); + fscanf(stream,"%d %s %d",& i,s,& j); /* fscanf_va_1 */ + scanf("%d %s %d",& i,s,& j); /* scanf_va_1 */ + sscanf((char const *)str,"%d %s %d",& i,s,& j); /* sscanf_va_1 */ __retres = 0; return __retres; } diff --git a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle index 5efd248eb0b5ce882b544e4cad53a555fa11a625..338a605bafc35c6667d7b4da2917eda828ad264c 100644 --- a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle @@ -103,11 +103,11 @@ int main(void) if (nondet) { size_t tmp; tmp = wcslen((wchar_t const *)(data)); - swprintf_va_1(dest,tmp,(wchar_t const *)L"%" "l" "s" ,data); + swprintf(dest,tmp,(wchar_t const *)L"%" "l" "s" ,data); /* swprintf_va_1 */ /*@ assert \false; */ ; } tmp_0 = wcslen((wchar_t const *)(data)); - swprintf_va_2(dest,tmp_0 / (size_t)2,(wchar_t const *)L"%" "l" "s" ,data); + swprintf(dest,tmp_0 / (size_t)2,(wchar_t const *)L"%" "l" "s" ,data); /* swprintf_va_2 */ __retres = 0; return __retres; } diff --git a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle index 05cd9a214e23627b429f80a73c1b52e05f74a1b7..631396fece92093dd91c3a852c1af15dec335c3c 100644 --- a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle @@ -254,21 +254,21 @@ int main(void) int j; wchar_t input[0x100] = {102, 111, 114, 116, 121, 45, 116, 119, 111, 32, 105, 115, 0}; - wprintf_va_1((wchar_t const *)L"%" "d" " " "%" "l" "d" "\\n" ,42,42L); - wprintf_va_2((wchar_t const *)L"%" "1" "0" "d" " " "%" "0" "1" "0" "d" - "\\n" ,42,42); - wprintf_va_3((wchar_t const *)L"%" "d" " " "%" "x" " " "%" "o" " " "%" "#" - "x" " " "%" "#" "o" "\\n" ,42,42u,42u,42u,42u); - wprintf_va_4((wchar_t const *)L"%" "2" "." "1" "f" " " "%" "+" "." "0" "e" - " " "%" "E" "\\n" ,42.0,42.0,42.0); - wprintf_va_5((wchar_t const *)L"%" "*" "d" " " "\\n" ,4,2); - wprintf_va_6((wchar_t const *)L"%" "l" "s" " " "\\n" ,(wchar_t *)L"4" "2" ); - swprintf_va_1(wstring,(unsigned int)0x100,(wchar_t const *)L"%" "s" " " "=" - " " "%" "d" ,(char *)L"4" "2" " " "+" " " "4" "2" ,42 + 42); - wscanf_va_1((wchar_t const *)L"%" "l" "s" ,wstring); - wscanf_va_2((wchar_t const *)L"%" "d" " " "%" "d" ,& i,& j); - swscanf_va_1((wchar_t const *)(input),(wchar_t const *)L"%" "l" "s" " " "%" - "*" "s" " " "%" "d" ,wstring,& i); + wprintf((wchar_t const *)L"%" "d" " " "%" "l" "d" "\\n" ,42,42L); /* wprintf_va_1 */ + wprintf((wchar_t const *)L"%" "1" "0" "d" " " "%" "0" "1" "0" "d" "\\n" , + 42,42); /* wprintf_va_2 */ + wprintf((wchar_t const *)L"%" "d" " " "%" "x" " " "%" "o" " " "%" "#" "x" + " " "%" "#" "o" "\\n" ,42,42u,42u,42u,42u); /* wprintf_va_3 */ + wprintf((wchar_t const *)L"%" "2" "." "1" "f" " " "%" "+" "." "0" "e" " " + "%" "E" "\\n" ,42.0,42.0,42.0); /* wprintf_va_4 */ + wprintf((wchar_t const *)L"%" "*" "d" " " "\\n" ,4,2); /* wprintf_va_5 */ + wprintf((wchar_t const *)L"%" "l" "s" " " "\\n" ,(wchar_t *)L"4" "2" ); /* wprintf_va_6 */ + swprintf(wstring,(unsigned int)0x100,(wchar_t const *)L"%" "s" " " "=" " " + "%" "d" ,(char *)L"4" "2" " " "+" " " "4" "2" ,42 + 42); /* swprintf_va_1 */ + wscanf((wchar_t const *)L"%" "l" "s" ,wstring); /* wscanf_va_1 */ + wscanf((wchar_t const *)L"%" "d" " " "%" "d" ,& i,& j); /* wscanf_va_2 */ + swscanf((wchar_t const *)(input),(wchar_t const *)L"%" "l" "s" " " "%" "*" + "s" " " "%" "d" ,wstring,& i); /* swscanf_va_1 */ __retres = 0; return __retres; } diff --git a/src/plugins/variadic/translate.ml b/src/plugins/variadic/translate.ml index 2f09a846eb26e980ea7ccc4cde8337829e466308..627221bc47962ca15d63ee417388d4a05826f8ee 100644 --- a/src/plugins/variadic/translate.ml +++ b/src/plugins/variadic/translate.ml @@ -45,7 +45,7 @@ let translate_variadics (file : file) = (* Environment filled with global symbols. *) let env = Environment.from_file file in - (* Table associating varinfo of variadic functions to a variadic_function + (* Table associating varinfo of variadic functions to a variadic_function description *) let module Table = Cil_datatype.Varinfo.Hashtbl in let classification : variadic_function Table.t = Table.create 17 in @@ -54,14 +54,14 @@ let translate_variadics (file : file) = method! vglob glob = begin match glob with - | GFunDecl(_, vi, _) | GFun ({svar = vi}, _) - when not (is_framac_builtin vi) -> + | GFunDecl(_, vi, _) | GFun ({svar = vi}, _) + when not (is_framac_builtin vi) -> if not (Table.mem classification vi) then begin let vf = Classify.classify env vi in may (Table.add classification vi) vf end; Cil.SkipChildren - | _ -> + | _ -> Cil.SkipChildren end end @@ -88,26 +88,26 @@ let translate_variadics (file : file) = (* Translate types and signatures *) method! vglob glob = begin match glob with - | GFunDecl(_, vi, _) when is_framac_builtin vi -> + | GFunDecl(_, vi, _) when is_framac_builtin vi -> Self.result ~level:2 ~current:true "Variadic builtin %s left untransformed." vi.vname; Cil.SkipChildren - | GFunDecl(_, vi, _) -> + | GFunDecl(_, vi, _) -> if Table.mem classification vi then Generic.add_vpar vi; Cil.DoChildren - | GFun ({svar = vi} as fundec, _) -> + | GFun ({svar = vi} as fundec, _) -> if Table.mem classification vi then begin Generic.add_vpar vi; fundec.sformals <- Cil.getFormalsDecl vi; end; Standard.new_globals := []; Cil.DoChildrenPost (fun globs -> - List.rev (globs @ !Standard.new_globals)) + List.rev (globs @ !Standard.new_globals)) - | _ -> + | _ -> Cil.DoChildren end @@ -156,83 +156,90 @@ let translate_variadics (file : file) = ~fundec ~ghost block loc mk_call (Cil.evar ~loc f) args in begin match i with - | Call(_, {enode = Lval(Var vi, _)}, _, _) - when List.mem vi.vname va_builtins -> + | Call(_, {enode = Lval(Var vi, _)}, _, _) + when List.mem vi.vname va_builtins -> File.must_recompute_cfg fundec; Cil.ChangeTo (Generic.translate_va_builtin fundec i) - | Call(lv, {enode = Lval(Var vi, NoOffset)}, args, loc) -> - begin - try + | Call(lv, {enode = Lval(Var vi, NoOffset)}, args, loc) -> + begin + try + let mk_call f args = Call (lv, f, args, loc) in + let res = make_new_args mk_call vi args in + File.must_recompute_cfg fundec; + Cil.ChangeTo res + with Not_found -> + Cil.DoChildren + end + + | Call(lv, callee, args, loc) -> + let is_variadic = + try + let args, _ = Typ.ghost_partitioned_params (Cil.typeOf callee) in + let last = Extends.List.last args in + last = Generic.vpar + with Extends.List.EmptyList -> false + in + if is_variadic then begin let mk_call f args = Call (lv, f, args, loc) in - let res = make_new_args mk_call vi args in + let res = + Generic.translate_call + ~fundec + ~ghost + block + loc + mk_call + callee + args + in File.must_recompute_cfg fundec; Cil.ChangeTo res - with Not_found -> + end else Cil.DoChildren - end - - | Call(lv, callee, args, loc) -> - let is_variadic = - try - let args, _ = Typ.ghost_partitioned_params (Cil.typeOf callee) in - let last = Extends.List.last args in - last = Generic.vpar - with Extends.List.EmptyList -> false - in - if is_variadic then begin - let mk_call f args = Call (lv, f, args, loc) in - let res = - Generic.translate_call ~fundec ~ghost block loc mk_call callee args - in - File.must_recompute_cfg fundec; - Cil.ChangeTo res - end else - Cil.DoChildren - | Local_init(v, ConsInit(c, args, kind), loc) -> - begin - try - let mk_call f args = - let args = - match kind, args with - | Constructor, [] -> - Options.Self.fatal - "Constructor %a is expected to have at least one argument" - Cil_printer.pp_varinfo c - | Constructor, _::tl -> tl - | Plain_func, args -> args - in - let f = - match f.enode with - | Lval (Var f, NoOffset) -> f - | _ -> - Options.Self.fatal - "Constructor cannot be translated as indirect call" + | Local_init(v, ConsInit(c, args, kind), loc) -> + begin + try + let mk_call f args = + let args = + match kind, args with + | Constructor, [] -> + Options.Self.fatal + "Constructor %a is expected to have at least one argument" + Cil_printer.pp_varinfo c + | Constructor, _::tl -> tl + | Plain_func, args -> args + in + let f = + match f.enode with + | Lval (Var f, NoOffset) -> f + | _ -> + Options.Self.fatal + "Constructor cannot be translated as indirect call" + in + Local_init(v,ConsInit(f,args,kind),loc) in - Local_init(v,ConsInit(f,args,kind),loc) - in - let args = - match kind with + let args = + match kind with | Plain_func -> args | Constructor -> Cil.mkAddrOfVi v :: args - in - let res = make_new_args mk_call c args in - File.must_recompute_cfg fundec; - Cil.ChangeTo res - with Not_found -> - Cil.DoChildren - end - | _-> Cil.DoChildren + in + let res = make_new_args mk_call c args in + File.must_recompute_cfg fundec; + Cil.ChangeTo res + with Not_found -> + Cil.DoChildren + end + | _-> Cil.DoChildren end method! vexpr exp = begin match exp.enode with - | AddrOf (Var vi, NoOffset) - when Extends.Cil.is_variadic_function vi && is_framac_builtin vi -> + | AddrOf (Var vi, NoOffset) + when Extends.Cil.is_variadic_function vi && is_framac_builtin vi -> Self.not_yet_implemented "The variadic plugin doesn't handle calls to a pointer to the \ variadic builtin %s." vi.vname - | _ -> Cil.DoChildren + | _ -> Cil.DoChildren end end in diff --git a/src/plugins/variadic/va_build.ml b/src/plugins/variadic/va_build.ml index 101a8fa5c99bd8c414b12be2ad8bd8ac47429adb..c33f058e41b3a9287ab02d9f03728b33c46a8bc3 100644 --- a/src/plugins/variadic/va_build.ml +++ b/src/plugins/variadic/va_build.ml @@ -48,11 +48,11 @@ let array_init ~loc fundec ~ghost scope name elem_typ values = let vi = Cil.makeLocalVar fundec ~ghost ~scope name typ in let initl = match values with - | [] -> [ Index (Cil.zero ~loc, NoOffset), Cil.makeZeroInit ~loc elem_typ] - | _ -> - List.mapi - (fun i exp -> Index (Cil.integer ~loc i, NoOffset), SingleInit exp) - values + | [] -> [ Index (Cil.zero ~loc, NoOffset), Cil.makeZeroInit ~loc elem_typ] + | _ -> + List.mapi + (fun i exp -> Index (Cil.integer ~loc i, NoOffset), SingleInit exp) + values in vi.vdefined <- true; vi, Local_init(vi, AssignInit(CompoundInit(typ,initl)), loc) @@ -106,7 +106,7 @@ exception NotAFunction let tapp ~loc logic_info labels args = let ltyp = match logic_info.l_type with - | None -> raise NotAFunction - | Some ltyp -> ltyp + | None -> raise NotAFunction + | Some ltyp -> ltyp in Logic_const.term ~loc (Tapp (logic_info, labels, args)) ltyp diff --git a/src/plugins/variadic/va_types.mli b/src/plugins/variadic/va_types.mli index 74aa2086327cc463e7a5a84dc456bb3b81e4a8d8..70063338550ae6ea4ca452d6c679b1c8649128ae 100644 --- a/src/plugins/variadic/va_types.mli +++ b/src/plugins/variadic/va_types.mli @@ -24,28 +24,28 @@ open Cil_types type variadic_class = -| Unknown -(** Function declared and not known by Frama-C *) -| Defined -(** Function for which we have the definition in the project *) -| Misc -(** Function from the Frama-C lib *) -| Overload of overload -(** Function from the Frama-C lib which declines into a finite number of - possible prototypes whose names are given in the list *) -| Aggregator of aggregator -(** Function from the Frama-C lib which has a not-variadic equivalent with - the variadic part replaced by an array. (The array is the aggregation of - the arguments from the variadic part. *) -| FormatFun of format_fun -(** Function from the Frama-C lib for which the argument count and type is - fixed by a format argument. *) + | Unknown + (** Function declared and not known by Frama-C *) + | Defined + (** Function for which we have the definition in the project *) + | Misc + (** Function from the Frama-C lib *) + | Overload of overload + (** Function from the Frama-C lib which declines into a finite number of + possible prototypes whose names are given in the list *) + | Aggregator of aggregator + (** Function from the Frama-C lib which has a not-variadic equivalent with + the variadic part replaced by an array. (The array is the aggregation of + the arguments from the variadic part. *) + | FormatFun of format_fun + (** Function from the Frama-C lib for which the argument count and type is + fixed by a format argument. *) and overload = (typ list * varinfo) list and aggregator = { - a_target: varinfo; - a_pos: int; + a_target: varinfo; + a_pos: int; a_type: aggregator_type; a_param: string * typ; } @@ -59,11 +59,11 @@ and format_fun = { } and buffer = -| StdIO (** Standard input/output (stdin/stdout/stderr) *) -| Arg of int * int option (* Position of the buffer and size arguments *) -| Stream of int (* Position of the stream argument *) -| File of int (* Position of the file argument *) -| Syslog (* Output to some system log *) + | StdIO (** Standard input/output (stdin/stdout/stderr) *) + | Arg of int * int option (* Position of the buffer and size arguments *) + | Stream of int (* Position of the stream argument *) + | File of int (* Position of the file argument *) + | Syslog (* Output to some system log *) type variadic_function = { @@ -73,4 +73,3 @@ type variadic_function = { mutable vf_specialization_count: int; (* The number of specializations of this function built yet *) } - diff --git a/tests/libc/oracle/inttypes_h.0.res.oracle b/tests/libc/oracle/inttypes_h.0.res.oracle index aa91e7cdb995b263008e7086a223d16076671962..8e3ecb947f2be327cc138411c01a527a1387f05a 100644 --- a/tests/libc/oracle/inttypes_h.0.res.oracle +++ b/tests/libc/oracle/inttypes_h.0.res.oracle @@ -2531,255 +2531,255 @@ int main(void) int __retres; { int8_t x; - scanf_va_1("%hhd",(signed char *)(& x)); - printf_va_1("%hhd",(int)x); - scanf_va_2("%hhi",(signed char *)(& x)); - printf_va_2("%hhi",(int)x); + scanf("%hhd",(signed char *)(& x)); /* scanf_va_1 */ + printf("%hhd",(int)x); /* printf_va_1 */ + scanf("%hhi",(signed char *)(& x)); /* scanf_va_2 */ + printf("%hhi",(int)x); /* printf_va_2 */ } { uint8_t x_0; - scanf_va_3("%hho",(unsigned char *)(& x_0)); - printf_va_3("%hho",(int)x_0); - scanf_va_4("%hhu",(unsigned char *)(& x_0)); - printf_va_4("%hhu",(int)x_0); - scanf_va_5("%hhx",(unsigned char *)(& x_0)); - printf_va_5("%hhx",(int)x_0); - scanf_va_6("%hhx",(unsigned char *)(& x_0)); - printf_va_6("%hhX",(int)x_0); + scanf("%hho",(unsigned char *)(& x_0)); /* scanf_va_3 */ + printf("%hho",(int)x_0); /* printf_va_3 */ + scanf("%hhu",(unsigned char *)(& x_0)); /* scanf_va_4 */ + printf("%hhu",(int)x_0); /* printf_va_4 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_5 */ + printf("%hhx",(int)x_0); /* printf_va_5 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_6 */ + printf("%hhX",(int)x_0); /* printf_va_6 */ } { int16_t x_1; - scanf_va_7("%hd",(short *)(& x_1)); - printf_va_7("%hd",(int)x_1); - scanf_va_8("%hi",(short *)(& x_1)); - printf_va_8("%hi",(int)x_1); + scanf("%hd",(short *)(& x_1)); /* scanf_va_7 */ + printf("%hd",(int)x_1); /* printf_va_7 */ + scanf("%hi",(short *)(& x_1)); /* scanf_va_8 */ + printf("%hi",(int)x_1); /* printf_va_8 */ } { uint16_t x_2; - scanf_va_9("%ho",(unsigned short *)(& x_2)); - printf_va_9("%ho",(unsigned int)x_2); - scanf_va_10("%hu",(unsigned short *)(& x_2)); - printf_va_10("%hu",(unsigned int)x_2); - scanf_va_11("%hx",(unsigned short *)(& x_2)); - printf_va_11("%hx",(unsigned int)x_2); - scanf_va_12("%hx",(unsigned short *)(& x_2)); - printf_va_12("%hX",(unsigned int)x_2); + scanf("%ho",(unsigned short *)(& x_2)); /* scanf_va_9 */ + printf("%ho",(unsigned int)x_2); /* printf_va_9 */ + scanf("%hu",(unsigned short *)(& x_2)); /* scanf_va_10 */ + printf("%hu",(unsigned int)x_2); /* printf_va_10 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_11 */ + printf("%hx",(unsigned int)x_2); /* printf_va_11 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_12 */ + printf("%hX",(unsigned int)x_2); /* printf_va_12 */ } { int32_t x_3; - scanf_va_13("%ld",(long *)(& x_3)); - printf_va_13("%ld",x_3); - scanf_va_14("%li",(long *)(& x_3)); - printf_va_14("%li",x_3); + scanf("%ld",(long *)(& x_3)); /* scanf_va_13 */ + printf("%ld",x_3); /* printf_va_13 */ + scanf("%li",(long *)(& x_3)); /* scanf_va_14 */ + printf("%li",x_3); /* printf_va_14 */ } { uint32_t x_4; - scanf_va_15("%lo",(unsigned long *)(& x_4)); - printf_va_15("%lo",x_4); - scanf_va_16("%lu",(unsigned long *)(& x_4)); - printf_va_16("%lu",x_4); - scanf_va_17("%lx",(unsigned long *)(& x_4)); - printf_va_17("%lx",x_4); - scanf_va_18("%lx",(unsigned long *)(& x_4)); - printf_va_18("%lX",x_4); + scanf("%lo",(unsigned long *)(& x_4)); /* scanf_va_15 */ + printf("%lo",x_4); /* printf_va_15 */ + scanf("%lu",(unsigned long *)(& x_4)); /* scanf_va_16 */ + printf("%lu",x_4); /* printf_va_16 */ + scanf("%lx",(unsigned long *)(& x_4)); /* scanf_va_17 */ + printf("%lx",x_4); /* printf_va_17 */ + scanf("%lx",(unsigned long *)(& x_4)); /* scanf_va_18 */ + printf("%lX",x_4); /* printf_va_18 */ } { int64_t x_5; - scanf_va_19("%lld",(long long *)(& x_5)); - printf_va_19("%lld",x_5); - scanf_va_20("%lli",(long long *)(& x_5)); - printf_va_20("%lli",x_5); + scanf("%lld",(long long *)(& x_5)); /* scanf_va_19 */ + printf("%lld",x_5); /* printf_va_19 */ + scanf("%lli",(long long *)(& x_5)); /* scanf_va_20 */ + printf("%lli",x_5); /* printf_va_20 */ } { uint64_t x_6; - scanf_va_21("%llo",(unsigned long long *)(& x_6)); - printf_va_21("%llo",x_6); - scanf_va_22("%llu",(unsigned long long *)(& x_6)); - printf_va_22("%llu",x_6); - scanf_va_23("%llx",(unsigned long long *)(& x_6)); - printf_va_23("%llx",x_6); - scanf_va_24("%llx",(unsigned long long *)(& x_6)); - printf_va_24("%llX",x_6); + scanf("%llo",(unsigned long long *)(& x_6)); /* scanf_va_21 */ + printf("%llo",x_6); /* printf_va_21 */ + scanf("%llu",(unsigned long long *)(& x_6)); /* scanf_va_22 */ + printf("%llu",x_6); /* printf_va_22 */ + scanf("%llx",(unsigned long long *)(& x_6)); /* scanf_va_23 */ + printf("%llx",x_6); /* printf_va_23 */ + scanf("%llx",(unsigned long long *)(& x_6)); /* scanf_va_24 */ + printf("%llX",x_6); /* printf_va_24 */ } { int_least8_t x_7; - scanf_va_25("%hhd",(signed char *)(& x_7)); - printf_va_25("%hhd",(int)x_7); - scanf_va_26("%hhi",(signed char *)(& x_7)); - printf_va_26("%hhi",(int)x_7); + scanf("%hhd",(signed char *)(& x_7)); /* scanf_va_25 */ + printf("%hhd",(int)x_7); /* printf_va_25 */ + scanf("%hhi",(signed char *)(& x_7)); /* scanf_va_26 */ + printf("%hhi",(int)x_7); /* printf_va_26 */ } { uint_least8_t x_8; - scanf_va_27("%hho",(unsigned char *)(& x_8)); - printf_va_27("%hho",(int)x_8); - scanf_va_28("%hhu",(unsigned char *)(& x_8)); - printf_va_28("%hhu",(int)x_8); - scanf_va_29("%hhx",(unsigned char *)(& x_8)); - printf_va_29("%hhx",(int)x_8); - scanf_va_30("%hhx",(unsigned char *)(& x_8)); - printf_va_30("%hhX",(int)x_8); + scanf("%hho",(unsigned char *)(& x_8)); /* scanf_va_27 */ + printf("%hho",(int)x_8); /* printf_va_27 */ + scanf("%hhu",(unsigned char *)(& x_8)); /* scanf_va_28 */ + printf("%hhu",(int)x_8); /* printf_va_28 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_29 */ + printf("%hhx",(int)x_8); /* printf_va_29 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_30 */ + printf("%hhX",(int)x_8); /* printf_va_30 */ } { int_least16_t x_9; - scanf_va_31("%hd",(short *)(& x_9)); - printf_va_31("%hd",(int)x_9); - scanf_va_32("%hi",(short *)(& x_9)); - printf_va_32("%hi",(int)x_9); + scanf("%hd",(short *)(& x_9)); /* scanf_va_31 */ + printf("%hd",(int)x_9); /* printf_va_31 */ + scanf("%hi",(short *)(& x_9)); /* scanf_va_32 */ + printf("%hi",(int)x_9); /* printf_va_32 */ } { uint_least16_t x_10; - scanf_va_33("%ho",(unsigned short *)(& x_10)); - printf_va_33("%ho",(unsigned int)x_10); - scanf_va_34("%hu",(unsigned short *)(& x_10)); - printf_va_34("%hu",(unsigned int)x_10); - scanf_va_35("%hx",(unsigned short *)(& x_10)); - printf_va_35("%hx",(unsigned int)x_10); - scanf_va_36("%hx",(unsigned short *)(& x_10)); - printf_va_36("%hX",(unsigned int)x_10); + scanf("%ho",(unsigned short *)(& x_10)); /* scanf_va_33 */ + printf("%ho",(unsigned int)x_10); /* printf_va_33 */ + scanf("%hu",(unsigned short *)(& x_10)); /* scanf_va_34 */ + printf("%hu",(unsigned int)x_10); /* printf_va_34 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_35 */ + printf("%hx",(unsigned int)x_10); /* printf_va_35 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_36 */ + printf("%hX",(unsigned int)x_10); /* printf_va_36 */ } { int_least32_t x_11; - scanf_va_37("%ld",(long *)(& x_11)); - printf_va_37("%ld",x_11); - scanf_va_38("%li",(long *)(& x_11)); - printf_va_38("%li",x_11); + scanf("%ld",(long *)(& x_11)); /* scanf_va_37 */ + printf("%ld",x_11); /* printf_va_37 */ + scanf("%li",(long *)(& x_11)); /* scanf_va_38 */ + printf("%li",x_11); /* printf_va_38 */ } { uint_least32_t x_12; - scanf_va_39("%lo",(unsigned long *)(& x_12)); - printf_va_39("%lo",x_12); - scanf_va_40("%lu",(unsigned long *)(& x_12)); - printf_va_40("%lu",x_12); - scanf_va_41("%lx",(unsigned long *)(& x_12)); - printf_va_41("%lx",x_12); - scanf_va_42("%lx",(unsigned long *)(& x_12)); - printf_va_42("%lX",x_12); + scanf("%lo",(unsigned long *)(& x_12)); /* scanf_va_39 */ + printf("%lo",x_12); /* printf_va_39 */ + scanf("%lu",(unsigned long *)(& x_12)); /* scanf_va_40 */ + printf("%lu",x_12); /* printf_va_40 */ + scanf("%lx",(unsigned long *)(& x_12)); /* scanf_va_41 */ + printf("%lx",x_12); /* printf_va_41 */ + scanf("%lx",(unsigned long *)(& x_12)); /* scanf_va_42 */ + printf("%lX",x_12); /* printf_va_42 */ } { int_least64_t x_13; - scanf_va_43("%lld",(long long *)(& x_13)); - printf_va_43("%lld",x_13); - scanf_va_44("%lli",(long long *)(& x_13)); - printf_va_44("%lli",x_13); + scanf("%lld",(long long *)(& x_13)); /* scanf_va_43 */ + printf("%lld",x_13); /* printf_va_43 */ + scanf("%lli",(long long *)(& x_13)); /* scanf_va_44 */ + printf("%lli",x_13); /* printf_va_44 */ } { uint_least64_t x_14; - scanf_va_45("%llo",(unsigned long long *)(& x_14)); - printf_va_45("%llo",x_14); - scanf_va_46("%llu",(unsigned long long *)(& x_14)); - printf_va_46("%llu",x_14); - scanf_va_47("%llx",(unsigned long long *)(& x_14)); - printf_va_47("%llx",x_14); - scanf_va_48("%llx",(unsigned long long *)(& x_14)); - printf_va_48("%llX",x_14); + scanf("%llo",(unsigned long long *)(& x_14)); /* scanf_va_45 */ + printf("%llo",x_14); /* printf_va_45 */ + scanf("%llu",(unsigned long long *)(& x_14)); /* scanf_va_46 */ + printf("%llu",x_14); /* printf_va_46 */ + scanf("%llx",(unsigned long long *)(& x_14)); /* scanf_va_47 */ + printf("%llx",x_14); /* printf_va_47 */ + scanf("%llx",(unsigned long long *)(& x_14)); /* scanf_va_48 */ + printf("%llX",x_14); /* printf_va_48 */ } { int_fast8_t x_15; - scanf_va_49("%hhd",(signed char *)(& x_15)); - printf_va_49("%hhd",(int)x_15); - scanf_va_50("%hhi",(signed char *)(& x_15)); - printf_va_50("%hhi",(int)x_15); + scanf("%hhd",(signed char *)(& x_15)); /* scanf_va_49 */ + printf("%hhd",(int)x_15); /* printf_va_49 */ + scanf("%hhi",(signed char *)(& x_15)); /* scanf_va_50 */ + printf("%hhi",(int)x_15); /* printf_va_50 */ } { uint_fast8_t x_16; - scanf_va_51("%hho",(unsigned char *)(& x_16)); - printf_va_51("%hho",(int)x_16); - scanf_va_52("%hhu",(unsigned char *)(& x_16)); - printf_va_52("%hhu",(int)x_16); - scanf_va_53("%hhx",(unsigned char *)(& x_16)); - printf_va_53("%hhx",(int)x_16); - scanf_va_54("%hhx",(unsigned char *)(& x_16)); - printf_va_54("%hhX",(int)x_16); + scanf("%hho",(unsigned char *)(& x_16)); /* scanf_va_51 */ + printf("%hho",(int)x_16); /* printf_va_51 */ + scanf("%hhu",(unsigned char *)(& x_16)); /* scanf_va_52 */ + printf("%hhu",(int)x_16); /* printf_va_52 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_53 */ + printf("%hhx",(int)x_16); /* printf_va_53 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_54 */ + printf("%hhX",(int)x_16); /* printf_va_54 */ } { int_fast16_t x_17; - scanf_va_55("%d",(int *)(& x_17)); - printf_va_55("%d",x_17); - scanf_va_56("%i",(int *)(& x_17)); - printf_va_56("%i",x_17); + scanf("%d",(int *)(& x_17)); /* scanf_va_55 */ + printf("%d",x_17); /* printf_va_55 */ + scanf("%i",(int *)(& x_17)); /* scanf_va_56 */ + printf("%i",x_17); /* printf_va_56 */ } { uint_fast16_t x_18; - scanf_va_57("%o",(unsigned int *)(& x_18)); - printf_va_57("%o",x_18); - scanf_va_58("%u",(unsigned int *)(& x_18)); - printf_va_58("%u",x_18); - scanf_va_59("%x",(unsigned int *)(& x_18)); - printf_va_59("%x",x_18); - scanf_va_60("%x",(unsigned int *)(& x_18)); - printf_va_60("%X",x_18); + scanf("%o",(unsigned int *)(& x_18)); /* scanf_va_57 */ + printf("%o",x_18); /* printf_va_57 */ + scanf("%u",(unsigned int *)(& x_18)); /* scanf_va_58 */ + printf("%u",x_18); /* printf_va_58 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_59 */ + printf("%x",x_18); /* printf_va_59 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_60 */ + printf("%X",x_18); /* printf_va_60 */ } { int_fast32_t x_19; - scanf_va_61("%ld",(long *)(& x_19)); - printf_va_61("%ld",x_19); - scanf_va_62("%li",(long *)(& x_19)); - printf_va_62("%li",x_19); + scanf("%ld",(long *)(& x_19)); /* scanf_va_61 */ + printf("%ld",x_19); /* printf_va_61 */ + scanf("%li",(long *)(& x_19)); /* scanf_va_62 */ + printf("%li",x_19); /* printf_va_62 */ } { uint_fast32_t x_20; - scanf_va_63("%lo",(unsigned long *)(& x_20)); - printf_va_63("%lo",x_20); - scanf_va_64("%lu",(unsigned long *)(& x_20)); - printf_va_64("%lu",x_20); - scanf_va_65("%lx",(unsigned long *)(& x_20)); - printf_va_65("%lx",x_20); - scanf_va_66("%lx",(unsigned long *)(& x_20)); - printf_va_66("%lX",x_20); + scanf("%lo",(unsigned long *)(& x_20)); /* scanf_va_63 */ + printf("%lo",x_20); /* printf_va_63 */ + scanf("%lu",(unsigned long *)(& x_20)); /* scanf_va_64 */ + printf("%lu",x_20); /* printf_va_64 */ + scanf("%lx",(unsigned long *)(& x_20)); /* scanf_va_65 */ + printf("%lx",x_20); /* printf_va_65 */ + scanf("%lx",(unsigned long *)(& x_20)); /* scanf_va_66 */ + printf("%lX",x_20); /* printf_va_66 */ } { int_fast64_t x_21; - scanf_va_67("%lld",(long long *)(& x_21)); - printf_va_67("%lld",x_21); - scanf_va_68("%lli",(long long *)(& x_21)); - printf_va_68("%lli",x_21); + scanf("%lld",(long long *)(& x_21)); /* scanf_va_67 */ + printf("%lld",x_21); /* printf_va_67 */ + scanf("%lli",(long long *)(& x_21)); /* scanf_va_68 */ + printf("%lli",x_21); /* printf_va_68 */ } { uint_fast64_t x_22; - scanf_va_69("%llo",(unsigned long long *)(& x_22)); - printf_va_69("%llo",x_22); - scanf_va_70("%llu",(unsigned long long *)(& x_22)); - printf_va_70("%llu",x_22); - scanf_va_71("%llx",(unsigned long long *)(& x_22)); - printf_va_71("%llx",x_22); - scanf_va_72("%llx",(unsigned long long *)(& x_22)); - printf_va_72("%llX",x_22); + scanf("%llo",(unsigned long long *)(& x_22)); /* scanf_va_69 */ + printf("%llo",x_22); /* printf_va_69 */ + scanf("%llu",(unsigned long long *)(& x_22)); /* scanf_va_70 */ + printf("%llu",x_22); /* printf_va_70 */ + scanf("%llx",(unsigned long long *)(& x_22)); /* scanf_va_71 */ + printf("%llx",x_22); /* printf_va_71 */ + scanf("%llx",(unsigned long long *)(& x_22)); /* scanf_va_72 */ + printf("%llX",x_22); /* printf_va_72 */ } { intmax_t x_23; - scanf_va_73("%lld",(long long *)(& x_23)); - printf_va_73("%lld",x_23); - scanf_va_74("%lli",(long long *)(& x_23)); - printf_va_74("%lli",x_23); + scanf("%lld",(long long *)(& x_23)); /* scanf_va_73 */ + printf("%lld",x_23); /* printf_va_73 */ + scanf("%lli",(long long *)(& x_23)); /* scanf_va_74 */ + printf("%lli",x_23); /* printf_va_74 */ } { uintmax_t x_24; - scanf_va_75("%llo",(unsigned long long *)(& x_24)); - printf_va_75("%llo",x_24); - scanf_va_76("%llu",(unsigned long long *)(& x_24)); - printf_va_76("%llu",x_24); - scanf_va_77("%llx",(unsigned long long *)(& x_24)); - printf_va_77("%llx",x_24); - scanf_va_78("%llx",(unsigned long long *)(& x_24)); - printf_va_78("%llX",x_24); + scanf("%llo",(unsigned long long *)(& x_24)); /* scanf_va_75 */ + printf("%llo",x_24); /* printf_va_75 */ + scanf("%llu",(unsigned long long *)(& x_24)); /* scanf_va_76 */ + printf("%llu",x_24); /* printf_va_76 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_77 */ + printf("%llx",x_24); /* printf_va_77 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_78 */ + printf("%llX",x_24); /* printf_va_78 */ } { intptr_t x_25; - scanf_va_79("%ld",(long *)(& x_25)); - printf_va_79("%ld",x_25); - scanf_va_80("%li",(long *)(& x_25)); - printf_va_80("%li",x_25); + scanf("%ld",(long *)(& x_25)); /* scanf_va_79 */ + printf("%ld",x_25); /* printf_va_79 */ + scanf("%li",(long *)(& x_25)); /* scanf_va_80 */ + printf("%li",x_25); /* printf_va_80 */ } { uintptr_t x_26; - scanf_va_81("%lo",(unsigned long *)(& x_26)); - printf_va_81("%lo",x_26); - scanf_va_82("%lu",(unsigned long *)(& x_26)); - printf_va_82("%lu",x_26); - scanf_va_83("%lx",(unsigned long *)(& x_26)); - printf_va_83("%lx",x_26); - scanf_va_84("%lx",(unsigned long *)(& x_26)); - printf_va_84("%lX",x_26); + scanf("%lo",(unsigned long *)(& x_26)); /* scanf_va_81 */ + printf("%lo",x_26); /* printf_va_81 */ + scanf("%lu",(unsigned long *)(& x_26)); /* scanf_va_82 */ + printf("%lu",x_26); /* printf_va_82 */ + scanf("%lx",(unsigned long *)(& x_26)); /* scanf_va_83 */ + printf("%lx",x_26); /* printf_va_83 */ + scanf("%lx",(unsigned long *)(& x_26)); /* scanf_va_84 */ + printf("%lX",x_26); /* printf_va_84 */ } __retres = 0; return __retres; diff --git a/tests/libc/oracle/inttypes_h.1.res.oracle b/tests/libc/oracle/inttypes_h.1.res.oracle index d369e0541c8787ae84964c5bb823d66898a27f47..fcb3295822420594ecbe05ed6adf49959045b65b 100644 --- a/tests/libc/oracle/inttypes_h.1.res.oracle +++ b/tests/libc/oracle/inttypes_h.1.res.oracle @@ -2531,255 +2531,255 @@ int main(void) int __retres; { int8_t x; - scanf_va_1("%hhd",(signed char *)(& x)); - printf_va_1("%hhd",(int)x); - scanf_va_2("%hhi",(signed char *)(& x)); - printf_va_2("%hhi",(int)x); + scanf("%hhd",(signed char *)(& x)); /* scanf_va_1 */ + printf("%hhd",(int)x); /* printf_va_1 */ + scanf("%hhi",(signed char *)(& x)); /* scanf_va_2 */ + printf("%hhi",(int)x); /* printf_va_2 */ } { uint8_t x_0; - scanf_va_3("%hho",(unsigned char *)(& x_0)); - printf_va_3("%hho",(int)x_0); - scanf_va_4("%hhu",(unsigned char *)(& x_0)); - printf_va_4("%hhu",(int)x_0); - scanf_va_5("%hhx",(unsigned char *)(& x_0)); - printf_va_5("%hhx",(int)x_0); - scanf_va_6("%hhx",(unsigned char *)(& x_0)); - printf_va_6("%hhX",(int)x_0); + scanf("%hho",(unsigned char *)(& x_0)); /* scanf_va_3 */ + printf("%hho",(int)x_0); /* printf_va_3 */ + scanf("%hhu",(unsigned char *)(& x_0)); /* scanf_va_4 */ + printf("%hhu",(int)x_0); /* printf_va_4 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_5 */ + printf("%hhx",(int)x_0); /* printf_va_5 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_6 */ + printf("%hhX",(int)x_0); /* printf_va_6 */ } { int16_t x_1; - scanf_va_7("%hd",(short *)(& x_1)); - printf_va_7("%hd",(int)x_1); - scanf_va_8("%hi",(short *)(& x_1)); - printf_va_8("%hi",(int)x_1); + scanf("%hd",(short *)(& x_1)); /* scanf_va_7 */ + printf("%hd",(int)x_1); /* printf_va_7 */ + scanf("%hi",(short *)(& x_1)); /* scanf_va_8 */ + printf("%hi",(int)x_1); /* printf_va_8 */ } { uint16_t x_2; - scanf_va_9("%ho",(unsigned short *)(& x_2)); - printf_va_9("%ho",(int)x_2); - scanf_va_10("%hu",(unsigned short *)(& x_2)); - printf_va_10("%hu",(int)x_2); - scanf_va_11("%hx",(unsigned short *)(& x_2)); - printf_va_11("%hx",(int)x_2); - scanf_va_12("%hx",(unsigned short *)(& x_2)); - printf_va_12("%hX",(int)x_2); + scanf("%ho",(unsigned short *)(& x_2)); /* scanf_va_9 */ + printf("%ho",(int)x_2); /* printf_va_9 */ + scanf("%hu",(unsigned short *)(& x_2)); /* scanf_va_10 */ + printf("%hu",(int)x_2); /* printf_va_10 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_11 */ + printf("%hx",(int)x_2); /* printf_va_11 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_12 */ + printf("%hX",(int)x_2); /* printf_va_12 */ } { int32_t x_3; - scanf_va_13("%d",(int *)(& x_3)); - printf_va_13("%d",x_3); - scanf_va_14("%i",(int *)(& x_3)); - printf_va_14("%i",x_3); + scanf("%d",(int *)(& x_3)); /* scanf_va_13 */ + printf("%d",x_3); /* printf_va_13 */ + scanf("%i",(int *)(& x_3)); /* scanf_va_14 */ + printf("%i",x_3); /* printf_va_14 */ } { uint32_t x_4; - scanf_va_15("%o",(unsigned int *)(& x_4)); - printf_va_15("%o",x_4); - scanf_va_16("%u",(unsigned int *)(& x_4)); - printf_va_16("%u",x_4); - scanf_va_17("%x",(unsigned int *)(& x_4)); - printf_va_17("%x",x_4); - scanf_va_18("%x",(unsigned int *)(& x_4)); - printf_va_18("%X",x_4); + scanf("%o",(unsigned int *)(& x_4)); /* scanf_va_15 */ + printf("%o",x_4); /* printf_va_15 */ + scanf("%u",(unsigned int *)(& x_4)); /* scanf_va_16 */ + printf("%u",x_4); /* printf_va_16 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_17 */ + printf("%x",x_4); /* printf_va_17 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_18 */ + printf("%X",x_4); /* printf_va_18 */ } { int64_t x_5; - scanf_va_19("%lld",(long long *)(& x_5)); - printf_va_19("%lld",x_5); - scanf_va_20("%lli",(long long *)(& x_5)); - printf_va_20("%lli",x_5); + scanf("%lld",(long long *)(& x_5)); /* scanf_va_19 */ + printf("%lld",x_5); /* printf_va_19 */ + scanf("%lli",(long long *)(& x_5)); /* scanf_va_20 */ + printf("%lli",x_5); /* printf_va_20 */ } { uint64_t x_6; - scanf_va_21("%llo",(unsigned long long *)(& x_6)); - printf_va_21("%llo",x_6); - scanf_va_22("%llu",(unsigned long long *)(& x_6)); - printf_va_22("%llu",x_6); - scanf_va_23("%llx",(unsigned long long *)(& x_6)); - printf_va_23("%llx",x_6); - scanf_va_24("%llx",(unsigned long long *)(& x_6)); - printf_va_24("%llX",x_6); + scanf("%llo",(unsigned long long *)(& x_6)); /* scanf_va_21 */ + printf("%llo",x_6); /* printf_va_21 */ + scanf("%llu",(unsigned long long *)(& x_6)); /* scanf_va_22 */ + printf("%llu",x_6); /* printf_va_22 */ + scanf("%llx",(unsigned long long *)(& x_6)); /* scanf_va_23 */ + printf("%llx",x_6); /* printf_va_23 */ + scanf("%llx",(unsigned long long *)(& x_6)); /* scanf_va_24 */ + printf("%llX",x_6); /* printf_va_24 */ } { int_least8_t x_7; - scanf_va_25("%hhd",(signed char *)(& x_7)); - printf_va_25("%hhd",(int)x_7); - scanf_va_26("%hhi",(signed char *)(& x_7)); - printf_va_26("%hhi",(int)x_7); + scanf("%hhd",(signed char *)(& x_7)); /* scanf_va_25 */ + printf("%hhd",(int)x_7); /* printf_va_25 */ + scanf("%hhi",(signed char *)(& x_7)); /* scanf_va_26 */ + printf("%hhi",(int)x_7); /* printf_va_26 */ } { uint_least8_t x_8; - scanf_va_27("%hho",(unsigned char *)(& x_8)); - printf_va_27("%hho",(int)x_8); - scanf_va_28("%hhu",(unsigned char *)(& x_8)); - printf_va_28("%hhu",(int)x_8); - scanf_va_29("%hhx",(unsigned char *)(& x_8)); - printf_va_29("%hhx",(int)x_8); - scanf_va_30("%hhx",(unsigned char *)(& x_8)); - printf_va_30("%hhX",(int)x_8); + scanf("%hho",(unsigned char *)(& x_8)); /* scanf_va_27 */ + printf("%hho",(int)x_8); /* printf_va_27 */ + scanf("%hhu",(unsigned char *)(& x_8)); /* scanf_va_28 */ + printf("%hhu",(int)x_8); /* printf_va_28 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_29 */ + printf("%hhx",(int)x_8); /* printf_va_29 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_30 */ + printf("%hhX",(int)x_8); /* printf_va_30 */ } { int_least16_t x_9; - scanf_va_31("%hd",(short *)(& x_9)); - printf_va_31("%hd",(int)x_9); - scanf_va_32("%hi",(short *)(& x_9)); - printf_va_32("%hi",(int)x_9); + scanf("%hd",(short *)(& x_9)); /* scanf_va_31 */ + printf("%hd",(int)x_9); /* printf_va_31 */ + scanf("%hi",(short *)(& x_9)); /* scanf_va_32 */ + printf("%hi",(int)x_9); /* printf_va_32 */ } { uint_least16_t x_10; - scanf_va_33("%ho",(unsigned short *)(& x_10)); - printf_va_33("%ho",(int)x_10); - scanf_va_34("%hu",(unsigned short *)(& x_10)); - printf_va_34("%hu",(int)x_10); - scanf_va_35("%hx",(unsigned short *)(& x_10)); - printf_va_35("%hx",(int)x_10); - scanf_va_36("%hx",(unsigned short *)(& x_10)); - printf_va_36("%hX",(int)x_10); + scanf("%ho",(unsigned short *)(& x_10)); /* scanf_va_33 */ + printf("%ho",(int)x_10); /* printf_va_33 */ + scanf("%hu",(unsigned short *)(& x_10)); /* scanf_va_34 */ + printf("%hu",(int)x_10); /* printf_va_34 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_35 */ + printf("%hx",(int)x_10); /* printf_va_35 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_36 */ + printf("%hX",(int)x_10); /* printf_va_36 */ } { int_least32_t x_11; - scanf_va_37("%d",(int *)(& x_11)); - printf_va_37("%d",x_11); - scanf_va_38("%i",(int *)(& x_11)); - printf_va_38("%i",x_11); + scanf("%d",(int *)(& x_11)); /* scanf_va_37 */ + printf("%d",x_11); /* printf_va_37 */ + scanf("%i",(int *)(& x_11)); /* scanf_va_38 */ + printf("%i",x_11); /* printf_va_38 */ } { uint_least32_t x_12; - scanf_va_39("%o",(unsigned int *)(& x_12)); - printf_va_39("%o",x_12); - scanf_va_40("%u",(unsigned int *)(& x_12)); - printf_va_40("%u",x_12); - scanf_va_41("%x",(unsigned int *)(& x_12)); - printf_va_41("%x",x_12); - scanf_va_42("%x",(unsigned int *)(& x_12)); - printf_va_42("%X",x_12); + scanf("%o",(unsigned int *)(& x_12)); /* scanf_va_39 */ + printf("%o",x_12); /* printf_va_39 */ + scanf("%u",(unsigned int *)(& x_12)); /* scanf_va_40 */ + printf("%u",x_12); /* printf_va_40 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_41 */ + printf("%x",x_12); /* printf_va_41 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_42 */ + printf("%X",x_12); /* printf_va_42 */ } { int_least64_t x_13; - scanf_va_43("%lld",(long long *)(& x_13)); - printf_va_43("%lld",x_13); - scanf_va_44("%lli",(long long *)(& x_13)); - printf_va_44("%lli",x_13); + scanf("%lld",(long long *)(& x_13)); /* scanf_va_43 */ + printf("%lld",x_13); /* printf_va_43 */ + scanf("%lli",(long long *)(& x_13)); /* scanf_va_44 */ + printf("%lli",x_13); /* printf_va_44 */ } { uint_least64_t x_14; - scanf_va_45("%llo",(unsigned long long *)(& x_14)); - printf_va_45("%llo",x_14); - scanf_va_46("%llu",(unsigned long long *)(& x_14)); - printf_va_46("%llu",x_14); - scanf_va_47("%llx",(unsigned long long *)(& x_14)); - printf_va_47("%llx",x_14); - scanf_va_48("%llx",(unsigned long long *)(& x_14)); - printf_va_48("%llX",x_14); + scanf("%llo",(unsigned long long *)(& x_14)); /* scanf_va_45 */ + printf("%llo",x_14); /* printf_va_45 */ + scanf("%llu",(unsigned long long *)(& x_14)); /* scanf_va_46 */ + printf("%llu",x_14); /* printf_va_46 */ + scanf("%llx",(unsigned long long *)(& x_14)); /* scanf_va_47 */ + printf("%llx",x_14); /* printf_va_47 */ + scanf("%llx",(unsigned long long *)(& x_14)); /* scanf_va_48 */ + printf("%llX",x_14); /* printf_va_48 */ } { int_fast8_t x_15; - scanf_va_49("%hhd",(signed char *)(& x_15)); - printf_va_49("%hhd",(int)x_15); - scanf_va_50("%hhi",(signed char *)(& x_15)); - printf_va_50("%hhi",(int)x_15); + scanf("%hhd",(signed char *)(& x_15)); /* scanf_va_49 */ + printf("%hhd",(int)x_15); /* printf_va_49 */ + scanf("%hhi",(signed char *)(& x_15)); /* scanf_va_50 */ + printf("%hhi",(int)x_15); /* printf_va_50 */ } { uint_fast8_t x_16; - scanf_va_51("%hho",(unsigned char *)(& x_16)); - printf_va_51("%hho",(int)x_16); - scanf_va_52("%hhu",(unsigned char *)(& x_16)); - printf_va_52("%hhu",(int)x_16); - scanf_va_53("%hhx",(unsigned char *)(& x_16)); - printf_va_53("%hhx",(int)x_16); - scanf_va_54("%hhx",(unsigned char *)(& x_16)); - printf_va_54("%hhX",(int)x_16); + scanf("%hho",(unsigned char *)(& x_16)); /* scanf_va_51 */ + printf("%hho",(int)x_16); /* printf_va_51 */ + scanf("%hhu",(unsigned char *)(& x_16)); /* scanf_va_52 */ + printf("%hhu",(int)x_16); /* printf_va_52 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_53 */ + printf("%hhx",(int)x_16); /* printf_va_53 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_54 */ + printf("%hhX",(int)x_16); /* printf_va_54 */ } { int_fast16_t x_17; - scanf_va_55("%d",(int *)(& x_17)); - printf_va_55("%d",x_17); - scanf_va_56("%i",(int *)(& x_17)); - printf_va_56("%i",x_17); + scanf("%d",(int *)(& x_17)); /* scanf_va_55 */ + printf("%d",x_17); /* printf_va_55 */ + scanf("%i",(int *)(& x_17)); /* scanf_va_56 */ + printf("%i",x_17); /* printf_va_56 */ } { uint_fast16_t x_18; - scanf_va_57("%o",(unsigned int *)(& x_18)); - printf_va_57("%o",x_18); - scanf_va_58("%u",(unsigned int *)(& x_18)); - printf_va_58("%u",x_18); - scanf_va_59("%x",(unsigned int *)(& x_18)); - printf_va_59("%x",x_18); - scanf_va_60("%x",(unsigned int *)(& x_18)); - printf_va_60("%X",x_18); + scanf("%o",(unsigned int *)(& x_18)); /* scanf_va_57 */ + printf("%o",x_18); /* printf_va_57 */ + scanf("%u",(unsigned int *)(& x_18)); /* scanf_va_58 */ + printf("%u",x_18); /* printf_va_58 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_59 */ + printf("%x",x_18); /* printf_va_59 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_60 */ + printf("%X",x_18); /* printf_va_60 */ } { int_fast32_t x_19; - scanf_va_61("%d",(int *)(& x_19)); - printf_va_61("%d",x_19); - scanf_va_62("%i",(int *)(& x_19)); - printf_va_62("%i",x_19); + scanf("%d",(int *)(& x_19)); /* scanf_va_61 */ + printf("%d",x_19); /* printf_va_61 */ + scanf("%i",(int *)(& x_19)); /* scanf_va_62 */ + printf("%i",x_19); /* printf_va_62 */ } { uint_fast32_t x_20; - scanf_va_63("%o",(unsigned int *)(& x_20)); - printf_va_63("%o",x_20); - scanf_va_64("%u",(unsigned int *)(& x_20)); - printf_va_64("%u",x_20); - scanf_va_65("%x",(unsigned int *)(& x_20)); - printf_va_65("%x",x_20); - scanf_va_66("%x",(unsigned int *)(& x_20)); - printf_va_66("%X",x_20); + scanf("%o",(unsigned int *)(& x_20)); /* scanf_va_63 */ + printf("%o",x_20); /* printf_va_63 */ + scanf("%u",(unsigned int *)(& x_20)); /* scanf_va_64 */ + printf("%u",x_20); /* printf_va_64 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_65 */ + printf("%x",x_20); /* printf_va_65 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_66 */ + printf("%X",x_20); /* printf_va_66 */ } { int_fast64_t x_21; - scanf_va_67("%lld",(long long *)(& x_21)); - printf_va_67("%lld",x_21); - scanf_va_68("%lli",(long long *)(& x_21)); - printf_va_68("%lli",x_21); + scanf("%lld",(long long *)(& x_21)); /* scanf_va_67 */ + printf("%lld",x_21); /* printf_va_67 */ + scanf("%lli",(long long *)(& x_21)); /* scanf_va_68 */ + printf("%lli",x_21); /* printf_va_68 */ } { uint_fast64_t x_22; - scanf_va_69("%llo",(unsigned long long *)(& x_22)); - printf_va_69("%llo",x_22); - scanf_va_70("%llu",(unsigned long long *)(& x_22)); - printf_va_70("%llu",x_22); - scanf_va_71("%llx",(unsigned long long *)(& x_22)); - printf_va_71("%llx",x_22); - scanf_va_72("%llx",(unsigned long long *)(& x_22)); - printf_va_72("%llX",x_22); + scanf("%llo",(unsigned long long *)(& x_22)); /* scanf_va_69 */ + printf("%llo",x_22); /* printf_va_69 */ + scanf("%llu",(unsigned long long *)(& x_22)); /* scanf_va_70 */ + printf("%llu",x_22); /* printf_va_70 */ + scanf("%llx",(unsigned long long *)(& x_22)); /* scanf_va_71 */ + printf("%llx",x_22); /* printf_va_71 */ + scanf("%llx",(unsigned long long *)(& x_22)); /* scanf_va_72 */ + printf("%llX",x_22); /* printf_va_72 */ } { intmax_t x_23; - scanf_va_73("%lld",(long long *)(& x_23)); - printf_va_73("%lld",x_23); - scanf_va_74("%lli",(long long *)(& x_23)); - printf_va_74("%lli",x_23); + scanf("%lld",(long long *)(& x_23)); /* scanf_va_73 */ + printf("%lld",x_23); /* printf_va_73 */ + scanf("%lli",(long long *)(& x_23)); /* scanf_va_74 */ + printf("%lli",x_23); /* printf_va_74 */ } { uintmax_t x_24; - scanf_va_75("%llo",(unsigned long long *)(& x_24)); - printf_va_75("%llo",x_24); - scanf_va_76("%llu",(unsigned long long *)(& x_24)); - printf_va_76("%llu",x_24); - scanf_va_77("%llx",(unsigned long long *)(& x_24)); - printf_va_77("%llx",x_24); - scanf_va_78("%llx",(unsigned long long *)(& x_24)); - printf_va_78("%llX",x_24); + scanf("%llo",(unsigned long long *)(& x_24)); /* scanf_va_75 */ + printf("%llo",x_24); /* printf_va_75 */ + scanf("%llu",(unsigned long long *)(& x_24)); /* scanf_va_76 */ + printf("%llu",x_24); /* printf_va_76 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_77 */ + printf("%llx",x_24); /* printf_va_77 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_78 */ + printf("%llX",x_24); /* printf_va_78 */ } { intptr_t x_25; - scanf_va_79("%d",(int *)(& x_25)); - printf_va_79("%d",x_25); - scanf_va_80("%i",(int *)(& x_25)); - printf_va_80("%i",x_25); + scanf("%d",(int *)(& x_25)); /* scanf_va_79 */ + printf("%d",x_25); /* printf_va_79 */ + scanf("%i",(int *)(& x_25)); /* scanf_va_80 */ + printf("%i",x_25); /* printf_va_80 */ } { uintptr_t x_26; - scanf_va_81("%o",(unsigned int *)(& x_26)); - printf_va_81("%o",x_26); - scanf_va_82("%u",(unsigned int *)(& x_26)); - printf_va_82("%u",x_26); - scanf_va_83("%x",(unsigned int *)(& x_26)); - printf_va_83("%x",x_26); - scanf_va_84("%x",(unsigned int *)(& x_26)); - printf_va_84("%X",x_26); + scanf("%o",(unsigned int *)(& x_26)); /* scanf_va_81 */ + printf("%o",x_26); /* printf_va_81 */ + scanf("%u",(unsigned int *)(& x_26)); /* scanf_va_82 */ + printf("%u",x_26); /* printf_va_82 */ + scanf("%x",(unsigned int *)(& x_26)); /* scanf_va_83 */ + printf("%x",x_26); /* printf_va_83 */ + scanf("%x",(unsigned int *)(& x_26)); /* scanf_va_84 */ + printf("%X",x_26); /* printf_va_84 */ } __retres = 0; return __retres; diff --git a/tests/libc/oracle/inttypes_h.2.res.oracle b/tests/libc/oracle/inttypes_h.2.res.oracle index 0270a3902c68a7b8e1b9a34ab1efdd9f14cbb8cd..d6d6d590fdddc8a5f0a585a2fec496239f47d601 100644 --- a/tests/libc/oracle/inttypes_h.2.res.oracle +++ b/tests/libc/oracle/inttypes_h.2.res.oracle @@ -2531,255 +2531,255 @@ int main(void) int __retres; { int8_t x; - scanf_va_1("%hhd",(signed char *)(& x)); - printf_va_1("%hhd",(int)x); - scanf_va_2("%hhi",(signed char *)(& x)); - printf_va_2("%hhi",(int)x); + scanf("%hhd",(signed char *)(& x)); /* scanf_va_1 */ + printf("%hhd",(int)x); /* printf_va_1 */ + scanf("%hhi",(signed char *)(& x)); /* scanf_va_2 */ + printf("%hhi",(int)x); /* printf_va_2 */ } { uint8_t x_0; - scanf_va_3("%hho",(unsigned char *)(& x_0)); - printf_va_3("%hho",(int)x_0); - scanf_va_4("%hhu",(unsigned char *)(& x_0)); - printf_va_4("%hhu",(int)x_0); - scanf_va_5("%hhx",(unsigned char *)(& x_0)); - printf_va_5("%hhx",(int)x_0); - scanf_va_6("%hhx",(unsigned char *)(& x_0)); - printf_va_6("%hhX",(int)x_0); + scanf("%hho",(unsigned char *)(& x_0)); /* scanf_va_3 */ + printf("%hho",(int)x_0); /* printf_va_3 */ + scanf("%hhu",(unsigned char *)(& x_0)); /* scanf_va_4 */ + printf("%hhu",(int)x_0); /* printf_va_4 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_5 */ + printf("%hhx",(int)x_0); /* printf_va_5 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_6 */ + printf("%hhX",(int)x_0); /* printf_va_6 */ } { int16_t x_1; - scanf_va_7("%hd",(short *)(& x_1)); - printf_va_7("%hd",(int)x_1); - scanf_va_8("%hi",(short *)(& x_1)); - printf_va_8("%hi",(int)x_1); + scanf("%hd",(short *)(& x_1)); /* scanf_va_7 */ + printf("%hd",(int)x_1); /* printf_va_7 */ + scanf("%hi",(short *)(& x_1)); /* scanf_va_8 */ + printf("%hi",(int)x_1); /* printf_va_8 */ } { uint16_t x_2; - scanf_va_9("%ho",(unsigned short *)(& x_2)); - printf_va_9("%ho",(int)x_2); - scanf_va_10("%hu",(unsigned short *)(& x_2)); - printf_va_10("%hu",(int)x_2); - scanf_va_11("%hx",(unsigned short *)(& x_2)); - printf_va_11("%hx",(int)x_2); - scanf_va_12("%hx",(unsigned short *)(& x_2)); - printf_va_12("%hX",(int)x_2); + scanf("%ho",(unsigned short *)(& x_2)); /* scanf_va_9 */ + printf("%ho",(int)x_2); /* printf_va_9 */ + scanf("%hu",(unsigned short *)(& x_2)); /* scanf_va_10 */ + printf("%hu",(int)x_2); /* printf_va_10 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_11 */ + printf("%hx",(int)x_2); /* printf_va_11 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_12 */ + printf("%hX",(int)x_2); /* printf_va_12 */ } { int32_t x_3; - scanf_va_13("%d",(int *)(& x_3)); - printf_va_13("%d",x_3); - scanf_va_14("%i",(int *)(& x_3)); - printf_va_14("%i",x_3); + scanf("%d",(int *)(& x_3)); /* scanf_va_13 */ + printf("%d",x_3); /* printf_va_13 */ + scanf("%i",(int *)(& x_3)); /* scanf_va_14 */ + printf("%i",x_3); /* printf_va_14 */ } { uint32_t x_4; - scanf_va_15("%o",(unsigned int *)(& x_4)); - printf_va_15("%o",x_4); - scanf_va_16("%u",(unsigned int *)(& x_4)); - printf_va_16("%u",x_4); - scanf_va_17("%x",(unsigned int *)(& x_4)); - printf_va_17("%x",x_4); - scanf_va_18("%x",(unsigned int *)(& x_4)); - printf_va_18("%X",x_4); + scanf("%o",(unsigned int *)(& x_4)); /* scanf_va_15 */ + printf("%o",x_4); /* printf_va_15 */ + scanf("%u",(unsigned int *)(& x_4)); /* scanf_va_16 */ + printf("%u",x_4); /* printf_va_16 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_17 */ + printf("%x",x_4); /* printf_va_17 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_18 */ + printf("%X",x_4); /* printf_va_18 */ } { int64_t x_5; - scanf_va_19("%ld",(long *)(& x_5)); - printf_va_19("%ld",x_5); - scanf_va_20("%li",(long *)(& x_5)); - printf_va_20("%li",x_5); + scanf("%ld",(long *)(& x_5)); /* scanf_va_19 */ + printf("%ld",x_5); /* printf_va_19 */ + scanf("%li",(long *)(& x_5)); /* scanf_va_20 */ + printf("%li",x_5); /* printf_va_20 */ } { uint64_t x_6; - scanf_va_21("%lo",(unsigned long *)(& x_6)); - printf_va_21("%lo",x_6); - scanf_va_22("%lu",(unsigned long *)(& x_6)); - printf_va_22("%lu",x_6); - scanf_va_23("%lx",(unsigned long *)(& x_6)); - printf_va_23("%lx",x_6); - scanf_va_24("%lx",(unsigned long *)(& x_6)); - printf_va_24("%lX",x_6); + scanf("%lo",(unsigned long *)(& x_6)); /* scanf_va_21 */ + printf("%lo",x_6); /* printf_va_21 */ + scanf("%lu",(unsigned long *)(& x_6)); /* scanf_va_22 */ + printf("%lu",x_6); /* printf_va_22 */ + scanf("%lx",(unsigned long *)(& x_6)); /* scanf_va_23 */ + printf("%lx",x_6); /* printf_va_23 */ + scanf("%lx",(unsigned long *)(& x_6)); /* scanf_va_24 */ + printf("%lX",x_6); /* printf_va_24 */ } { int_least8_t x_7; - scanf_va_25("%hhd",(signed char *)(& x_7)); - printf_va_25("%hhd",(int)x_7); - scanf_va_26("%hhi",(signed char *)(& x_7)); - printf_va_26("%hhi",(int)x_7); + scanf("%hhd",(signed char *)(& x_7)); /* scanf_va_25 */ + printf("%hhd",(int)x_7); /* printf_va_25 */ + scanf("%hhi",(signed char *)(& x_7)); /* scanf_va_26 */ + printf("%hhi",(int)x_7); /* printf_va_26 */ } { uint_least8_t x_8; - scanf_va_27("%hho",(unsigned char *)(& x_8)); - printf_va_27("%hho",(int)x_8); - scanf_va_28("%hhu",(unsigned char *)(& x_8)); - printf_va_28("%hhu",(int)x_8); - scanf_va_29("%hhx",(unsigned char *)(& x_8)); - printf_va_29("%hhx",(int)x_8); - scanf_va_30("%hhx",(unsigned char *)(& x_8)); - printf_va_30("%hhX",(int)x_8); + scanf("%hho",(unsigned char *)(& x_8)); /* scanf_va_27 */ + printf("%hho",(int)x_8); /* printf_va_27 */ + scanf("%hhu",(unsigned char *)(& x_8)); /* scanf_va_28 */ + printf("%hhu",(int)x_8); /* printf_va_28 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_29 */ + printf("%hhx",(int)x_8); /* printf_va_29 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_30 */ + printf("%hhX",(int)x_8); /* printf_va_30 */ } { int_least16_t x_9; - scanf_va_31("%hd",(short *)(& x_9)); - printf_va_31("%hd",(int)x_9); - scanf_va_32("%hi",(short *)(& x_9)); - printf_va_32("%hi",(int)x_9); + scanf("%hd",(short *)(& x_9)); /* scanf_va_31 */ + printf("%hd",(int)x_9); /* printf_va_31 */ + scanf("%hi",(short *)(& x_9)); /* scanf_va_32 */ + printf("%hi",(int)x_9); /* printf_va_32 */ } { uint_least16_t x_10; - scanf_va_33("%ho",(unsigned short *)(& x_10)); - printf_va_33("%ho",(int)x_10); - scanf_va_34("%hu",(unsigned short *)(& x_10)); - printf_va_34("%hu",(int)x_10); - scanf_va_35("%hx",(unsigned short *)(& x_10)); - printf_va_35("%hx",(int)x_10); - scanf_va_36("%hx",(unsigned short *)(& x_10)); - printf_va_36("%hX",(int)x_10); + scanf("%ho",(unsigned short *)(& x_10)); /* scanf_va_33 */ + printf("%ho",(int)x_10); /* printf_va_33 */ + scanf("%hu",(unsigned short *)(& x_10)); /* scanf_va_34 */ + printf("%hu",(int)x_10); /* printf_va_34 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_35 */ + printf("%hx",(int)x_10); /* printf_va_35 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_36 */ + printf("%hX",(int)x_10); /* printf_va_36 */ } { int_least32_t x_11; - scanf_va_37("%d",(int *)(& x_11)); - printf_va_37("%d",x_11); - scanf_va_38("%i",(int *)(& x_11)); - printf_va_38("%i",x_11); + scanf("%d",(int *)(& x_11)); /* scanf_va_37 */ + printf("%d",x_11); /* printf_va_37 */ + scanf("%i",(int *)(& x_11)); /* scanf_va_38 */ + printf("%i",x_11); /* printf_va_38 */ } { uint_least32_t x_12; - scanf_va_39("%o",(unsigned int *)(& x_12)); - printf_va_39("%o",x_12); - scanf_va_40("%u",(unsigned int *)(& x_12)); - printf_va_40("%u",x_12); - scanf_va_41("%x",(unsigned int *)(& x_12)); - printf_va_41("%x",x_12); - scanf_va_42("%x",(unsigned int *)(& x_12)); - printf_va_42("%X",x_12); + scanf("%o",(unsigned int *)(& x_12)); /* scanf_va_39 */ + printf("%o",x_12); /* printf_va_39 */ + scanf("%u",(unsigned int *)(& x_12)); /* scanf_va_40 */ + printf("%u",x_12); /* printf_va_40 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_41 */ + printf("%x",x_12); /* printf_va_41 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_42 */ + printf("%X",x_12); /* printf_va_42 */ } { int_least64_t x_13; - scanf_va_43("%ld",(long *)(& x_13)); - printf_va_43("%ld",x_13); - scanf_va_44("%li",(long *)(& x_13)); - printf_va_44("%li",x_13); + scanf("%ld",(long *)(& x_13)); /* scanf_va_43 */ + printf("%ld",x_13); /* printf_va_43 */ + scanf("%li",(long *)(& x_13)); /* scanf_va_44 */ + printf("%li",x_13); /* printf_va_44 */ } { uint_least64_t x_14; - scanf_va_45("%lo",(unsigned long *)(& x_14)); - printf_va_45("%lo",x_14); - scanf_va_46("%lu",(unsigned long *)(& x_14)); - printf_va_46("%lu",x_14); - scanf_va_47("%lx",(unsigned long *)(& x_14)); - printf_va_47("%lx",x_14); - scanf_va_48("%lx",(unsigned long *)(& x_14)); - printf_va_48("%lX",x_14); + scanf("%lo",(unsigned long *)(& x_14)); /* scanf_va_45 */ + printf("%lo",x_14); /* printf_va_45 */ + scanf("%lu",(unsigned long *)(& x_14)); /* scanf_va_46 */ + printf("%lu",x_14); /* printf_va_46 */ + scanf("%lx",(unsigned long *)(& x_14)); /* scanf_va_47 */ + printf("%lx",x_14); /* printf_va_47 */ + scanf("%lx",(unsigned long *)(& x_14)); /* scanf_va_48 */ + printf("%lX",x_14); /* printf_va_48 */ } { int_fast8_t x_15; - scanf_va_49("%hhd",(signed char *)(& x_15)); - printf_va_49("%hhd",(int)x_15); - scanf_va_50("%hhi",(signed char *)(& x_15)); - printf_va_50("%hhi",(int)x_15); + scanf("%hhd",(signed char *)(& x_15)); /* scanf_va_49 */ + printf("%hhd",(int)x_15); /* printf_va_49 */ + scanf("%hhi",(signed char *)(& x_15)); /* scanf_va_50 */ + printf("%hhi",(int)x_15); /* printf_va_50 */ } { uint_fast8_t x_16; - scanf_va_51("%hho",(unsigned char *)(& x_16)); - printf_va_51("%hho",(int)x_16); - scanf_va_52("%hhu",(unsigned char *)(& x_16)); - printf_va_52("%hhu",(int)x_16); - scanf_va_53("%hhx",(unsigned char *)(& x_16)); - printf_va_53("%hhx",(int)x_16); - scanf_va_54("%hhx",(unsigned char *)(& x_16)); - printf_va_54("%hhX",(int)x_16); + scanf("%hho",(unsigned char *)(& x_16)); /* scanf_va_51 */ + printf("%hho",(int)x_16); /* printf_va_51 */ + scanf("%hhu",(unsigned char *)(& x_16)); /* scanf_va_52 */ + printf("%hhu",(int)x_16); /* printf_va_52 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_53 */ + printf("%hhx",(int)x_16); /* printf_va_53 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_54 */ + printf("%hhX",(int)x_16); /* printf_va_54 */ } { int_fast16_t x_17; - scanf_va_55("%d",(int *)(& x_17)); - printf_va_55("%d",x_17); - scanf_va_56("%i",(int *)(& x_17)); - printf_va_56("%i",x_17); + scanf("%d",(int *)(& x_17)); /* scanf_va_55 */ + printf("%d",x_17); /* printf_va_55 */ + scanf("%i",(int *)(& x_17)); /* scanf_va_56 */ + printf("%i",x_17); /* printf_va_56 */ } { uint_fast16_t x_18; - scanf_va_57("%o",(unsigned int *)(& x_18)); - printf_va_57("%o",x_18); - scanf_va_58("%u",(unsigned int *)(& x_18)); - printf_va_58("%u",x_18); - scanf_va_59("%x",(unsigned int *)(& x_18)); - printf_va_59("%x",x_18); - scanf_va_60("%x",(unsigned int *)(& x_18)); - printf_va_60("%X",x_18); + scanf("%o",(unsigned int *)(& x_18)); /* scanf_va_57 */ + printf("%o",x_18); /* printf_va_57 */ + scanf("%u",(unsigned int *)(& x_18)); /* scanf_va_58 */ + printf("%u",x_18); /* printf_va_58 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_59 */ + printf("%x",x_18); /* printf_va_59 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_60 */ + printf("%X",x_18); /* printf_va_60 */ } { int_fast32_t x_19; - scanf_va_61("%d",(int *)(& x_19)); - printf_va_61("%d",x_19); - scanf_va_62("%i",(int *)(& x_19)); - printf_va_62("%i",x_19); + scanf("%d",(int *)(& x_19)); /* scanf_va_61 */ + printf("%d",x_19); /* printf_va_61 */ + scanf("%i",(int *)(& x_19)); /* scanf_va_62 */ + printf("%i",x_19); /* printf_va_62 */ } { uint_fast32_t x_20; - scanf_va_63("%o",(unsigned int *)(& x_20)); - printf_va_63("%o",x_20); - scanf_va_64("%u",(unsigned int *)(& x_20)); - printf_va_64("%u",x_20); - scanf_va_65("%x",(unsigned int *)(& x_20)); - printf_va_65("%x",x_20); - scanf_va_66("%x",(unsigned int *)(& x_20)); - printf_va_66("%X",x_20); + scanf("%o",(unsigned int *)(& x_20)); /* scanf_va_63 */ + printf("%o",x_20); /* printf_va_63 */ + scanf("%u",(unsigned int *)(& x_20)); /* scanf_va_64 */ + printf("%u",x_20); /* printf_va_64 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_65 */ + printf("%x",x_20); /* printf_va_65 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_66 */ + printf("%X",x_20); /* printf_va_66 */ } { int_fast64_t x_21; - scanf_va_67("%ld",(long *)(& x_21)); - printf_va_67("%ld",x_21); - scanf_va_68("%li",(long *)(& x_21)); - printf_va_68("%li",x_21); + scanf("%ld",(long *)(& x_21)); /* scanf_va_67 */ + printf("%ld",x_21); /* printf_va_67 */ + scanf("%li",(long *)(& x_21)); /* scanf_va_68 */ + printf("%li",x_21); /* printf_va_68 */ } { uint_fast64_t x_22; - scanf_va_69("%lo",(unsigned long *)(& x_22)); - printf_va_69("%lo",x_22); - scanf_va_70("%lu",(unsigned long *)(& x_22)); - printf_va_70("%lu",x_22); - scanf_va_71("%lx",(unsigned long *)(& x_22)); - printf_va_71("%lx",x_22); - scanf_va_72("%lx",(unsigned long *)(& x_22)); - printf_va_72("%lX",x_22); + scanf("%lo",(unsigned long *)(& x_22)); /* scanf_va_69 */ + printf("%lo",x_22); /* printf_va_69 */ + scanf("%lu",(unsigned long *)(& x_22)); /* scanf_va_70 */ + printf("%lu",x_22); /* printf_va_70 */ + scanf("%lx",(unsigned long *)(& x_22)); /* scanf_va_71 */ + printf("%lx",x_22); /* printf_va_71 */ + scanf("%lx",(unsigned long *)(& x_22)); /* scanf_va_72 */ + printf("%lX",x_22); /* printf_va_72 */ } { intmax_t x_23; - scanf_va_73("%lld",(long long *)(& x_23)); - printf_va_73("%lld",x_23); - scanf_va_74("%lli",(long long *)(& x_23)); - printf_va_74("%lli",x_23); + scanf("%lld",(long long *)(& x_23)); /* scanf_va_73 */ + printf("%lld",x_23); /* printf_va_73 */ + scanf("%lli",(long long *)(& x_23)); /* scanf_va_74 */ + printf("%lli",x_23); /* printf_va_74 */ } { uintmax_t x_24; - scanf_va_75("%llo",(unsigned long long *)(& x_24)); - printf_va_75("%llo",x_24); - scanf_va_76("%llu",(unsigned long long *)(& x_24)); - printf_va_76("%llu",x_24); - scanf_va_77("%llx",(unsigned long long *)(& x_24)); - printf_va_77("%llx",x_24); - scanf_va_78("%llx",(unsigned long long *)(& x_24)); - printf_va_78("%llX",x_24); + scanf("%llo",(unsigned long long *)(& x_24)); /* scanf_va_75 */ + printf("%llo",x_24); /* printf_va_75 */ + scanf("%llu",(unsigned long long *)(& x_24)); /* scanf_va_76 */ + printf("%llu",x_24); /* printf_va_76 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_77 */ + printf("%llx",x_24); /* printf_va_77 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_78 */ + printf("%llX",x_24); /* printf_va_78 */ } { intptr_t x_25; - scanf_va_79("%ld",(long *)(& x_25)); - printf_va_79("%ld",x_25); - scanf_va_80("%li",(long *)(& x_25)); - printf_va_80("%li",x_25); + scanf("%ld",(long *)(& x_25)); /* scanf_va_79 */ + printf("%ld",x_25); /* printf_va_79 */ + scanf("%li",(long *)(& x_25)); /* scanf_va_80 */ + printf("%li",x_25); /* printf_va_80 */ } { uintptr_t x_26; - scanf_va_81("%lo",(unsigned long *)(& x_26)); - printf_va_81("%lo",x_26); - scanf_va_82("%lu",(unsigned long *)(& x_26)); - printf_va_82("%lu",x_26); - scanf_va_83("%lx",(unsigned long *)(& x_26)); - printf_va_83("%lx",x_26); - scanf_va_84("%lx",(unsigned long *)(& x_26)); - printf_va_84("%lX",x_26); + scanf("%lo",(unsigned long *)(& x_26)); /* scanf_va_81 */ + printf("%lo",x_26); /* printf_va_81 */ + scanf("%lu",(unsigned long *)(& x_26)); /* scanf_va_82 */ + printf("%lu",x_26); /* printf_va_82 */ + scanf("%lx",(unsigned long *)(& x_26)); /* scanf_va_83 */ + printf("%lx",x_26); /* printf_va_83 */ + scanf("%lx",(unsigned long *)(& x_26)); /* scanf_va_84 */ + printf("%lX",x_26); /* printf_va_84 */ } __retres = 0; return __retres; diff --git a/tests/libc/oracle/inttypes_h.3.res.oracle b/tests/libc/oracle/inttypes_h.3.res.oracle index aa91e7cdb995b263008e7086a223d16076671962..8e3ecb947f2be327cc138411c01a527a1387f05a 100644 --- a/tests/libc/oracle/inttypes_h.3.res.oracle +++ b/tests/libc/oracle/inttypes_h.3.res.oracle @@ -2531,255 +2531,255 @@ int main(void) int __retres; { int8_t x; - scanf_va_1("%hhd",(signed char *)(& x)); - printf_va_1("%hhd",(int)x); - scanf_va_2("%hhi",(signed char *)(& x)); - printf_va_2("%hhi",(int)x); + scanf("%hhd",(signed char *)(& x)); /* scanf_va_1 */ + printf("%hhd",(int)x); /* printf_va_1 */ + scanf("%hhi",(signed char *)(& x)); /* scanf_va_2 */ + printf("%hhi",(int)x); /* printf_va_2 */ } { uint8_t x_0; - scanf_va_3("%hho",(unsigned char *)(& x_0)); - printf_va_3("%hho",(int)x_0); - scanf_va_4("%hhu",(unsigned char *)(& x_0)); - printf_va_4("%hhu",(int)x_0); - scanf_va_5("%hhx",(unsigned char *)(& x_0)); - printf_va_5("%hhx",(int)x_0); - scanf_va_6("%hhx",(unsigned char *)(& x_0)); - printf_va_6("%hhX",(int)x_0); + scanf("%hho",(unsigned char *)(& x_0)); /* scanf_va_3 */ + printf("%hho",(int)x_0); /* printf_va_3 */ + scanf("%hhu",(unsigned char *)(& x_0)); /* scanf_va_4 */ + printf("%hhu",(int)x_0); /* printf_va_4 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_5 */ + printf("%hhx",(int)x_0); /* printf_va_5 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_6 */ + printf("%hhX",(int)x_0); /* printf_va_6 */ } { int16_t x_1; - scanf_va_7("%hd",(short *)(& x_1)); - printf_va_7("%hd",(int)x_1); - scanf_va_8("%hi",(short *)(& x_1)); - printf_va_8("%hi",(int)x_1); + scanf("%hd",(short *)(& x_1)); /* scanf_va_7 */ + printf("%hd",(int)x_1); /* printf_va_7 */ + scanf("%hi",(short *)(& x_1)); /* scanf_va_8 */ + printf("%hi",(int)x_1); /* printf_va_8 */ } { uint16_t x_2; - scanf_va_9("%ho",(unsigned short *)(& x_2)); - printf_va_9("%ho",(unsigned int)x_2); - scanf_va_10("%hu",(unsigned short *)(& x_2)); - printf_va_10("%hu",(unsigned int)x_2); - scanf_va_11("%hx",(unsigned short *)(& x_2)); - printf_va_11("%hx",(unsigned int)x_2); - scanf_va_12("%hx",(unsigned short *)(& x_2)); - printf_va_12("%hX",(unsigned int)x_2); + scanf("%ho",(unsigned short *)(& x_2)); /* scanf_va_9 */ + printf("%ho",(unsigned int)x_2); /* printf_va_9 */ + scanf("%hu",(unsigned short *)(& x_2)); /* scanf_va_10 */ + printf("%hu",(unsigned int)x_2); /* printf_va_10 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_11 */ + printf("%hx",(unsigned int)x_2); /* printf_va_11 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_12 */ + printf("%hX",(unsigned int)x_2); /* printf_va_12 */ } { int32_t x_3; - scanf_va_13("%ld",(long *)(& x_3)); - printf_va_13("%ld",x_3); - scanf_va_14("%li",(long *)(& x_3)); - printf_va_14("%li",x_3); + scanf("%ld",(long *)(& x_3)); /* scanf_va_13 */ + printf("%ld",x_3); /* printf_va_13 */ + scanf("%li",(long *)(& x_3)); /* scanf_va_14 */ + printf("%li",x_3); /* printf_va_14 */ } { uint32_t x_4; - scanf_va_15("%lo",(unsigned long *)(& x_4)); - printf_va_15("%lo",x_4); - scanf_va_16("%lu",(unsigned long *)(& x_4)); - printf_va_16("%lu",x_4); - scanf_va_17("%lx",(unsigned long *)(& x_4)); - printf_va_17("%lx",x_4); - scanf_va_18("%lx",(unsigned long *)(& x_4)); - printf_va_18("%lX",x_4); + scanf("%lo",(unsigned long *)(& x_4)); /* scanf_va_15 */ + printf("%lo",x_4); /* printf_va_15 */ + scanf("%lu",(unsigned long *)(& x_4)); /* scanf_va_16 */ + printf("%lu",x_4); /* printf_va_16 */ + scanf("%lx",(unsigned long *)(& x_4)); /* scanf_va_17 */ + printf("%lx",x_4); /* printf_va_17 */ + scanf("%lx",(unsigned long *)(& x_4)); /* scanf_va_18 */ + printf("%lX",x_4); /* printf_va_18 */ } { int64_t x_5; - scanf_va_19("%lld",(long long *)(& x_5)); - printf_va_19("%lld",x_5); - scanf_va_20("%lli",(long long *)(& x_5)); - printf_va_20("%lli",x_5); + scanf("%lld",(long long *)(& x_5)); /* scanf_va_19 */ + printf("%lld",x_5); /* printf_va_19 */ + scanf("%lli",(long long *)(& x_5)); /* scanf_va_20 */ + printf("%lli",x_5); /* printf_va_20 */ } { uint64_t x_6; - scanf_va_21("%llo",(unsigned long long *)(& x_6)); - printf_va_21("%llo",x_6); - scanf_va_22("%llu",(unsigned long long *)(& x_6)); - printf_va_22("%llu",x_6); - scanf_va_23("%llx",(unsigned long long *)(& x_6)); - printf_va_23("%llx",x_6); - scanf_va_24("%llx",(unsigned long long *)(& x_6)); - printf_va_24("%llX",x_6); + scanf("%llo",(unsigned long long *)(& x_6)); /* scanf_va_21 */ + printf("%llo",x_6); /* printf_va_21 */ + scanf("%llu",(unsigned long long *)(& x_6)); /* scanf_va_22 */ + printf("%llu",x_6); /* printf_va_22 */ + scanf("%llx",(unsigned long long *)(& x_6)); /* scanf_va_23 */ + printf("%llx",x_6); /* printf_va_23 */ + scanf("%llx",(unsigned long long *)(& x_6)); /* scanf_va_24 */ + printf("%llX",x_6); /* printf_va_24 */ } { int_least8_t x_7; - scanf_va_25("%hhd",(signed char *)(& x_7)); - printf_va_25("%hhd",(int)x_7); - scanf_va_26("%hhi",(signed char *)(& x_7)); - printf_va_26("%hhi",(int)x_7); + scanf("%hhd",(signed char *)(& x_7)); /* scanf_va_25 */ + printf("%hhd",(int)x_7); /* printf_va_25 */ + scanf("%hhi",(signed char *)(& x_7)); /* scanf_va_26 */ + printf("%hhi",(int)x_7); /* printf_va_26 */ } { uint_least8_t x_8; - scanf_va_27("%hho",(unsigned char *)(& x_8)); - printf_va_27("%hho",(int)x_8); - scanf_va_28("%hhu",(unsigned char *)(& x_8)); - printf_va_28("%hhu",(int)x_8); - scanf_va_29("%hhx",(unsigned char *)(& x_8)); - printf_va_29("%hhx",(int)x_8); - scanf_va_30("%hhx",(unsigned char *)(& x_8)); - printf_va_30("%hhX",(int)x_8); + scanf("%hho",(unsigned char *)(& x_8)); /* scanf_va_27 */ + printf("%hho",(int)x_8); /* printf_va_27 */ + scanf("%hhu",(unsigned char *)(& x_8)); /* scanf_va_28 */ + printf("%hhu",(int)x_8); /* printf_va_28 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_29 */ + printf("%hhx",(int)x_8); /* printf_va_29 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_30 */ + printf("%hhX",(int)x_8); /* printf_va_30 */ } { int_least16_t x_9; - scanf_va_31("%hd",(short *)(& x_9)); - printf_va_31("%hd",(int)x_9); - scanf_va_32("%hi",(short *)(& x_9)); - printf_va_32("%hi",(int)x_9); + scanf("%hd",(short *)(& x_9)); /* scanf_va_31 */ + printf("%hd",(int)x_9); /* printf_va_31 */ + scanf("%hi",(short *)(& x_9)); /* scanf_va_32 */ + printf("%hi",(int)x_9); /* printf_va_32 */ } { uint_least16_t x_10; - scanf_va_33("%ho",(unsigned short *)(& x_10)); - printf_va_33("%ho",(unsigned int)x_10); - scanf_va_34("%hu",(unsigned short *)(& x_10)); - printf_va_34("%hu",(unsigned int)x_10); - scanf_va_35("%hx",(unsigned short *)(& x_10)); - printf_va_35("%hx",(unsigned int)x_10); - scanf_va_36("%hx",(unsigned short *)(& x_10)); - printf_va_36("%hX",(unsigned int)x_10); + scanf("%ho",(unsigned short *)(& x_10)); /* scanf_va_33 */ + printf("%ho",(unsigned int)x_10); /* printf_va_33 */ + scanf("%hu",(unsigned short *)(& x_10)); /* scanf_va_34 */ + printf("%hu",(unsigned int)x_10); /* printf_va_34 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_35 */ + printf("%hx",(unsigned int)x_10); /* printf_va_35 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_36 */ + printf("%hX",(unsigned int)x_10); /* printf_va_36 */ } { int_least32_t x_11; - scanf_va_37("%ld",(long *)(& x_11)); - printf_va_37("%ld",x_11); - scanf_va_38("%li",(long *)(& x_11)); - printf_va_38("%li",x_11); + scanf("%ld",(long *)(& x_11)); /* scanf_va_37 */ + printf("%ld",x_11); /* printf_va_37 */ + scanf("%li",(long *)(& x_11)); /* scanf_va_38 */ + printf("%li",x_11); /* printf_va_38 */ } { uint_least32_t x_12; - scanf_va_39("%lo",(unsigned long *)(& x_12)); - printf_va_39("%lo",x_12); - scanf_va_40("%lu",(unsigned long *)(& x_12)); - printf_va_40("%lu",x_12); - scanf_va_41("%lx",(unsigned long *)(& x_12)); - printf_va_41("%lx",x_12); - scanf_va_42("%lx",(unsigned long *)(& x_12)); - printf_va_42("%lX",x_12); + scanf("%lo",(unsigned long *)(& x_12)); /* scanf_va_39 */ + printf("%lo",x_12); /* printf_va_39 */ + scanf("%lu",(unsigned long *)(& x_12)); /* scanf_va_40 */ + printf("%lu",x_12); /* printf_va_40 */ + scanf("%lx",(unsigned long *)(& x_12)); /* scanf_va_41 */ + printf("%lx",x_12); /* printf_va_41 */ + scanf("%lx",(unsigned long *)(& x_12)); /* scanf_va_42 */ + printf("%lX",x_12); /* printf_va_42 */ } { int_least64_t x_13; - scanf_va_43("%lld",(long long *)(& x_13)); - printf_va_43("%lld",x_13); - scanf_va_44("%lli",(long long *)(& x_13)); - printf_va_44("%lli",x_13); + scanf("%lld",(long long *)(& x_13)); /* scanf_va_43 */ + printf("%lld",x_13); /* printf_va_43 */ + scanf("%lli",(long long *)(& x_13)); /* scanf_va_44 */ + printf("%lli",x_13); /* printf_va_44 */ } { uint_least64_t x_14; - scanf_va_45("%llo",(unsigned long long *)(& x_14)); - printf_va_45("%llo",x_14); - scanf_va_46("%llu",(unsigned long long *)(& x_14)); - printf_va_46("%llu",x_14); - scanf_va_47("%llx",(unsigned long long *)(& x_14)); - printf_va_47("%llx",x_14); - scanf_va_48("%llx",(unsigned long long *)(& x_14)); - printf_va_48("%llX",x_14); + scanf("%llo",(unsigned long long *)(& x_14)); /* scanf_va_45 */ + printf("%llo",x_14); /* printf_va_45 */ + scanf("%llu",(unsigned long long *)(& x_14)); /* scanf_va_46 */ + printf("%llu",x_14); /* printf_va_46 */ + scanf("%llx",(unsigned long long *)(& x_14)); /* scanf_va_47 */ + printf("%llx",x_14); /* printf_va_47 */ + scanf("%llx",(unsigned long long *)(& x_14)); /* scanf_va_48 */ + printf("%llX",x_14); /* printf_va_48 */ } { int_fast8_t x_15; - scanf_va_49("%hhd",(signed char *)(& x_15)); - printf_va_49("%hhd",(int)x_15); - scanf_va_50("%hhi",(signed char *)(& x_15)); - printf_va_50("%hhi",(int)x_15); + scanf("%hhd",(signed char *)(& x_15)); /* scanf_va_49 */ + printf("%hhd",(int)x_15); /* printf_va_49 */ + scanf("%hhi",(signed char *)(& x_15)); /* scanf_va_50 */ + printf("%hhi",(int)x_15); /* printf_va_50 */ } { uint_fast8_t x_16; - scanf_va_51("%hho",(unsigned char *)(& x_16)); - printf_va_51("%hho",(int)x_16); - scanf_va_52("%hhu",(unsigned char *)(& x_16)); - printf_va_52("%hhu",(int)x_16); - scanf_va_53("%hhx",(unsigned char *)(& x_16)); - printf_va_53("%hhx",(int)x_16); - scanf_va_54("%hhx",(unsigned char *)(& x_16)); - printf_va_54("%hhX",(int)x_16); + scanf("%hho",(unsigned char *)(& x_16)); /* scanf_va_51 */ + printf("%hho",(int)x_16); /* printf_va_51 */ + scanf("%hhu",(unsigned char *)(& x_16)); /* scanf_va_52 */ + printf("%hhu",(int)x_16); /* printf_va_52 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_53 */ + printf("%hhx",(int)x_16); /* printf_va_53 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_54 */ + printf("%hhX",(int)x_16); /* printf_va_54 */ } { int_fast16_t x_17; - scanf_va_55("%d",(int *)(& x_17)); - printf_va_55("%d",x_17); - scanf_va_56("%i",(int *)(& x_17)); - printf_va_56("%i",x_17); + scanf("%d",(int *)(& x_17)); /* scanf_va_55 */ + printf("%d",x_17); /* printf_va_55 */ + scanf("%i",(int *)(& x_17)); /* scanf_va_56 */ + printf("%i",x_17); /* printf_va_56 */ } { uint_fast16_t x_18; - scanf_va_57("%o",(unsigned int *)(& x_18)); - printf_va_57("%o",x_18); - scanf_va_58("%u",(unsigned int *)(& x_18)); - printf_va_58("%u",x_18); - scanf_va_59("%x",(unsigned int *)(& x_18)); - printf_va_59("%x",x_18); - scanf_va_60("%x",(unsigned int *)(& x_18)); - printf_va_60("%X",x_18); + scanf("%o",(unsigned int *)(& x_18)); /* scanf_va_57 */ + printf("%o",x_18); /* printf_va_57 */ + scanf("%u",(unsigned int *)(& x_18)); /* scanf_va_58 */ + printf("%u",x_18); /* printf_va_58 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_59 */ + printf("%x",x_18); /* printf_va_59 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_60 */ + printf("%X",x_18); /* printf_va_60 */ } { int_fast32_t x_19; - scanf_va_61("%ld",(long *)(& x_19)); - printf_va_61("%ld",x_19); - scanf_va_62("%li",(long *)(& x_19)); - printf_va_62("%li",x_19); + scanf("%ld",(long *)(& x_19)); /* scanf_va_61 */ + printf("%ld",x_19); /* printf_va_61 */ + scanf("%li",(long *)(& x_19)); /* scanf_va_62 */ + printf("%li",x_19); /* printf_va_62 */ } { uint_fast32_t x_20; - scanf_va_63("%lo",(unsigned long *)(& x_20)); - printf_va_63("%lo",x_20); - scanf_va_64("%lu",(unsigned long *)(& x_20)); - printf_va_64("%lu",x_20); - scanf_va_65("%lx",(unsigned long *)(& x_20)); - printf_va_65("%lx",x_20); - scanf_va_66("%lx",(unsigned long *)(& x_20)); - printf_va_66("%lX",x_20); + scanf("%lo",(unsigned long *)(& x_20)); /* scanf_va_63 */ + printf("%lo",x_20); /* printf_va_63 */ + scanf("%lu",(unsigned long *)(& x_20)); /* scanf_va_64 */ + printf("%lu",x_20); /* printf_va_64 */ + scanf("%lx",(unsigned long *)(& x_20)); /* scanf_va_65 */ + printf("%lx",x_20); /* printf_va_65 */ + scanf("%lx",(unsigned long *)(& x_20)); /* scanf_va_66 */ + printf("%lX",x_20); /* printf_va_66 */ } { int_fast64_t x_21; - scanf_va_67("%lld",(long long *)(& x_21)); - printf_va_67("%lld",x_21); - scanf_va_68("%lli",(long long *)(& x_21)); - printf_va_68("%lli",x_21); + scanf("%lld",(long long *)(& x_21)); /* scanf_va_67 */ + printf("%lld",x_21); /* printf_va_67 */ + scanf("%lli",(long long *)(& x_21)); /* scanf_va_68 */ + printf("%lli",x_21); /* printf_va_68 */ } { uint_fast64_t x_22; - scanf_va_69("%llo",(unsigned long long *)(& x_22)); - printf_va_69("%llo",x_22); - scanf_va_70("%llu",(unsigned long long *)(& x_22)); - printf_va_70("%llu",x_22); - scanf_va_71("%llx",(unsigned long long *)(& x_22)); - printf_va_71("%llx",x_22); - scanf_va_72("%llx",(unsigned long long *)(& x_22)); - printf_va_72("%llX",x_22); + scanf("%llo",(unsigned long long *)(& x_22)); /* scanf_va_69 */ + printf("%llo",x_22); /* printf_va_69 */ + scanf("%llu",(unsigned long long *)(& x_22)); /* scanf_va_70 */ + printf("%llu",x_22); /* printf_va_70 */ + scanf("%llx",(unsigned long long *)(& x_22)); /* scanf_va_71 */ + printf("%llx",x_22); /* printf_va_71 */ + scanf("%llx",(unsigned long long *)(& x_22)); /* scanf_va_72 */ + printf("%llX",x_22); /* printf_va_72 */ } { intmax_t x_23; - scanf_va_73("%lld",(long long *)(& x_23)); - printf_va_73("%lld",x_23); - scanf_va_74("%lli",(long long *)(& x_23)); - printf_va_74("%lli",x_23); + scanf("%lld",(long long *)(& x_23)); /* scanf_va_73 */ + printf("%lld",x_23); /* printf_va_73 */ + scanf("%lli",(long long *)(& x_23)); /* scanf_va_74 */ + printf("%lli",x_23); /* printf_va_74 */ } { uintmax_t x_24; - scanf_va_75("%llo",(unsigned long long *)(& x_24)); - printf_va_75("%llo",x_24); - scanf_va_76("%llu",(unsigned long long *)(& x_24)); - printf_va_76("%llu",x_24); - scanf_va_77("%llx",(unsigned long long *)(& x_24)); - printf_va_77("%llx",x_24); - scanf_va_78("%llx",(unsigned long long *)(& x_24)); - printf_va_78("%llX",x_24); + scanf("%llo",(unsigned long long *)(& x_24)); /* scanf_va_75 */ + printf("%llo",x_24); /* printf_va_75 */ + scanf("%llu",(unsigned long long *)(& x_24)); /* scanf_va_76 */ + printf("%llu",x_24); /* printf_va_76 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_77 */ + printf("%llx",x_24); /* printf_va_77 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_78 */ + printf("%llX",x_24); /* printf_va_78 */ } { intptr_t x_25; - scanf_va_79("%ld",(long *)(& x_25)); - printf_va_79("%ld",x_25); - scanf_va_80("%li",(long *)(& x_25)); - printf_va_80("%li",x_25); + scanf("%ld",(long *)(& x_25)); /* scanf_va_79 */ + printf("%ld",x_25); /* printf_va_79 */ + scanf("%li",(long *)(& x_25)); /* scanf_va_80 */ + printf("%li",x_25); /* printf_va_80 */ } { uintptr_t x_26; - scanf_va_81("%lo",(unsigned long *)(& x_26)); - printf_va_81("%lo",x_26); - scanf_va_82("%lu",(unsigned long *)(& x_26)); - printf_va_82("%lu",x_26); - scanf_va_83("%lx",(unsigned long *)(& x_26)); - printf_va_83("%lx",x_26); - scanf_va_84("%lx",(unsigned long *)(& x_26)); - printf_va_84("%lX",x_26); + scanf("%lo",(unsigned long *)(& x_26)); /* scanf_va_81 */ + printf("%lo",x_26); /* printf_va_81 */ + scanf("%lu",(unsigned long *)(& x_26)); /* scanf_va_82 */ + printf("%lu",x_26); /* printf_va_82 */ + scanf("%lx",(unsigned long *)(& x_26)); /* scanf_va_83 */ + printf("%lx",x_26); /* printf_va_83 */ + scanf("%lx",(unsigned long *)(& x_26)); /* scanf_va_84 */ + printf("%lX",x_26); /* printf_va_84 */ } __retres = 0; return __retres; diff --git a/tests/libc/oracle/inttypes_h.4.res.oracle b/tests/libc/oracle/inttypes_h.4.res.oracle index d369e0541c8787ae84964c5bb823d66898a27f47..fcb3295822420594ecbe05ed6adf49959045b65b 100644 --- a/tests/libc/oracle/inttypes_h.4.res.oracle +++ b/tests/libc/oracle/inttypes_h.4.res.oracle @@ -2531,255 +2531,255 @@ int main(void) int __retres; { int8_t x; - scanf_va_1("%hhd",(signed char *)(& x)); - printf_va_1("%hhd",(int)x); - scanf_va_2("%hhi",(signed char *)(& x)); - printf_va_2("%hhi",(int)x); + scanf("%hhd",(signed char *)(& x)); /* scanf_va_1 */ + printf("%hhd",(int)x); /* printf_va_1 */ + scanf("%hhi",(signed char *)(& x)); /* scanf_va_2 */ + printf("%hhi",(int)x); /* printf_va_2 */ } { uint8_t x_0; - scanf_va_3("%hho",(unsigned char *)(& x_0)); - printf_va_3("%hho",(int)x_0); - scanf_va_4("%hhu",(unsigned char *)(& x_0)); - printf_va_4("%hhu",(int)x_0); - scanf_va_5("%hhx",(unsigned char *)(& x_0)); - printf_va_5("%hhx",(int)x_0); - scanf_va_6("%hhx",(unsigned char *)(& x_0)); - printf_va_6("%hhX",(int)x_0); + scanf("%hho",(unsigned char *)(& x_0)); /* scanf_va_3 */ + printf("%hho",(int)x_0); /* printf_va_3 */ + scanf("%hhu",(unsigned char *)(& x_0)); /* scanf_va_4 */ + printf("%hhu",(int)x_0); /* printf_va_4 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_5 */ + printf("%hhx",(int)x_0); /* printf_va_5 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_6 */ + printf("%hhX",(int)x_0); /* printf_va_6 */ } { int16_t x_1; - scanf_va_7("%hd",(short *)(& x_1)); - printf_va_7("%hd",(int)x_1); - scanf_va_8("%hi",(short *)(& x_1)); - printf_va_8("%hi",(int)x_1); + scanf("%hd",(short *)(& x_1)); /* scanf_va_7 */ + printf("%hd",(int)x_1); /* printf_va_7 */ + scanf("%hi",(short *)(& x_1)); /* scanf_va_8 */ + printf("%hi",(int)x_1); /* printf_va_8 */ } { uint16_t x_2; - scanf_va_9("%ho",(unsigned short *)(& x_2)); - printf_va_9("%ho",(int)x_2); - scanf_va_10("%hu",(unsigned short *)(& x_2)); - printf_va_10("%hu",(int)x_2); - scanf_va_11("%hx",(unsigned short *)(& x_2)); - printf_va_11("%hx",(int)x_2); - scanf_va_12("%hx",(unsigned short *)(& x_2)); - printf_va_12("%hX",(int)x_2); + scanf("%ho",(unsigned short *)(& x_2)); /* scanf_va_9 */ + printf("%ho",(int)x_2); /* printf_va_9 */ + scanf("%hu",(unsigned short *)(& x_2)); /* scanf_va_10 */ + printf("%hu",(int)x_2); /* printf_va_10 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_11 */ + printf("%hx",(int)x_2); /* printf_va_11 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_12 */ + printf("%hX",(int)x_2); /* printf_va_12 */ } { int32_t x_3; - scanf_va_13("%d",(int *)(& x_3)); - printf_va_13("%d",x_3); - scanf_va_14("%i",(int *)(& x_3)); - printf_va_14("%i",x_3); + scanf("%d",(int *)(& x_3)); /* scanf_va_13 */ + printf("%d",x_3); /* printf_va_13 */ + scanf("%i",(int *)(& x_3)); /* scanf_va_14 */ + printf("%i",x_3); /* printf_va_14 */ } { uint32_t x_4; - scanf_va_15("%o",(unsigned int *)(& x_4)); - printf_va_15("%o",x_4); - scanf_va_16("%u",(unsigned int *)(& x_4)); - printf_va_16("%u",x_4); - scanf_va_17("%x",(unsigned int *)(& x_4)); - printf_va_17("%x",x_4); - scanf_va_18("%x",(unsigned int *)(& x_4)); - printf_va_18("%X",x_4); + scanf("%o",(unsigned int *)(& x_4)); /* scanf_va_15 */ + printf("%o",x_4); /* printf_va_15 */ + scanf("%u",(unsigned int *)(& x_4)); /* scanf_va_16 */ + printf("%u",x_4); /* printf_va_16 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_17 */ + printf("%x",x_4); /* printf_va_17 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_18 */ + printf("%X",x_4); /* printf_va_18 */ } { int64_t x_5; - scanf_va_19("%lld",(long long *)(& x_5)); - printf_va_19("%lld",x_5); - scanf_va_20("%lli",(long long *)(& x_5)); - printf_va_20("%lli",x_5); + scanf("%lld",(long long *)(& x_5)); /* scanf_va_19 */ + printf("%lld",x_5); /* printf_va_19 */ + scanf("%lli",(long long *)(& x_5)); /* scanf_va_20 */ + printf("%lli",x_5); /* printf_va_20 */ } { uint64_t x_6; - scanf_va_21("%llo",(unsigned long long *)(& x_6)); - printf_va_21("%llo",x_6); - scanf_va_22("%llu",(unsigned long long *)(& x_6)); - printf_va_22("%llu",x_6); - scanf_va_23("%llx",(unsigned long long *)(& x_6)); - printf_va_23("%llx",x_6); - scanf_va_24("%llx",(unsigned long long *)(& x_6)); - printf_va_24("%llX",x_6); + scanf("%llo",(unsigned long long *)(& x_6)); /* scanf_va_21 */ + printf("%llo",x_6); /* printf_va_21 */ + scanf("%llu",(unsigned long long *)(& x_6)); /* scanf_va_22 */ + printf("%llu",x_6); /* printf_va_22 */ + scanf("%llx",(unsigned long long *)(& x_6)); /* scanf_va_23 */ + printf("%llx",x_6); /* printf_va_23 */ + scanf("%llx",(unsigned long long *)(& x_6)); /* scanf_va_24 */ + printf("%llX",x_6); /* printf_va_24 */ } { int_least8_t x_7; - scanf_va_25("%hhd",(signed char *)(& x_7)); - printf_va_25("%hhd",(int)x_7); - scanf_va_26("%hhi",(signed char *)(& x_7)); - printf_va_26("%hhi",(int)x_7); + scanf("%hhd",(signed char *)(& x_7)); /* scanf_va_25 */ + printf("%hhd",(int)x_7); /* printf_va_25 */ + scanf("%hhi",(signed char *)(& x_7)); /* scanf_va_26 */ + printf("%hhi",(int)x_7); /* printf_va_26 */ } { uint_least8_t x_8; - scanf_va_27("%hho",(unsigned char *)(& x_8)); - printf_va_27("%hho",(int)x_8); - scanf_va_28("%hhu",(unsigned char *)(& x_8)); - printf_va_28("%hhu",(int)x_8); - scanf_va_29("%hhx",(unsigned char *)(& x_8)); - printf_va_29("%hhx",(int)x_8); - scanf_va_30("%hhx",(unsigned char *)(& x_8)); - printf_va_30("%hhX",(int)x_8); + scanf("%hho",(unsigned char *)(& x_8)); /* scanf_va_27 */ + printf("%hho",(int)x_8); /* printf_va_27 */ + scanf("%hhu",(unsigned char *)(& x_8)); /* scanf_va_28 */ + printf("%hhu",(int)x_8); /* printf_va_28 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_29 */ + printf("%hhx",(int)x_8); /* printf_va_29 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_30 */ + printf("%hhX",(int)x_8); /* printf_va_30 */ } { int_least16_t x_9; - scanf_va_31("%hd",(short *)(& x_9)); - printf_va_31("%hd",(int)x_9); - scanf_va_32("%hi",(short *)(& x_9)); - printf_va_32("%hi",(int)x_9); + scanf("%hd",(short *)(& x_9)); /* scanf_va_31 */ + printf("%hd",(int)x_9); /* printf_va_31 */ + scanf("%hi",(short *)(& x_9)); /* scanf_va_32 */ + printf("%hi",(int)x_9); /* printf_va_32 */ } { uint_least16_t x_10; - scanf_va_33("%ho",(unsigned short *)(& x_10)); - printf_va_33("%ho",(int)x_10); - scanf_va_34("%hu",(unsigned short *)(& x_10)); - printf_va_34("%hu",(int)x_10); - scanf_va_35("%hx",(unsigned short *)(& x_10)); - printf_va_35("%hx",(int)x_10); - scanf_va_36("%hx",(unsigned short *)(& x_10)); - printf_va_36("%hX",(int)x_10); + scanf("%ho",(unsigned short *)(& x_10)); /* scanf_va_33 */ + printf("%ho",(int)x_10); /* printf_va_33 */ + scanf("%hu",(unsigned short *)(& x_10)); /* scanf_va_34 */ + printf("%hu",(int)x_10); /* printf_va_34 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_35 */ + printf("%hx",(int)x_10); /* printf_va_35 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_36 */ + printf("%hX",(int)x_10); /* printf_va_36 */ } { int_least32_t x_11; - scanf_va_37("%d",(int *)(& x_11)); - printf_va_37("%d",x_11); - scanf_va_38("%i",(int *)(& x_11)); - printf_va_38("%i",x_11); + scanf("%d",(int *)(& x_11)); /* scanf_va_37 */ + printf("%d",x_11); /* printf_va_37 */ + scanf("%i",(int *)(& x_11)); /* scanf_va_38 */ + printf("%i",x_11); /* printf_va_38 */ } { uint_least32_t x_12; - scanf_va_39("%o",(unsigned int *)(& x_12)); - printf_va_39("%o",x_12); - scanf_va_40("%u",(unsigned int *)(& x_12)); - printf_va_40("%u",x_12); - scanf_va_41("%x",(unsigned int *)(& x_12)); - printf_va_41("%x",x_12); - scanf_va_42("%x",(unsigned int *)(& x_12)); - printf_va_42("%X",x_12); + scanf("%o",(unsigned int *)(& x_12)); /* scanf_va_39 */ + printf("%o",x_12); /* printf_va_39 */ + scanf("%u",(unsigned int *)(& x_12)); /* scanf_va_40 */ + printf("%u",x_12); /* printf_va_40 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_41 */ + printf("%x",x_12); /* printf_va_41 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_42 */ + printf("%X",x_12); /* printf_va_42 */ } { int_least64_t x_13; - scanf_va_43("%lld",(long long *)(& x_13)); - printf_va_43("%lld",x_13); - scanf_va_44("%lli",(long long *)(& x_13)); - printf_va_44("%lli",x_13); + scanf("%lld",(long long *)(& x_13)); /* scanf_va_43 */ + printf("%lld",x_13); /* printf_va_43 */ + scanf("%lli",(long long *)(& x_13)); /* scanf_va_44 */ + printf("%lli",x_13); /* printf_va_44 */ } { uint_least64_t x_14; - scanf_va_45("%llo",(unsigned long long *)(& x_14)); - printf_va_45("%llo",x_14); - scanf_va_46("%llu",(unsigned long long *)(& x_14)); - printf_va_46("%llu",x_14); - scanf_va_47("%llx",(unsigned long long *)(& x_14)); - printf_va_47("%llx",x_14); - scanf_va_48("%llx",(unsigned long long *)(& x_14)); - printf_va_48("%llX",x_14); + scanf("%llo",(unsigned long long *)(& x_14)); /* scanf_va_45 */ + printf("%llo",x_14); /* printf_va_45 */ + scanf("%llu",(unsigned long long *)(& x_14)); /* scanf_va_46 */ + printf("%llu",x_14); /* printf_va_46 */ + scanf("%llx",(unsigned long long *)(& x_14)); /* scanf_va_47 */ + printf("%llx",x_14); /* printf_va_47 */ + scanf("%llx",(unsigned long long *)(& x_14)); /* scanf_va_48 */ + printf("%llX",x_14); /* printf_va_48 */ } { int_fast8_t x_15; - scanf_va_49("%hhd",(signed char *)(& x_15)); - printf_va_49("%hhd",(int)x_15); - scanf_va_50("%hhi",(signed char *)(& x_15)); - printf_va_50("%hhi",(int)x_15); + scanf("%hhd",(signed char *)(& x_15)); /* scanf_va_49 */ + printf("%hhd",(int)x_15); /* printf_va_49 */ + scanf("%hhi",(signed char *)(& x_15)); /* scanf_va_50 */ + printf("%hhi",(int)x_15); /* printf_va_50 */ } { uint_fast8_t x_16; - scanf_va_51("%hho",(unsigned char *)(& x_16)); - printf_va_51("%hho",(int)x_16); - scanf_va_52("%hhu",(unsigned char *)(& x_16)); - printf_va_52("%hhu",(int)x_16); - scanf_va_53("%hhx",(unsigned char *)(& x_16)); - printf_va_53("%hhx",(int)x_16); - scanf_va_54("%hhx",(unsigned char *)(& x_16)); - printf_va_54("%hhX",(int)x_16); + scanf("%hho",(unsigned char *)(& x_16)); /* scanf_va_51 */ + printf("%hho",(int)x_16); /* printf_va_51 */ + scanf("%hhu",(unsigned char *)(& x_16)); /* scanf_va_52 */ + printf("%hhu",(int)x_16); /* printf_va_52 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_53 */ + printf("%hhx",(int)x_16); /* printf_va_53 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_54 */ + printf("%hhX",(int)x_16); /* printf_va_54 */ } { int_fast16_t x_17; - scanf_va_55("%d",(int *)(& x_17)); - printf_va_55("%d",x_17); - scanf_va_56("%i",(int *)(& x_17)); - printf_va_56("%i",x_17); + scanf("%d",(int *)(& x_17)); /* scanf_va_55 */ + printf("%d",x_17); /* printf_va_55 */ + scanf("%i",(int *)(& x_17)); /* scanf_va_56 */ + printf("%i",x_17); /* printf_va_56 */ } { uint_fast16_t x_18; - scanf_va_57("%o",(unsigned int *)(& x_18)); - printf_va_57("%o",x_18); - scanf_va_58("%u",(unsigned int *)(& x_18)); - printf_va_58("%u",x_18); - scanf_va_59("%x",(unsigned int *)(& x_18)); - printf_va_59("%x",x_18); - scanf_va_60("%x",(unsigned int *)(& x_18)); - printf_va_60("%X",x_18); + scanf("%o",(unsigned int *)(& x_18)); /* scanf_va_57 */ + printf("%o",x_18); /* printf_va_57 */ + scanf("%u",(unsigned int *)(& x_18)); /* scanf_va_58 */ + printf("%u",x_18); /* printf_va_58 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_59 */ + printf("%x",x_18); /* printf_va_59 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_60 */ + printf("%X",x_18); /* printf_va_60 */ } { int_fast32_t x_19; - scanf_va_61("%d",(int *)(& x_19)); - printf_va_61("%d",x_19); - scanf_va_62("%i",(int *)(& x_19)); - printf_va_62("%i",x_19); + scanf("%d",(int *)(& x_19)); /* scanf_va_61 */ + printf("%d",x_19); /* printf_va_61 */ + scanf("%i",(int *)(& x_19)); /* scanf_va_62 */ + printf("%i",x_19); /* printf_va_62 */ } { uint_fast32_t x_20; - scanf_va_63("%o",(unsigned int *)(& x_20)); - printf_va_63("%o",x_20); - scanf_va_64("%u",(unsigned int *)(& x_20)); - printf_va_64("%u",x_20); - scanf_va_65("%x",(unsigned int *)(& x_20)); - printf_va_65("%x",x_20); - scanf_va_66("%x",(unsigned int *)(& x_20)); - printf_va_66("%X",x_20); + scanf("%o",(unsigned int *)(& x_20)); /* scanf_va_63 */ + printf("%o",x_20); /* printf_va_63 */ + scanf("%u",(unsigned int *)(& x_20)); /* scanf_va_64 */ + printf("%u",x_20); /* printf_va_64 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_65 */ + printf("%x",x_20); /* printf_va_65 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_66 */ + printf("%X",x_20); /* printf_va_66 */ } { int_fast64_t x_21; - scanf_va_67("%lld",(long long *)(& x_21)); - printf_va_67("%lld",x_21); - scanf_va_68("%lli",(long long *)(& x_21)); - printf_va_68("%lli",x_21); + scanf("%lld",(long long *)(& x_21)); /* scanf_va_67 */ + printf("%lld",x_21); /* printf_va_67 */ + scanf("%lli",(long long *)(& x_21)); /* scanf_va_68 */ + printf("%lli",x_21); /* printf_va_68 */ } { uint_fast64_t x_22; - scanf_va_69("%llo",(unsigned long long *)(& x_22)); - printf_va_69("%llo",x_22); - scanf_va_70("%llu",(unsigned long long *)(& x_22)); - printf_va_70("%llu",x_22); - scanf_va_71("%llx",(unsigned long long *)(& x_22)); - printf_va_71("%llx",x_22); - scanf_va_72("%llx",(unsigned long long *)(& x_22)); - printf_va_72("%llX",x_22); + scanf("%llo",(unsigned long long *)(& x_22)); /* scanf_va_69 */ + printf("%llo",x_22); /* printf_va_69 */ + scanf("%llu",(unsigned long long *)(& x_22)); /* scanf_va_70 */ + printf("%llu",x_22); /* printf_va_70 */ + scanf("%llx",(unsigned long long *)(& x_22)); /* scanf_va_71 */ + printf("%llx",x_22); /* printf_va_71 */ + scanf("%llx",(unsigned long long *)(& x_22)); /* scanf_va_72 */ + printf("%llX",x_22); /* printf_va_72 */ } { intmax_t x_23; - scanf_va_73("%lld",(long long *)(& x_23)); - printf_va_73("%lld",x_23); - scanf_va_74("%lli",(long long *)(& x_23)); - printf_va_74("%lli",x_23); + scanf("%lld",(long long *)(& x_23)); /* scanf_va_73 */ + printf("%lld",x_23); /* printf_va_73 */ + scanf("%lli",(long long *)(& x_23)); /* scanf_va_74 */ + printf("%lli",x_23); /* printf_va_74 */ } { uintmax_t x_24; - scanf_va_75("%llo",(unsigned long long *)(& x_24)); - printf_va_75("%llo",x_24); - scanf_va_76("%llu",(unsigned long long *)(& x_24)); - printf_va_76("%llu",x_24); - scanf_va_77("%llx",(unsigned long long *)(& x_24)); - printf_va_77("%llx",x_24); - scanf_va_78("%llx",(unsigned long long *)(& x_24)); - printf_va_78("%llX",x_24); + scanf("%llo",(unsigned long long *)(& x_24)); /* scanf_va_75 */ + printf("%llo",x_24); /* printf_va_75 */ + scanf("%llu",(unsigned long long *)(& x_24)); /* scanf_va_76 */ + printf("%llu",x_24); /* printf_va_76 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_77 */ + printf("%llx",x_24); /* printf_va_77 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_78 */ + printf("%llX",x_24); /* printf_va_78 */ } { intptr_t x_25; - scanf_va_79("%d",(int *)(& x_25)); - printf_va_79("%d",x_25); - scanf_va_80("%i",(int *)(& x_25)); - printf_va_80("%i",x_25); + scanf("%d",(int *)(& x_25)); /* scanf_va_79 */ + printf("%d",x_25); /* printf_va_79 */ + scanf("%i",(int *)(& x_25)); /* scanf_va_80 */ + printf("%i",x_25); /* printf_va_80 */ } { uintptr_t x_26; - scanf_va_81("%o",(unsigned int *)(& x_26)); - printf_va_81("%o",x_26); - scanf_va_82("%u",(unsigned int *)(& x_26)); - printf_va_82("%u",x_26); - scanf_va_83("%x",(unsigned int *)(& x_26)); - printf_va_83("%x",x_26); - scanf_va_84("%x",(unsigned int *)(& x_26)); - printf_va_84("%X",x_26); + scanf("%o",(unsigned int *)(& x_26)); /* scanf_va_81 */ + printf("%o",x_26); /* printf_va_81 */ + scanf("%u",(unsigned int *)(& x_26)); /* scanf_va_82 */ + printf("%u",x_26); /* printf_va_82 */ + scanf("%x",(unsigned int *)(& x_26)); /* scanf_va_83 */ + printf("%x",x_26); /* printf_va_83 */ + scanf("%x",(unsigned int *)(& x_26)); /* scanf_va_84 */ + printf("%X",x_26); /* printf_va_84 */ } __retres = 0; return __retres; diff --git a/tests/libc/oracle/inttypes_h.5.res.oracle b/tests/libc/oracle/inttypes_h.5.res.oracle index 0270a3902c68a7b8e1b9a34ab1efdd9f14cbb8cd..d6d6d590fdddc8a5f0a585a2fec496239f47d601 100644 --- a/tests/libc/oracle/inttypes_h.5.res.oracle +++ b/tests/libc/oracle/inttypes_h.5.res.oracle @@ -2531,255 +2531,255 @@ int main(void) int __retres; { int8_t x; - scanf_va_1("%hhd",(signed char *)(& x)); - printf_va_1("%hhd",(int)x); - scanf_va_2("%hhi",(signed char *)(& x)); - printf_va_2("%hhi",(int)x); + scanf("%hhd",(signed char *)(& x)); /* scanf_va_1 */ + printf("%hhd",(int)x); /* printf_va_1 */ + scanf("%hhi",(signed char *)(& x)); /* scanf_va_2 */ + printf("%hhi",(int)x); /* printf_va_2 */ } { uint8_t x_0; - scanf_va_3("%hho",(unsigned char *)(& x_0)); - printf_va_3("%hho",(int)x_0); - scanf_va_4("%hhu",(unsigned char *)(& x_0)); - printf_va_4("%hhu",(int)x_0); - scanf_va_5("%hhx",(unsigned char *)(& x_0)); - printf_va_5("%hhx",(int)x_0); - scanf_va_6("%hhx",(unsigned char *)(& x_0)); - printf_va_6("%hhX",(int)x_0); + scanf("%hho",(unsigned char *)(& x_0)); /* scanf_va_3 */ + printf("%hho",(int)x_0); /* printf_va_3 */ + scanf("%hhu",(unsigned char *)(& x_0)); /* scanf_va_4 */ + printf("%hhu",(int)x_0); /* printf_va_4 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_5 */ + printf("%hhx",(int)x_0); /* printf_va_5 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_6 */ + printf("%hhX",(int)x_0); /* printf_va_6 */ } { int16_t x_1; - scanf_va_7("%hd",(short *)(& x_1)); - printf_va_7("%hd",(int)x_1); - scanf_va_8("%hi",(short *)(& x_1)); - printf_va_8("%hi",(int)x_1); + scanf("%hd",(short *)(& x_1)); /* scanf_va_7 */ + printf("%hd",(int)x_1); /* printf_va_7 */ + scanf("%hi",(short *)(& x_1)); /* scanf_va_8 */ + printf("%hi",(int)x_1); /* printf_va_8 */ } { uint16_t x_2; - scanf_va_9("%ho",(unsigned short *)(& x_2)); - printf_va_9("%ho",(int)x_2); - scanf_va_10("%hu",(unsigned short *)(& x_2)); - printf_va_10("%hu",(int)x_2); - scanf_va_11("%hx",(unsigned short *)(& x_2)); - printf_va_11("%hx",(int)x_2); - scanf_va_12("%hx",(unsigned short *)(& x_2)); - printf_va_12("%hX",(int)x_2); + scanf("%ho",(unsigned short *)(& x_2)); /* scanf_va_9 */ + printf("%ho",(int)x_2); /* printf_va_9 */ + scanf("%hu",(unsigned short *)(& x_2)); /* scanf_va_10 */ + printf("%hu",(int)x_2); /* printf_va_10 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_11 */ + printf("%hx",(int)x_2); /* printf_va_11 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_12 */ + printf("%hX",(int)x_2); /* printf_va_12 */ } { int32_t x_3; - scanf_va_13("%d",(int *)(& x_3)); - printf_va_13("%d",x_3); - scanf_va_14("%i",(int *)(& x_3)); - printf_va_14("%i",x_3); + scanf("%d",(int *)(& x_3)); /* scanf_va_13 */ + printf("%d",x_3); /* printf_va_13 */ + scanf("%i",(int *)(& x_3)); /* scanf_va_14 */ + printf("%i",x_3); /* printf_va_14 */ } { uint32_t x_4; - scanf_va_15("%o",(unsigned int *)(& x_4)); - printf_va_15("%o",x_4); - scanf_va_16("%u",(unsigned int *)(& x_4)); - printf_va_16("%u",x_4); - scanf_va_17("%x",(unsigned int *)(& x_4)); - printf_va_17("%x",x_4); - scanf_va_18("%x",(unsigned int *)(& x_4)); - printf_va_18("%X",x_4); + scanf("%o",(unsigned int *)(& x_4)); /* scanf_va_15 */ + printf("%o",x_4); /* printf_va_15 */ + scanf("%u",(unsigned int *)(& x_4)); /* scanf_va_16 */ + printf("%u",x_4); /* printf_va_16 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_17 */ + printf("%x",x_4); /* printf_va_17 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_18 */ + printf("%X",x_4); /* printf_va_18 */ } { int64_t x_5; - scanf_va_19("%ld",(long *)(& x_5)); - printf_va_19("%ld",x_5); - scanf_va_20("%li",(long *)(& x_5)); - printf_va_20("%li",x_5); + scanf("%ld",(long *)(& x_5)); /* scanf_va_19 */ + printf("%ld",x_5); /* printf_va_19 */ + scanf("%li",(long *)(& x_5)); /* scanf_va_20 */ + printf("%li",x_5); /* printf_va_20 */ } { uint64_t x_6; - scanf_va_21("%lo",(unsigned long *)(& x_6)); - printf_va_21("%lo",x_6); - scanf_va_22("%lu",(unsigned long *)(& x_6)); - printf_va_22("%lu",x_6); - scanf_va_23("%lx",(unsigned long *)(& x_6)); - printf_va_23("%lx",x_6); - scanf_va_24("%lx",(unsigned long *)(& x_6)); - printf_va_24("%lX",x_6); + scanf("%lo",(unsigned long *)(& x_6)); /* scanf_va_21 */ + printf("%lo",x_6); /* printf_va_21 */ + scanf("%lu",(unsigned long *)(& x_6)); /* scanf_va_22 */ + printf("%lu",x_6); /* printf_va_22 */ + scanf("%lx",(unsigned long *)(& x_6)); /* scanf_va_23 */ + printf("%lx",x_6); /* printf_va_23 */ + scanf("%lx",(unsigned long *)(& x_6)); /* scanf_va_24 */ + printf("%lX",x_6); /* printf_va_24 */ } { int_least8_t x_7; - scanf_va_25("%hhd",(signed char *)(& x_7)); - printf_va_25("%hhd",(int)x_7); - scanf_va_26("%hhi",(signed char *)(& x_7)); - printf_va_26("%hhi",(int)x_7); + scanf("%hhd",(signed char *)(& x_7)); /* scanf_va_25 */ + printf("%hhd",(int)x_7); /* printf_va_25 */ + scanf("%hhi",(signed char *)(& x_7)); /* scanf_va_26 */ + printf("%hhi",(int)x_7); /* printf_va_26 */ } { uint_least8_t x_8; - scanf_va_27("%hho",(unsigned char *)(& x_8)); - printf_va_27("%hho",(int)x_8); - scanf_va_28("%hhu",(unsigned char *)(& x_8)); - printf_va_28("%hhu",(int)x_8); - scanf_va_29("%hhx",(unsigned char *)(& x_8)); - printf_va_29("%hhx",(int)x_8); - scanf_va_30("%hhx",(unsigned char *)(& x_8)); - printf_va_30("%hhX",(int)x_8); + scanf("%hho",(unsigned char *)(& x_8)); /* scanf_va_27 */ + printf("%hho",(int)x_8); /* printf_va_27 */ + scanf("%hhu",(unsigned char *)(& x_8)); /* scanf_va_28 */ + printf("%hhu",(int)x_8); /* printf_va_28 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_29 */ + printf("%hhx",(int)x_8); /* printf_va_29 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_30 */ + printf("%hhX",(int)x_8); /* printf_va_30 */ } { int_least16_t x_9; - scanf_va_31("%hd",(short *)(& x_9)); - printf_va_31("%hd",(int)x_9); - scanf_va_32("%hi",(short *)(& x_9)); - printf_va_32("%hi",(int)x_9); + scanf("%hd",(short *)(& x_9)); /* scanf_va_31 */ + printf("%hd",(int)x_9); /* printf_va_31 */ + scanf("%hi",(short *)(& x_9)); /* scanf_va_32 */ + printf("%hi",(int)x_9); /* printf_va_32 */ } { uint_least16_t x_10; - scanf_va_33("%ho",(unsigned short *)(& x_10)); - printf_va_33("%ho",(int)x_10); - scanf_va_34("%hu",(unsigned short *)(& x_10)); - printf_va_34("%hu",(int)x_10); - scanf_va_35("%hx",(unsigned short *)(& x_10)); - printf_va_35("%hx",(int)x_10); - scanf_va_36("%hx",(unsigned short *)(& x_10)); - printf_va_36("%hX",(int)x_10); + scanf("%ho",(unsigned short *)(& x_10)); /* scanf_va_33 */ + printf("%ho",(int)x_10); /* printf_va_33 */ + scanf("%hu",(unsigned short *)(& x_10)); /* scanf_va_34 */ + printf("%hu",(int)x_10); /* printf_va_34 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_35 */ + printf("%hx",(int)x_10); /* printf_va_35 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_36 */ + printf("%hX",(int)x_10); /* printf_va_36 */ } { int_least32_t x_11; - scanf_va_37("%d",(int *)(& x_11)); - printf_va_37("%d",x_11); - scanf_va_38("%i",(int *)(& x_11)); - printf_va_38("%i",x_11); + scanf("%d",(int *)(& x_11)); /* scanf_va_37 */ + printf("%d",x_11); /* printf_va_37 */ + scanf("%i",(int *)(& x_11)); /* scanf_va_38 */ + printf("%i",x_11); /* printf_va_38 */ } { uint_least32_t x_12; - scanf_va_39("%o",(unsigned int *)(& x_12)); - printf_va_39("%o",x_12); - scanf_va_40("%u",(unsigned int *)(& x_12)); - printf_va_40("%u",x_12); - scanf_va_41("%x",(unsigned int *)(& x_12)); - printf_va_41("%x",x_12); - scanf_va_42("%x",(unsigned int *)(& x_12)); - printf_va_42("%X",x_12); + scanf("%o",(unsigned int *)(& x_12)); /* scanf_va_39 */ + printf("%o",x_12); /* printf_va_39 */ + scanf("%u",(unsigned int *)(& x_12)); /* scanf_va_40 */ + printf("%u",x_12); /* printf_va_40 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_41 */ + printf("%x",x_12); /* printf_va_41 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_42 */ + printf("%X",x_12); /* printf_va_42 */ } { int_least64_t x_13; - scanf_va_43("%ld",(long *)(& x_13)); - printf_va_43("%ld",x_13); - scanf_va_44("%li",(long *)(& x_13)); - printf_va_44("%li",x_13); + scanf("%ld",(long *)(& x_13)); /* scanf_va_43 */ + printf("%ld",x_13); /* printf_va_43 */ + scanf("%li",(long *)(& x_13)); /* scanf_va_44 */ + printf("%li",x_13); /* printf_va_44 */ } { uint_least64_t x_14; - scanf_va_45("%lo",(unsigned long *)(& x_14)); - printf_va_45("%lo",x_14); - scanf_va_46("%lu",(unsigned long *)(& x_14)); - printf_va_46("%lu",x_14); - scanf_va_47("%lx",(unsigned long *)(& x_14)); - printf_va_47("%lx",x_14); - scanf_va_48("%lx",(unsigned long *)(& x_14)); - printf_va_48("%lX",x_14); + scanf("%lo",(unsigned long *)(& x_14)); /* scanf_va_45 */ + printf("%lo",x_14); /* printf_va_45 */ + scanf("%lu",(unsigned long *)(& x_14)); /* scanf_va_46 */ + printf("%lu",x_14); /* printf_va_46 */ + scanf("%lx",(unsigned long *)(& x_14)); /* scanf_va_47 */ + printf("%lx",x_14); /* printf_va_47 */ + scanf("%lx",(unsigned long *)(& x_14)); /* scanf_va_48 */ + printf("%lX",x_14); /* printf_va_48 */ } { int_fast8_t x_15; - scanf_va_49("%hhd",(signed char *)(& x_15)); - printf_va_49("%hhd",(int)x_15); - scanf_va_50("%hhi",(signed char *)(& x_15)); - printf_va_50("%hhi",(int)x_15); + scanf("%hhd",(signed char *)(& x_15)); /* scanf_va_49 */ + printf("%hhd",(int)x_15); /* printf_va_49 */ + scanf("%hhi",(signed char *)(& x_15)); /* scanf_va_50 */ + printf("%hhi",(int)x_15); /* printf_va_50 */ } { uint_fast8_t x_16; - scanf_va_51("%hho",(unsigned char *)(& x_16)); - printf_va_51("%hho",(int)x_16); - scanf_va_52("%hhu",(unsigned char *)(& x_16)); - printf_va_52("%hhu",(int)x_16); - scanf_va_53("%hhx",(unsigned char *)(& x_16)); - printf_va_53("%hhx",(int)x_16); - scanf_va_54("%hhx",(unsigned char *)(& x_16)); - printf_va_54("%hhX",(int)x_16); + scanf("%hho",(unsigned char *)(& x_16)); /* scanf_va_51 */ + printf("%hho",(int)x_16); /* printf_va_51 */ + scanf("%hhu",(unsigned char *)(& x_16)); /* scanf_va_52 */ + printf("%hhu",(int)x_16); /* printf_va_52 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_53 */ + printf("%hhx",(int)x_16); /* printf_va_53 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_54 */ + printf("%hhX",(int)x_16); /* printf_va_54 */ } { int_fast16_t x_17; - scanf_va_55("%d",(int *)(& x_17)); - printf_va_55("%d",x_17); - scanf_va_56("%i",(int *)(& x_17)); - printf_va_56("%i",x_17); + scanf("%d",(int *)(& x_17)); /* scanf_va_55 */ + printf("%d",x_17); /* printf_va_55 */ + scanf("%i",(int *)(& x_17)); /* scanf_va_56 */ + printf("%i",x_17); /* printf_va_56 */ } { uint_fast16_t x_18; - scanf_va_57("%o",(unsigned int *)(& x_18)); - printf_va_57("%o",x_18); - scanf_va_58("%u",(unsigned int *)(& x_18)); - printf_va_58("%u",x_18); - scanf_va_59("%x",(unsigned int *)(& x_18)); - printf_va_59("%x",x_18); - scanf_va_60("%x",(unsigned int *)(& x_18)); - printf_va_60("%X",x_18); + scanf("%o",(unsigned int *)(& x_18)); /* scanf_va_57 */ + printf("%o",x_18); /* printf_va_57 */ + scanf("%u",(unsigned int *)(& x_18)); /* scanf_va_58 */ + printf("%u",x_18); /* printf_va_58 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_59 */ + printf("%x",x_18); /* printf_va_59 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_60 */ + printf("%X",x_18); /* printf_va_60 */ } { int_fast32_t x_19; - scanf_va_61("%d",(int *)(& x_19)); - printf_va_61("%d",x_19); - scanf_va_62("%i",(int *)(& x_19)); - printf_va_62("%i",x_19); + scanf("%d",(int *)(& x_19)); /* scanf_va_61 */ + printf("%d",x_19); /* printf_va_61 */ + scanf("%i",(int *)(& x_19)); /* scanf_va_62 */ + printf("%i",x_19); /* printf_va_62 */ } { uint_fast32_t x_20; - scanf_va_63("%o",(unsigned int *)(& x_20)); - printf_va_63("%o",x_20); - scanf_va_64("%u",(unsigned int *)(& x_20)); - printf_va_64("%u",x_20); - scanf_va_65("%x",(unsigned int *)(& x_20)); - printf_va_65("%x",x_20); - scanf_va_66("%x",(unsigned int *)(& x_20)); - printf_va_66("%X",x_20); + scanf("%o",(unsigned int *)(& x_20)); /* scanf_va_63 */ + printf("%o",x_20); /* printf_va_63 */ + scanf("%u",(unsigned int *)(& x_20)); /* scanf_va_64 */ + printf("%u",x_20); /* printf_va_64 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_65 */ + printf("%x",x_20); /* printf_va_65 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_66 */ + printf("%X",x_20); /* printf_va_66 */ } { int_fast64_t x_21; - scanf_va_67("%ld",(long *)(& x_21)); - printf_va_67("%ld",x_21); - scanf_va_68("%li",(long *)(& x_21)); - printf_va_68("%li",x_21); + scanf("%ld",(long *)(& x_21)); /* scanf_va_67 */ + printf("%ld",x_21); /* printf_va_67 */ + scanf("%li",(long *)(& x_21)); /* scanf_va_68 */ + printf("%li",x_21); /* printf_va_68 */ } { uint_fast64_t x_22; - scanf_va_69("%lo",(unsigned long *)(& x_22)); - printf_va_69("%lo",x_22); - scanf_va_70("%lu",(unsigned long *)(& x_22)); - printf_va_70("%lu",x_22); - scanf_va_71("%lx",(unsigned long *)(& x_22)); - printf_va_71("%lx",x_22); - scanf_va_72("%lx",(unsigned long *)(& x_22)); - printf_va_72("%lX",x_22); + scanf("%lo",(unsigned long *)(& x_22)); /* scanf_va_69 */ + printf("%lo",x_22); /* printf_va_69 */ + scanf("%lu",(unsigned long *)(& x_22)); /* scanf_va_70 */ + printf("%lu",x_22); /* printf_va_70 */ + scanf("%lx",(unsigned long *)(& x_22)); /* scanf_va_71 */ + printf("%lx",x_22); /* printf_va_71 */ + scanf("%lx",(unsigned long *)(& x_22)); /* scanf_va_72 */ + printf("%lX",x_22); /* printf_va_72 */ } { intmax_t x_23; - scanf_va_73("%lld",(long long *)(& x_23)); - printf_va_73("%lld",x_23); - scanf_va_74("%lli",(long long *)(& x_23)); - printf_va_74("%lli",x_23); + scanf("%lld",(long long *)(& x_23)); /* scanf_va_73 */ + printf("%lld",x_23); /* printf_va_73 */ + scanf("%lli",(long long *)(& x_23)); /* scanf_va_74 */ + printf("%lli",x_23); /* printf_va_74 */ } { uintmax_t x_24; - scanf_va_75("%llo",(unsigned long long *)(& x_24)); - printf_va_75("%llo",x_24); - scanf_va_76("%llu",(unsigned long long *)(& x_24)); - printf_va_76("%llu",x_24); - scanf_va_77("%llx",(unsigned long long *)(& x_24)); - printf_va_77("%llx",x_24); - scanf_va_78("%llx",(unsigned long long *)(& x_24)); - printf_va_78("%llX",x_24); + scanf("%llo",(unsigned long long *)(& x_24)); /* scanf_va_75 */ + printf("%llo",x_24); /* printf_va_75 */ + scanf("%llu",(unsigned long long *)(& x_24)); /* scanf_va_76 */ + printf("%llu",x_24); /* printf_va_76 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_77 */ + printf("%llx",x_24); /* printf_va_77 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_78 */ + printf("%llX",x_24); /* printf_va_78 */ } { intptr_t x_25; - scanf_va_79("%ld",(long *)(& x_25)); - printf_va_79("%ld",x_25); - scanf_va_80("%li",(long *)(& x_25)); - printf_va_80("%li",x_25); + scanf("%ld",(long *)(& x_25)); /* scanf_va_79 */ + printf("%ld",x_25); /* printf_va_79 */ + scanf("%li",(long *)(& x_25)); /* scanf_va_80 */ + printf("%li",x_25); /* printf_va_80 */ } { uintptr_t x_26; - scanf_va_81("%lo",(unsigned long *)(& x_26)); - printf_va_81("%lo",x_26); - scanf_va_82("%lu",(unsigned long *)(& x_26)); - printf_va_82("%lu",x_26); - scanf_va_83("%lx",(unsigned long *)(& x_26)); - printf_va_83("%lx",x_26); - scanf_va_84("%lx",(unsigned long *)(& x_26)); - printf_va_84("%lX",x_26); + scanf("%lo",(unsigned long *)(& x_26)); /* scanf_va_81 */ + printf("%lo",x_26); /* printf_va_81 */ + scanf("%lu",(unsigned long *)(& x_26)); /* scanf_va_82 */ + printf("%lu",x_26); /* printf_va_82 */ + scanf("%lx",(unsigned long *)(& x_26)); /* scanf_va_83 */ + printf("%lx",x_26); /* printf_va_83 */ + scanf("%lx",(unsigned long *)(& x_26)); /* scanf_va_84 */ + printf("%lX",x_26); /* printf_va_84 */ } __retres = 0; return __retres; diff --git a/tests/libc/oracle/inttypes_h.6.res.oracle b/tests/libc/oracle/inttypes_h.6.res.oracle index d369e0541c8787ae84964c5bb823d66898a27f47..fcb3295822420594ecbe05ed6adf49959045b65b 100644 --- a/tests/libc/oracle/inttypes_h.6.res.oracle +++ b/tests/libc/oracle/inttypes_h.6.res.oracle @@ -2531,255 +2531,255 @@ int main(void) int __retres; { int8_t x; - scanf_va_1("%hhd",(signed char *)(& x)); - printf_va_1("%hhd",(int)x); - scanf_va_2("%hhi",(signed char *)(& x)); - printf_va_2("%hhi",(int)x); + scanf("%hhd",(signed char *)(& x)); /* scanf_va_1 */ + printf("%hhd",(int)x); /* printf_va_1 */ + scanf("%hhi",(signed char *)(& x)); /* scanf_va_2 */ + printf("%hhi",(int)x); /* printf_va_2 */ } { uint8_t x_0; - scanf_va_3("%hho",(unsigned char *)(& x_0)); - printf_va_3("%hho",(int)x_0); - scanf_va_4("%hhu",(unsigned char *)(& x_0)); - printf_va_4("%hhu",(int)x_0); - scanf_va_5("%hhx",(unsigned char *)(& x_0)); - printf_va_5("%hhx",(int)x_0); - scanf_va_6("%hhx",(unsigned char *)(& x_0)); - printf_va_6("%hhX",(int)x_0); + scanf("%hho",(unsigned char *)(& x_0)); /* scanf_va_3 */ + printf("%hho",(int)x_0); /* printf_va_3 */ + scanf("%hhu",(unsigned char *)(& x_0)); /* scanf_va_4 */ + printf("%hhu",(int)x_0); /* printf_va_4 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_5 */ + printf("%hhx",(int)x_0); /* printf_va_5 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_6 */ + printf("%hhX",(int)x_0); /* printf_va_6 */ } { int16_t x_1; - scanf_va_7("%hd",(short *)(& x_1)); - printf_va_7("%hd",(int)x_1); - scanf_va_8("%hi",(short *)(& x_1)); - printf_va_8("%hi",(int)x_1); + scanf("%hd",(short *)(& x_1)); /* scanf_va_7 */ + printf("%hd",(int)x_1); /* printf_va_7 */ + scanf("%hi",(short *)(& x_1)); /* scanf_va_8 */ + printf("%hi",(int)x_1); /* printf_va_8 */ } { uint16_t x_2; - scanf_va_9("%ho",(unsigned short *)(& x_2)); - printf_va_9("%ho",(int)x_2); - scanf_va_10("%hu",(unsigned short *)(& x_2)); - printf_va_10("%hu",(int)x_2); - scanf_va_11("%hx",(unsigned short *)(& x_2)); - printf_va_11("%hx",(int)x_2); - scanf_va_12("%hx",(unsigned short *)(& x_2)); - printf_va_12("%hX",(int)x_2); + scanf("%ho",(unsigned short *)(& x_2)); /* scanf_va_9 */ + printf("%ho",(int)x_2); /* printf_va_9 */ + scanf("%hu",(unsigned short *)(& x_2)); /* scanf_va_10 */ + printf("%hu",(int)x_2); /* printf_va_10 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_11 */ + printf("%hx",(int)x_2); /* printf_va_11 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_12 */ + printf("%hX",(int)x_2); /* printf_va_12 */ } { int32_t x_3; - scanf_va_13("%d",(int *)(& x_3)); - printf_va_13("%d",x_3); - scanf_va_14("%i",(int *)(& x_3)); - printf_va_14("%i",x_3); + scanf("%d",(int *)(& x_3)); /* scanf_va_13 */ + printf("%d",x_3); /* printf_va_13 */ + scanf("%i",(int *)(& x_3)); /* scanf_va_14 */ + printf("%i",x_3); /* printf_va_14 */ } { uint32_t x_4; - scanf_va_15("%o",(unsigned int *)(& x_4)); - printf_va_15("%o",x_4); - scanf_va_16("%u",(unsigned int *)(& x_4)); - printf_va_16("%u",x_4); - scanf_va_17("%x",(unsigned int *)(& x_4)); - printf_va_17("%x",x_4); - scanf_va_18("%x",(unsigned int *)(& x_4)); - printf_va_18("%X",x_4); + scanf("%o",(unsigned int *)(& x_4)); /* scanf_va_15 */ + printf("%o",x_4); /* printf_va_15 */ + scanf("%u",(unsigned int *)(& x_4)); /* scanf_va_16 */ + printf("%u",x_4); /* printf_va_16 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_17 */ + printf("%x",x_4); /* printf_va_17 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_18 */ + printf("%X",x_4); /* printf_va_18 */ } { int64_t x_5; - scanf_va_19("%lld",(long long *)(& x_5)); - printf_va_19("%lld",x_5); - scanf_va_20("%lli",(long long *)(& x_5)); - printf_va_20("%lli",x_5); + scanf("%lld",(long long *)(& x_5)); /* scanf_va_19 */ + printf("%lld",x_5); /* printf_va_19 */ + scanf("%lli",(long long *)(& x_5)); /* scanf_va_20 */ + printf("%lli",x_5); /* printf_va_20 */ } { uint64_t x_6; - scanf_va_21("%llo",(unsigned long long *)(& x_6)); - printf_va_21("%llo",x_6); - scanf_va_22("%llu",(unsigned long long *)(& x_6)); - printf_va_22("%llu",x_6); - scanf_va_23("%llx",(unsigned long long *)(& x_6)); - printf_va_23("%llx",x_6); - scanf_va_24("%llx",(unsigned long long *)(& x_6)); - printf_va_24("%llX",x_6); + scanf("%llo",(unsigned long long *)(& x_6)); /* scanf_va_21 */ + printf("%llo",x_6); /* printf_va_21 */ + scanf("%llu",(unsigned long long *)(& x_6)); /* scanf_va_22 */ + printf("%llu",x_6); /* printf_va_22 */ + scanf("%llx",(unsigned long long *)(& x_6)); /* scanf_va_23 */ + printf("%llx",x_6); /* printf_va_23 */ + scanf("%llx",(unsigned long long *)(& x_6)); /* scanf_va_24 */ + printf("%llX",x_6); /* printf_va_24 */ } { int_least8_t x_7; - scanf_va_25("%hhd",(signed char *)(& x_7)); - printf_va_25("%hhd",(int)x_7); - scanf_va_26("%hhi",(signed char *)(& x_7)); - printf_va_26("%hhi",(int)x_7); + scanf("%hhd",(signed char *)(& x_7)); /* scanf_va_25 */ + printf("%hhd",(int)x_7); /* printf_va_25 */ + scanf("%hhi",(signed char *)(& x_7)); /* scanf_va_26 */ + printf("%hhi",(int)x_7); /* printf_va_26 */ } { uint_least8_t x_8; - scanf_va_27("%hho",(unsigned char *)(& x_8)); - printf_va_27("%hho",(int)x_8); - scanf_va_28("%hhu",(unsigned char *)(& x_8)); - printf_va_28("%hhu",(int)x_8); - scanf_va_29("%hhx",(unsigned char *)(& x_8)); - printf_va_29("%hhx",(int)x_8); - scanf_va_30("%hhx",(unsigned char *)(& x_8)); - printf_va_30("%hhX",(int)x_8); + scanf("%hho",(unsigned char *)(& x_8)); /* scanf_va_27 */ + printf("%hho",(int)x_8); /* printf_va_27 */ + scanf("%hhu",(unsigned char *)(& x_8)); /* scanf_va_28 */ + printf("%hhu",(int)x_8); /* printf_va_28 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_29 */ + printf("%hhx",(int)x_8); /* printf_va_29 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_30 */ + printf("%hhX",(int)x_8); /* printf_va_30 */ } { int_least16_t x_9; - scanf_va_31("%hd",(short *)(& x_9)); - printf_va_31("%hd",(int)x_9); - scanf_va_32("%hi",(short *)(& x_9)); - printf_va_32("%hi",(int)x_9); + scanf("%hd",(short *)(& x_9)); /* scanf_va_31 */ + printf("%hd",(int)x_9); /* printf_va_31 */ + scanf("%hi",(short *)(& x_9)); /* scanf_va_32 */ + printf("%hi",(int)x_9); /* printf_va_32 */ } { uint_least16_t x_10; - scanf_va_33("%ho",(unsigned short *)(& x_10)); - printf_va_33("%ho",(int)x_10); - scanf_va_34("%hu",(unsigned short *)(& x_10)); - printf_va_34("%hu",(int)x_10); - scanf_va_35("%hx",(unsigned short *)(& x_10)); - printf_va_35("%hx",(int)x_10); - scanf_va_36("%hx",(unsigned short *)(& x_10)); - printf_va_36("%hX",(int)x_10); + scanf("%ho",(unsigned short *)(& x_10)); /* scanf_va_33 */ + printf("%ho",(int)x_10); /* printf_va_33 */ + scanf("%hu",(unsigned short *)(& x_10)); /* scanf_va_34 */ + printf("%hu",(int)x_10); /* printf_va_34 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_35 */ + printf("%hx",(int)x_10); /* printf_va_35 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_36 */ + printf("%hX",(int)x_10); /* printf_va_36 */ } { int_least32_t x_11; - scanf_va_37("%d",(int *)(& x_11)); - printf_va_37("%d",x_11); - scanf_va_38("%i",(int *)(& x_11)); - printf_va_38("%i",x_11); + scanf("%d",(int *)(& x_11)); /* scanf_va_37 */ + printf("%d",x_11); /* printf_va_37 */ + scanf("%i",(int *)(& x_11)); /* scanf_va_38 */ + printf("%i",x_11); /* printf_va_38 */ } { uint_least32_t x_12; - scanf_va_39("%o",(unsigned int *)(& x_12)); - printf_va_39("%o",x_12); - scanf_va_40("%u",(unsigned int *)(& x_12)); - printf_va_40("%u",x_12); - scanf_va_41("%x",(unsigned int *)(& x_12)); - printf_va_41("%x",x_12); - scanf_va_42("%x",(unsigned int *)(& x_12)); - printf_va_42("%X",x_12); + scanf("%o",(unsigned int *)(& x_12)); /* scanf_va_39 */ + printf("%o",x_12); /* printf_va_39 */ + scanf("%u",(unsigned int *)(& x_12)); /* scanf_va_40 */ + printf("%u",x_12); /* printf_va_40 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_41 */ + printf("%x",x_12); /* printf_va_41 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_42 */ + printf("%X",x_12); /* printf_va_42 */ } { int_least64_t x_13; - scanf_va_43("%lld",(long long *)(& x_13)); - printf_va_43("%lld",x_13); - scanf_va_44("%lli",(long long *)(& x_13)); - printf_va_44("%lli",x_13); + scanf("%lld",(long long *)(& x_13)); /* scanf_va_43 */ + printf("%lld",x_13); /* printf_va_43 */ + scanf("%lli",(long long *)(& x_13)); /* scanf_va_44 */ + printf("%lli",x_13); /* printf_va_44 */ } { uint_least64_t x_14; - scanf_va_45("%llo",(unsigned long long *)(& x_14)); - printf_va_45("%llo",x_14); - scanf_va_46("%llu",(unsigned long long *)(& x_14)); - printf_va_46("%llu",x_14); - scanf_va_47("%llx",(unsigned long long *)(& x_14)); - printf_va_47("%llx",x_14); - scanf_va_48("%llx",(unsigned long long *)(& x_14)); - printf_va_48("%llX",x_14); + scanf("%llo",(unsigned long long *)(& x_14)); /* scanf_va_45 */ + printf("%llo",x_14); /* printf_va_45 */ + scanf("%llu",(unsigned long long *)(& x_14)); /* scanf_va_46 */ + printf("%llu",x_14); /* printf_va_46 */ + scanf("%llx",(unsigned long long *)(& x_14)); /* scanf_va_47 */ + printf("%llx",x_14); /* printf_va_47 */ + scanf("%llx",(unsigned long long *)(& x_14)); /* scanf_va_48 */ + printf("%llX",x_14); /* printf_va_48 */ } { int_fast8_t x_15; - scanf_va_49("%hhd",(signed char *)(& x_15)); - printf_va_49("%hhd",(int)x_15); - scanf_va_50("%hhi",(signed char *)(& x_15)); - printf_va_50("%hhi",(int)x_15); + scanf("%hhd",(signed char *)(& x_15)); /* scanf_va_49 */ + printf("%hhd",(int)x_15); /* printf_va_49 */ + scanf("%hhi",(signed char *)(& x_15)); /* scanf_va_50 */ + printf("%hhi",(int)x_15); /* printf_va_50 */ } { uint_fast8_t x_16; - scanf_va_51("%hho",(unsigned char *)(& x_16)); - printf_va_51("%hho",(int)x_16); - scanf_va_52("%hhu",(unsigned char *)(& x_16)); - printf_va_52("%hhu",(int)x_16); - scanf_va_53("%hhx",(unsigned char *)(& x_16)); - printf_va_53("%hhx",(int)x_16); - scanf_va_54("%hhx",(unsigned char *)(& x_16)); - printf_va_54("%hhX",(int)x_16); + scanf("%hho",(unsigned char *)(& x_16)); /* scanf_va_51 */ + printf("%hho",(int)x_16); /* printf_va_51 */ + scanf("%hhu",(unsigned char *)(& x_16)); /* scanf_va_52 */ + printf("%hhu",(int)x_16); /* printf_va_52 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_53 */ + printf("%hhx",(int)x_16); /* printf_va_53 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_54 */ + printf("%hhX",(int)x_16); /* printf_va_54 */ } { int_fast16_t x_17; - scanf_va_55("%d",(int *)(& x_17)); - printf_va_55("%d",x_17); - scanf_va_56("%i",(int *)(& x_17)); - printf_va_56("%i",x_17); + scanf("%d",(int *)(& x_17)); /* scanf_va_55 */ + printf("%d",x_17); /* printf_va_55 */ + scanf("%i",(int *)(& x_17)); /* scanf_va_56 */ + printf("%i",x_17); /* printf_va_56 */ } { uint_fast16_t x_18; - scanf_va_57("%o",(unsigned int *)(& x_18)); - printf_va_57("%o",x_18); - scanf_va_58("%u",(unsigned int *)(& x_18)); - printf_va_58("%u",x_18); - scanf_va_59("%x",(unsigned int *)(& x_18)); - printf_va_59("%x",x_18); - scanf_va_60("%x",(unsigned int *)(& x_18)); - printf_va_60("%X",x_18); + scanf("%o",(unsigned int *)(& x_18)); /* scanf_va_57 */ + printf("%o",x_18); /* printf_va_57 */ + scanf("%u",(unsigned int *)(& x_18)); /* scanf_va_58 */ + printf("%u",x_18); /* printf_va_58 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_59 */ + printf("%x",x_18); /* printf_va_59 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_60 */ + printf("%X",x_18); /* printf_va_60 */ } { int_fast32_t x_19; - scanf_va_61("%d",(int *)(& x_19)); - printf_va_61("%d",x_19); - scanf_va_62("%i",(int *)(& x_19)); - printf_va_62("%i",x_19); + scanf("%d",(int *)(& x_19)); /* scanf_va_61 */ + printf("%d",x_19); /* printf_va_61 */ + scanf("%i",(int *)(& x_19)); /* scanf_va_62 */ + printf("%i",x_19); /* printf_va_62 */ } { uint_fast32_t x_20; - scanf_va_63("%o",(unsigned int *)(& x_20)); - printf_va_63("%o",x_20); - scanf_va_64("%u",(unsigned int *)(& x_20)); - printf_va_64("%u",x_20); - scanf_va_65("%x",(unsigned int *)(& x_20)); - printf_va_65("%x",x_20); - scanf_va_66("%x",(unsigned int *)(& x_20)); - printf_va_66("%X",x_20); + scanf("%o",(unsigned int *)(& x_20)); /* scanf_va_63 */ + printf("%o",x_20); /* printf_va_63 */ + scanf("%u",(unsigned int *)(& x_20)); /* scanf_va_64 */ + printf("%u",x_20); /* printf_va_64 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_65 */ + printf("%x",x_20); /* printf_va_65 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_66 */ + printf("%X",x_20); /* printf_va_66 */ } { int_fast64_t x_21; - scanf_va_67("%lld",(long long *)(& x_21)); - printf_va_67("%lld",x_21); - scanf_va_68("%lli",(long long *)(& x_21)); - printf_va_68("%lli",x_21); + scanf("%lld",(long long *)(& x_21)); /* scanf_va_67 */ + printf("%lld",x_21); /* printf_va_67 */ + scanf("%lli",(long long *)(& x_21)); /* scanf_va_68 */ + printf("%lli",x_21); /* printf_va_68 */ } { uint_fast64_t x_22; - scanf_va_69("%llo",(unsigned long long *)(& x_22)); - printf_va_69("%llo",x_22); - scanf_va_70("%llu",(unsigned long long *)(& x_22)); - printf_va_70("%llu",x_22); - scanf_va_71("%llx",(unsigned long long *)(& x_22)); - printf_va_71("%llx",x_22); - scanf_va_72("%llx",(unsigned long long *)(& x_22)); - printf_va_72("%llX",x_22); + scanf("%llo",(unsigned long long *)(& x_22)); /* scanf_va_69 */ + printf("%llo",x_22); /* printf_va_69 */ + scanf("%llu",(unsigned long long *)(& x_22)); /* scanf_va_70 */ + printf("%llu",x_22); /* printf_va_70 */ + scanf("%llx",(unsigned long long *)(& x_22)); /* scanf_va_71 */ + printf("%llx",x_22); /* printf_va_71 */ + scanf("%llx",(unsigned long long *)(& x_22)); /* scanf_va_72 */ + printf("%llX",x_22); /* printf_va_72 */ } { intmax_t x_23; - scanf_va_73("%lld",(long long *)(& x_23)); - printf_va_73("%lld",x_23); - scanf_va_74("%lli",(long long *)(& x_23)); - printf_va_74("%lli",x_23); + scanf("%lld",(long long *)(& x_23)); /* scanf_va_73 */ + printf("%lld",x_23); /* printf_va_73 */ + scanf("%lli",(long long *)(& x_23)); /* scanf_va_74 */ + printf("%lli",x_23); /* printf_va_74 */ } { uintmax_t x_24; - scanf_va_75("%llo",(unsigned long long *)(& x_24)); - printf_va_75("%llo",x_24); - scanf_va_76("%llu",(unsigned long long *)(& x_24)); - printf_va_76("%llu",x_24); - scanf_va_77("%llx",(unsigned long long *)(& x_24)); - printf_va_77("%llx",x_24); - scanf_va_78("%llx",(unsigned long long *)(& x_24)); - printf_va_78("%llX",x_24); + scanf("%llo",(unsigned long long *)(& x_24)); /* scanf_va_75 */ + printf("%llo",x_24); /* printf_va_75 */ + scanf("%llu",(unsigned long long *)(& x_24)); /* scanf_va_76 */ + printf("%llu",x_24); /* printf_va_76 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_77 */ + printf("%llx",x_24); /* printf_va_77 */ + scanf("%llx",(unsigned long long *)(& x_24)); /* scanf_va_78 */ + printf("%llX",x_24); /* printf_va_78 */ } { intptr_t x_25; - scanf_va_79("%d",(int *)(& x_25)); - printf_va_79("%d",x_25); - scanf_va_80("%i",(int *)(& x_25)); - printf_va_80("%i",x_25); + scanf("%d",(int *)(& x_25)); /* scanf_va_79 */ + printf("%d",x_25); /* printf_va_79 */ + scanf("%i",(int *)(& x_25)); /* scanf_va_80 */ + printf("%i",x_25); /* printf_va_80 */ } { uintptr_t x_26; - scanf_va_81("%o",(unsigned int *)(& x_26)); - printf_va_81("%o",x_26); - scanf_va_82("%u",(unsigned int *)(& x_26)); - printf_va_82("%u",x_26); - scanf_va_83("%x",(unsigned int *)(& x_26)); - printf_va_83("%x",x_26); - scanf_va_84("%x",(unsigned int *)(& x_26)); - printf_va_84("%X",x_26); + scanf("%o",(unsigned int *)(& x_26)); /* scanf_va_81 */ + printf("%o",x_26); /* printf_va_81 */ + scanf("%u",(unsigned int *)(& x_26)); /* scanf_va_82 */ + printf("%u",x_26); /* printf_va_82 */ + scanf("%x",(unsigned int *)(& x_26)); /* scanf_va_83 */ + printf("%x",x_26); /* printf_va_83 */ + scanf("%x",(unsigned int *)(& x_26)); /* scanf_va_84 */ + printf("%X",x_26); /* printf_va_84 */ } __retres = 0; return __retres; diff --git a/tests/libc/oracle/inttypes_h.7.res.oracle b/tests/libc/oracle/inttypes_h.7.res.oracle index 3d0465864946bd5875dd922dbf133c2359f4c33a..9dfd0ff2a95812c13da5604d8372e79fd9a2882b 100644 --- a/tests/libc/oracle/inttypes_h.7.res.oracle +++ b/tests/libc/oracle/inttypes_h.7.res.oracle @@ -2531,255 +2531,255 @@ int main(void) int __retres; { int8_t x; - scanf_va_1("%hhd",(signed char *)(& x)); - printf_va_1("%hhd",(int)x); - scanf_va_2("%hhi",(signed char *)(& x)); - printf_va_2("%hhi",(int)x); + scanf("%hhd",(signed char *)(& x)); /* scanf_va_1 */ + printf("%hhd",(int)x); /* printf_va_1 */ + scanf("%hhi",(signed char *)(& x)); /* scanf_va_2 */ + printf("%hhi",(int)x); /* printf_va_2 */ } { uint8_t x_0; - scanf_va_3("%hho",(unsigned char *)(& x_0)); - printf_va_3("%hho",(int)x_0); - scanf_va_4("%hhu",(unsigned char *)(& x_0)); - printf_va_4("%hhu",(int)x_0); - scanf_va_5("%hhx",(unsigned char *)(& x_0)); - printf_va_5("%hhx",(int)x_0); - scanf_va_6("%hhx",(unsigned char *)(& x_0)); - printf_va_6("%hhX",(int)x_0); + scanf("%hho",(unsigned char *)(& x_0)); /* scanf_va_3 */ + printf("%hho",(int)x_0); /* printf_va_3 */ + scanf("%hhu",(unsigned char *)(& x_0)); /* scanf_va_4 */ + printf("%hhu",(int)x_0); /* printf_va_4 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_5 */ + printf("%hhx",(int)x_0); /* printf_va_5 */ + scanf("%hhx",(unsigned char *)(& x_0)); /* scanf_va_6 */ + printf("%hhX",(int)x_0); /* printf_va_6 */ } { int16_t x_1; - scanf_va_7("%hd",(short *)(& x_1)); - printf_va_7("%hd",(int)x_1); - scanf_va_8("%hi",(short *)(& x_1)); - printf_va_8("%hi",(int)x_1); + scanf("%hd",(short *)(& x_1)); /* scanf_va_7 */ + printf("%hd",(int)x_1); /* printf_va_7 */ + scanf("%hi",(short *)(& x_1)); /* scanf_va_8 */ + printf("%hi",(int)x_1); /* printf_va_8 */ } { uint16_t x_2; - scanf_va_9("%ho",(unsigned short *)(& x_2)); - printf_va_9("%ho",(int)x_2); - scanf_va_10("%hu",(unsigned short *)(& x_2)); - printf_va_10("%hu",(int)x_2); - scanf_va_11("%hx",(unsigned short *)(& x_2)); - printf_va_11("%hx",(int)x_2); - scanf_va_12("%hx",(unsigned short *)(& x_2)); - printf_va_12("%hX",(int)x_2); + scanf("%ho",(unsigned short *)(& x_2)); /* scanf_va_9 */ + printf("%ho",(int)x_2); /* printf_va_9 */ + scanf("%hu",(unsigned short *)(& x_2)); /* scanf_va_10 */ + printf("%hu",(int)x_2); /* printf_va_10 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_11 */ + printf("%hx",(int)x_2); /* printf_va_11 */ + scanf("%hx",(unsigned short *)(& x_2)); /* scanf_va_12 */ + printf("%hX",(int)x_2); /* printf_va_12 */ } { int32_t x_3; - scanf_va_13("%d",(int *)(& x_3)); - printf_va_13("%d",x_3); - scanf_va_14("%i",(int *)(& x_3)); - printf_va_14("%i",x_3); + scanf("%d",(int *)(& x_3)); /* scanf_va_13 */ + printf("%d",x_3); /* printf_va_13 */ + scanf("%i",(int *)(& x_3)); /* scanf_va_14 */ + printf("%i",x_3); /* printf_va_14 */ } { uint32_t x_4; - scanf_va_15("%o",(unsigned int *)(& x_4)); - printf_va_15("%o",x_4); - scanf_va_16("%u",(unsigned int *)(& x_4)); - printf_va_16("%u",x_4); - scanf_va_17("%x",(unsigned int *)(& x_4)); - printf_va_17("%x",x_4); - scanf_va_18("%x",(unsigned int *)(& x_4)); - printf_va_18("%X",x_4); + scanf("%o",(unsigned int *)(& x_4)); /* scanf_va_15 */ + printf("%o",x_4); /* printf_va_15 */ + scanf("%u",(unsigned int *)(& x_4)); /* scanf_va_16 */ + printf("%u",x_4); /* printf_va_16 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_17 */ + printf("%x",x_4); /* printf_va_17 */ + scanf("%x",(unsigned int *)(& x_4)); /* scanf_va_18 */ + printf("%X",x_4); /* printf_va_18 */ } { int64_t x_5; - scanf_va_19("%lld",(__int64 *)(& x_5)); - printf_va_19("%lld",x_5); - scanf_va_20("%lli",(__int64 *)(& x_5)); - printf_va_20("%lli",x_5); + scanf("%lld",(__int64 *)(& x_5)); /* scanf_va_19 */ + printf("%lld",x_5); /* printf_va_19 */ + scanf("%lli",(__int64 *)(& x_5)); /* scanf_va_20 */ + printf("%lli",x_5); /* printf_va_20 */ } { uint64_t x_6; - scanf_va_21("%llo",(unsigned __int64 *)(& x_6)); - printf_va_21("%llo",x_6); - scanf_va_22("%llu",(unsigned __int64 *)(& x_6)); - printf_va_22("%llu",x_6); - scanf_va_23("%llx",(unsigned __int64 *)(& x_6)); - printf_va_23("%llx",x_6); - scanf_va_24("%llx",(unsigned __int64 *)(& x_6)); - printf_va_24("%llX",x_6); + scanf("%llo",(unsigned __int64 *)(& x_6)); /* scanf_va_21 */ + printf("%llo",x_6); /* printf_va_21 */ + scanf("%llu",(unsigned __int64 *)(& x_6)); /* scanf_va_22 */ + printf("%llu",x_6); /* printf_va_22 */ + scanf("%llx",(unsigned __int64 *)(& x_6)); /* scanf_va_23 */ + printf("%llx",x_6); /* printf_va_23 */ + scanf("%llx",(unsigned __int64 *)(& x_6)); /* scanf_va_24 */ + printf("%llX",x_6); /* printf_va_24 */ } { int_least8_t x_7; - scanf_va_25("%hhd",(signed char *)(& x_7)); - printf_va_25("%hhd",(int)x_7); - scanf_va_26("%hhi",(signed char *)(& x_7)); - printf_va_26("%hhi",(int)x_7); + scanf("%hhd",(signed char *)(& x_7)); /* scanf_va_25 */ + printf("%hhd",(int)x_7); /* printf_va_25 */ + scanf("%hhi",(signed char *)(& x_7)); /* scanf_va_26 */ + printf("%hhi",(int)x_7); /* printf_va_26 */ } { uint_least8_t x_8; - scanf_va_27("%hho",(unsigned char *)(& x_8)); - printf_va_27("%hho",(int)x_8); - scanf_va_28("%hhu",(unsigned char *)(& x_8)); - printf_va_28("%hhu",(int)x_8); - scanf_va_29("%hhx",(unsigned char *)(& x_8)); - printf_va_29("%hhx",(int)x_8); - scanf_va_30("%hhx",(unsigned char *)(& x_8)); - printf_va_30("%hhX",(int)x_8); + scanf("%hho",(unsigned char *)(& x_8)); /* scanf_va_27 */ + printf("%hho",(int)x_8); /* printf_va_27 */ + scanf("%hhu",(unsigned char *)(& x_8)); /* scanf_va_28 */ + printf("%hhu",(int)x_8); /* printf_va_28 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_29 */ + printf("%hhx",(int)x_8); /* printf_va_29 */ + scanf("%hhx",(unsigned char *)(& x_8)); /* scanf_va_30 */ + printf("%hhX",(int)x_8); /* printf_va_30 */ } { int_least16_t x_9; - scanf_va_31("%hd",(short *)(& x_9)); - printf_va_31("%hd",(int)x_9); - scanf_va_32("%hi",(short *)(& x_9)); - printf_va_32("%hi",(int)x_9); + scanf("%hd",(short *)(& x_9)); /* scanf_va_31 */ + printf("%hd",(int)x_9); /* printf_va_31 */ + scanf("%hi",(short *)(& x_9)); /* scanf_va_32 */ + printf("%hi",(int)x_9); /* printf_va_32 */ } { uint_least16_t x_10; - scanf_va_33("%ho",(unsigned short *)(& x_10)); - printf_va_33("%ho",(int)x_10); - scanf_va_34("%hu",(unsigned short *)(& x_10)); - printf_va_34("%hu",(int)x_10); - scanf_va_35("%hx",(unsigned short *)(& x_10)); - printf_va_35("%hx",(int)x_10); - scanf_va_36("%hx",(unsigned short *)(& x_10)); - printf_va_36("%hX",(int)x_10); + scanf("%ho",(unsigned short *)(& x_10)); /* scanf_va_33 */ + printf("%ho",(int)x_10); /* printf_va_33 */ + scanf("%hu",(unsigned short *)(& x_10)); /* scanf_va_34 */ + printf("%hu",(int)x_10); /* printf_va_34 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_35 */ + printf("%hx",(int)x_10); /* printf_va_35 */ + scanf("%hx",(unsigned short *)(& x_10)); /* scanf_va_36 */ + printf("%hX",(int)x_10); /* printf_va_36 */ } { int_least32_t x_11; - scanf_va_37("%d",(int *)(& x_11)); - printf_va_37("%d",x_11); - scanf_va_38("%i",(int *)(& x_11)); - printf_va_38("%i",x_11); + scanf("%d",(int *)(& x_11)); /* scanf_va_37 */ + printf("%d",x_11); /* printf_va_37 */ + scanf("%i",(int *)(& x_11)); /* scanf_va_38 */ + printf("%i",x_11); /* printf_va_38 */ } { uint_least32_t x_12; - scanf_va_39("%o",(unsigned int *)(& x_12)); - printf_va_39("%o",x_12); - scanf_va_40("%u",(unsigned int *)(& x_12)); - printf_va_40("%u",x_12); - scanf_va_41("%x",(unsigned int *)(& x_12)); - printf_va_41("%x",x_12); - scanf_va_42("%x",(unsigned int *)(& x_12)); - printf_va_42("%X",x_12); + scanf("%o",(unsigned int *)(& x_12)); /* scanf_va_39 */ + printf("%o",x_12); /* printf_va_39 */ + scanf("%u",(unsigned int *)(& x_12)); /* scanf_va_40 */ + printf("%u",x_12); /* printf_va_40 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_41 */ + printf("%x",x_12); /* printf_va_41 */ + scanf("%x",(unsigned int *)(& x_12)); /* scanf_va_42 */ + printf("%X",x_12); /* printf_va_42 */ } { int_least64_t x_13; - scanf_va_43("%lld",(__int64 *)(& x_13)); - printf_va_43("%lld",x_13); - scanf_va_44("%lli",(__int64 *)(& x_13)); - printf_va_44("%lli",x_13); + scanf("%lld",(__int64 *)(& x_13)); /* scanf_va_43 */ + printf("%lld",x_13); /* printf_va_43 */ + scanf("%lli",(__int64 *)(& x_13)); /* scanf_va_44 */ + printf("%lli",x_13); /* printf_va_44 */ } { uint_least64_t x_14; - scanf_va_45("%llo",(unsigned __int64 *)(& x_14)); - printf_va_45("%llo",x_14); - scanf_va_46("%llu",(unsigned __int64 *)(& x_14)); - printf_va_46("%llu",x_14); - scanf_va_47("%llx",(unsigned __int64 *)(& x_14)); - printf_va_47("%llx",x_14); - scanf_va_48("%llx",(unsigned __int64 *)(& x_14)); - printf_va_48("%llX",x_14); + scanf("%llo",(unsigned __int64 *)(& x_14)); /* scanf_va_45 */ + printf("%llo",x_14); /* printf_va_45 */ + scanf("%llu",(unsigned __int64 *)(& x_14)); /* scanf_va_46 */ + printf("%llu",x_14); /* printf_va_46 */ + scanf("%llx",(unsigned __int64 *)(& x_14)); /* scanf_va_47 */ + printf("%llx",x_14); /* printf_va_47 */ + scanf("%llx",(unsigned __int64 *)(& x_14)); /* scanf_va_48 */ + printf("%llX",x_14); /* printf_va_48 */ } { int_fast8_t x_15; - scanf_va_49("%hhd",(signed char *)(& x_15)); - printf_va_49("%hhd",(int)x_15); - scanf_va_50("%hhi",(signed char *)(& x_15)); - printf_va_50("%hhi",(int)x_15); + scanf("%hhd",(signed char *)(& x_15)); /* scanf_va_49 */ + printf("%hhd",(int)x_15); /* printf_va_49 */ + scanf("%hhi",(signed char *)(& x_15)); /* scanf_va_50 */ + printf("%hhi",(int)x_15); /* printf_va_50 */ } { uint_fast8_t x_16; - scanf_va_51("%hho",(unsigned char *)(& x_16)); - printf_va_51("%hho",(int)x_16); - scanf_va_52("%hhu",(unsigned char *)(& x_16)); - printf_va_52("%hhu",(int)x_16); - scanf_va_53("%hhx",(unsigned char *)(& x_16)); - printf_va_53("%hhx",(int)x_16); - scanf_va_54("%hhx",(unsigned char *)(& x_16)); - printf_va_54("%hhX",(int)x_16); + scanf("%hho",(unsigned char *)(& x_16)); /* scanf_va_51 */ + printf("%hho",(int)x_16); /* printf_va_51 */ + scanf("%hhu",(unsigned char *)(& x_16)); /* scanf_va_52 */ + printf("%hhu",(int)x_16); /* printf_va_52 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_53 */ + printf("%hhx",(int)x_16); /* printf_va_53 */ + scanf("%hhx",(unsigned char *)(& x_16)); /* scanf_va_54 */ + printf("%hhX",(int)x_16); /* printf_va_54 */ } { int_fast16_t x_17; - scanf_va_55("%d",(int *)(& x_17)); - printf_va_55("%d",x_17); - scanf_va_56("%i",(int *)(& x_17)); - printf_va_56("%i",x_17); + scanf("%d",(int *)(& x_17)); /* scanf_va_55 */ + printf("%d",x_17); /* printf_va_55 */ + scanf("%i",(int *)(& x_17)); /* scanf_va_56 */ + printf("%i",x_17); /* printf_va_56 */ } { uint_fast16_t x_18; - scanf_va_57("%o",(unsigned int *)(& x_18)); - printf_va_57("%o",x_18); - scanf_va_58("%u",(unsigned int *)(& x_18)); - printf_va_58("%u",x_18); - scanf_va_59("%x",(unsigned int *)(& x_18)); - printf_va_59("%x",x_18); - scanf_va_60("%x",(unsigned int *)(& x_18)); - printf_va_60("%X",x_18); + scanf("%o",(unsigned int *)(& x_18)); /* scanf_va_57 */ + printf("%o",x_18); /* printf_va_57 */ + scanf("%u",(unsigned int *)(& x_18)); /* scanf_va_58 */ + printf("%u",x_18); /* printf_va_58 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_59 */ + printf("%x",x_18); /* printf_va_59 */ + scanf("%x",(unsigned int *)(& x_18)); /* scanf_va_60 */ + printf("%X",x_18); /* printf_va_60 */ } { int_fast32_t x_19; - scanf_va_61("%d",(int *)(& x_19)); - printf_va_61("%d",x_19); - scanf_va_62("%i",(int *)(& x_19)); - printf_va_62("%i",x_19); + scanf("%d",(int *)(& x_19)); /* scanf_va_61 */ + printf("%d",x_19); /* printf_va_61 */ + scanf("%i",(int *)(& x_19)); /* scanf_va_62 */ + printf("%i",x_19); /* printf_va_62 */ } { uint_fast32_t x_20; - scanf_va_63("%o",(unsigned int *)(& x_20)); - printf_va_63("%o",x_20); - scanf_va_64("%u",(unsigned int *)(& x_20)); - printf_va_64("%u",x_20); - scanf_va_65("%x",(unsigned int *)(& x_20)); - printf_va_65("%x",x_20); - scanf_va_66("%x",(unsigned int *)(& x_20)); - printf_va_66("%X",x_20); + scanf("%o",(unsigned int *)(& x_20)); /* scanf_va_63 */ + printf("%o",x_20); /* printf_va_63 */ + scanf("%u",(unsigned int *)(& x_20)); /* scanf_va_64 */ + printf("%u",x_20); /* printf_va_64 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_65 */ + printf("%x",x_20); /* printf_va_65 */ + scanf("%x",(unsigned int *)(& x_20)); /* scanf_va_66 */ + printf("%X",x_20); /* printf_va_66 */ } { int_fast64_t x_21; - scanf_va_67("%lld",(__int64 *)(& x_21)); - printf_va_67("%lld",x_21); - scanf_va_68("%lli",(__int64 *)(& x_21)); - printf_va_68("%lli",x_21); + scanf("%lld",(__int64 *)(& x_21)); /* scanf_va_67 */ + printf("%lld",x_21); /* printf_va_67 */ + scanf("%lli",(__int64 *)(& x_21)); /* scanf_va_68 */ + printf("%lli",x_21); /* printf_va_68 */ } { uint_fast64_t x_22; - scanf_va_69("%llo",(unsigned __int64 *)(& x_22)); - printf_va_69("%llo",x_22); - scanf_va_70("%llu",(unsigned __int64 *)(& x_22)); - printf_va_70("%llu",x_22); - scanf_va_71("%llx",(unsigned __int64 *)(& x_22)); - printf_va_71("%llx",x_22); - scanf_va_72("%llx",(unsigned __int64 *)(& x_22)); - printf_va_72("%llX",x_22); + scanf("%llo",(unsigned __int64 *)(& x_22)); /* scanf_va_69 */ + printf("%llo",x_22); /* printf_va_69 */ + scanf("%llu",(unsigned __int64 *)(& x_22)); /* scanf_va_70 */ + printf("%llu",x_22); /* printf_va_70 */ + scanf("%llx",(unsigned __int64 *)(& x_22)); /* scanf_va_71 */ + printf("%llx",x_22); /* printf_va_71 */ + scanf("%llx",(unsigned __int64 *)(& x_22)); /* scanf_va_72 */ + printf("%llX",x_22); /* printf_va_72 */ } { intmax_t x_23; - scanf_va_73("%lld",(__int64 *)(& x_23)); - printf_va_73("%lld",x_23); - scanf_va_74("%lli",(__int64 *)(& x_23)); - printf_va_74("%lli",x_23); + scanf("%lld",(__int64 *)(& x_23)); /* scanf_va_73 */ + printf("%lld",x_23); /* printf_va_73 */ + scanf("%lli",(__int64 *)(& x_23)); /* scanf_va_74 */ + printf("%lli",x_23); /* printf_va_74 */ } { uintmax_t x_24; - scanf_va_75("%llo",(unsigned __int64 *)(& x_24)); - printf_va_75("%llo",x_24); - scanf_va_76("%llu",(unsigned __int64 *)(& x_24)); - printf_va_76("%llu",x_24); - scanf_va_77("%llx",(unsigned __int64 *)(& x_24)); - printf_va_77("%llx",x_24); - scanf_va_78("%llx",(unsigned __int64 *)(& x_24)); - printf_va_78("%llX",x_24); + scanf("%llo",(unsigned __int64 *)(& x_24)); /* scanf_va_75 */ + printf("%llo",x_24); /* printf_va_75 */ + scanf("%llu",(unsigned __int64 *)(& x_24)); /* scanf_va_76 */ + printf("%llu",x_24); /* printf_va_76 */ + scanf("%llx",(unsigned __int64 *)(& x_24)); /* scanf_va_77 */ + printf("%llx",x_24); /* printf_va_77 */ + scanf("%llx",(unsigned __int64 *)(& x_24)); /* scanf_va_78 */ + printf("%llX",x_24); /* printf_va_78 */ } { intptr_t x_25; - scanf_va_79("%lld",(__int64 *)(& x_25)); - printf_va_79("%lld",x_25); - scanf_va_80("%lli",(__int64 *)(& x_25)); - printf_va_80("%lli",x_25); + scanf("%lld",(__int64 *)(& x_25)); /* scanf_va_79 */ + printf("%lld",x_25); /* printf_va_79 */ + scanf("%lli",(__int64 *)(& x_25)); /* scanf_va_80 */ + printf("%lli",x_25); /* printf_va_80 */ } { uintptr_t x_26; - scanf_va_81("%llo",(unsigned __int64 *)(& x_26)); - printf_va_81("%llo",x_26); - scanf_va_82("%llu",(unsigned __int64 *)(& x_26)); - printf_va_82("%llu",x_26); - scanf_va_83("%llx",(unsigned __int64 *)(& x_26)); - printf_va_83("%llx",x_26); - scanf_va_84("%llx",(unsigned __int64 *)(& x_26)); - printf_va_84("%llX",x_26); + scanf("%llo",(unsigned __int64 *)(& x_26)); /* scanf_va_81 */ + printf("%llo",x_26); /* printf_va_81 */ + scanf("%llu",(unsigned __int64 *)(& x_26)); /* scanf_va_82 */ + printf("%llu",x_26); /* printf_va_82 */ + scanf("%llx",(unsigned __int64 *)(& x_26)); /* scanf_va_83 */ + printf("%llx",x_26); /* printf_va_83 */ + scanf("%llx",(unsigned __int64 *)(& x_26)); /* scanf_va_84 */ + printf("%llX",x_26); /* printf_va_84 */ } __retres = 0; return __retres;