diff --git a/Makefile b/Makefile index 904a52395326f043296e6235f3433ca62c96da0b..40e7ba2de37519e1f8878a0a4aaf1a44a40c0e4b 100644 --- a/Makefile +++ b/Makefile @@ -313,6 +313,7 @@ DISTRIB_FILES:=\ $(wildcard src/kernel_internals/typing/*.ml*) \ $(wildcard src/kernel_services/ast_data/*.ml*) \ $(wildcard src/kernel_services/ast_queries/*.ml*) \ + $(wildcard src/kernel_services/ast_building/*.ml*) \ $(wildcard src/kernel_services/ast_printing/*.ml*) \ $(wildcard src/kernel_services/cmdline_parameters/*.ml*) \ $(wildcard src/kernel_services/analysis/*.ml*) \ @@ -622,7 +623,8 @@ KERNEL_CMO=\ src/kernel_internals/runtime/dump_config.cmo \ src/kernel_services/ast_transformations/contract_special_float.cmo \ src/kernel_internals/runtime/special_hooks.cmo \ - src/kernel_internals/runtime/messages.cmo + src/kernel_internals/runtime/messages.cmo \ + src/kernel_services/ast_building/cil_builder.cmo \ CMO += $(KERNEL_CMO) diff --git a/headers/header_spec.txt b/headers/header_spec.txt index 1b31299d8c2ad05fe41c32e4e1ec5b49bb003981..8d04294f438d5f367ae16f8bf87f2a5784f219f0 100644 --- a/headers/header_spec.txt +++ b/headers/header_spec.txt @@ -513,6 +513,8 @@ src/kernel_services/analysis/undefined_sequence.ml: CEA_LGPL src/kernel_services/analysis/undefined_sequence.mli: CEA_LGPL src/kernel_services/analysis/wto_statement.ml: CEA_LGPL src/kernel_services/analysis/wto_statement.mli: CEA_LGPL +src/kernel_services/ast_building/cil_builder.ml: CEA_LGPL +src/kernel_services/ast_building/cil_builder.mli: CEA_LGPL src/kernel_services/ast_data/README.md: .ignore src/kernel_services/ast_data/alarms.ml: CEA_LGPL src/kernel_services/ast_data/alarms.mli: CEA_LGPL @@ -1488,7 +1490,6 @@ 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 src/plugins/variadic/va_types.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/wp/.gitignore: .ignore src/plugins/wp/.ocp-indent: .ignore diff --git a/share/Makefile.common b/share/Makefile.common index fb4f37394e1c4ed99053d34d30e4ceb46df88c10..a74d9e018654b99f4610a31c310a77b9e4e0ebce 100644 --- a/share/Makefile.common +++ b/share/Makefile.common @@ -43,6 +43,7 @@ FRAMAC_SRC_DIRS= plugins/pdg_types plugins/value_types \ kernel_services/ast_data \ kernel_services/ast_queries \ kernel_services/ast_printing \ + kernel_services/ast_building \ kernel_services/cmdline_parameters \ kernel_services/plugin_entry_points \ kernel_services/abstract_interp \ diff --git a/src/kernel_services/ast_building/cil_builder.ml b/src/kernel_services/ast_building/cil_builder.ml new file mode 100644 index 0000000000000000000000000000000000000000..a01c5184db4fab9e995d6ddcd2624f9695a54962 --- /dev/null +++ b/src/kernel_services/ast_building/cil_builder.ml @@ -0,0 +1,1251 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2021 *) +(* 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). *) +(* *) +(**************************************************************************) + +let unknown_loc = Cil_datatype.Location.unknown + + +(* --- Types --- *) + +module Type = +struct + exception NotACType + + type ('value,'shape) morphology = + | Single : ('value,'value) morphology + | Listed : ('value,'shape) typ -> ('value,'shape list) morphology + + and ('value,'shape) typ = ('value,'shape) morphology * Cil_types.logic_type + + open Cil_types + + (* Logic types *) + + let of_ltyp t = Single, t + let integer = Single, Linteger + let real = Single, Lreal + + (* C base types *) + + let of_ctyp t = Single, Ctype t + let void = Single, Ctype (TVoid []) + let bool = Single, Ctype (TInt (IBool, [])) + let char = Single, Ctype (TInt (IChar, [])) + let schar = Single, Ctype (TInt (ISChar, [])) + let uchar = Single, Ctype (TInt (IUChar, [])) + let int = Single, Ctype (TInt (IInt, [])) + let unit = Single, Ctype (TInt (IUInt, [])) + let short = Single, Ctype (TInt (IShort, [])) + let ushort = Single, Ctype (TInt (IUShort, [])) + let long = Single, Ctype (TInt (ILong, [])) + let ulong = Single, Ctype (TInt (IULong, [])) + let longlong = Single, Ctype (TInt (ILongLong, [])) + let ulonglong = Single, Ctype (TInt (IULongLong, [])) + let float = Single, Ctype (TFloat (FFloat, [])) + let double = Single, Ctype (TFloat (FDouble, [])) + let longdouble = Single, Ctype (TFloat (FLongDouble, [])) + + let ptr = function + | _, Ctype t -> Single, Ctype (TPtr (t, [])) + | _, _ -> raise NotACType + + let array ?size = function + | (_,Ctype t) as typ -> + let to_exp = Cil.integer ~loc:unknown_loc in + let size = Option.map to_exp size in + Listed typ, + Ctype (TArray (t, size, Cil.empty_size_cache (), [])) + | _, _ -> raise NotACType + + + (* Attrbutes *) + + let attribute (s,t) name params = + let add_to = Cil.addAttribute (Attr (name, params)) in + let t = match t with + | Ctype t -> t + | _ -> raise NotACType + in + let t = match t with + | TVoid l -> TVoid (add_to l) + | TInt (kind, l) -> TInt (kind, add_to l) + | TFloat (kind, l) -> TFloat (kind, add_to l) + | TPtr (typ, l) -> TPtr (typ, add_to l) + | TArray (typ, size, cache, l) -> TArray (typ, size, cache, add_to l) + | TFun (typ, args, variadic, l) -> TFun (typ, args, variadic, add_to l) + | TNamed (typeinfo, l) -> TNamed (typeinfo, add_to l) + | TComp (compinfo, cache, l) -> TComp (compinfo, cache, add_to l) + | TEnum (enuminfo, l) -> TEnum (enuminfo, add_to l) + | TBuiltin_va_list l -> TBuiltin_va_list (add_to l) + in + (s,Ctype t) + + let const typ = attribute typ "const" [] + let stdlib_generated typ = attribute typ "fc_stdlib_generated" [] + + + (* Conversion *) + + let cil_typ = function + | _, Ctype ty -> ty + | _, _ -> raise NotACType + + let cil_logic_type (_,t) = t +end + + +(* --- C & Logic expressions builder --- *) + +module Exp = +struct + include Type + + (* + This module exports polymorphic variant to simulate subtyping. + It uses regular variant internally though, instead of using only the + polymorphic variant, as + 1. it simplifies greatly the .mli since most of the types don't have + to be exposed ; it also greatly simplifies mistyping errors for the user + 2. recursive polymorphic variants do not allow inclusion of one into another + 3. it is much easier to type the program with regular variants + *) + + type label = Cil_types.logic_label + + type const' = + | Int of int + | Integer of Integer.t + | CilConstant of Cil_types.constant + and var' = + Cil_types.varinfo + and lval' = + | CilLval of Cil_types.lval + | Var of var' + | Result + | Mem of exp' + | Index of lval' * exp' + | Field of lval' * Cil_types.fieldinfo + | FieldNamed of lval' * string + and exp' = + | CilExp of Cil_types.exp + | CilExpCopy of Cil_types.exp + | CilTerm of Cil_types.term + | Lval of lval' + | Const of const' + | Range of exp' option * exp' option + | Unop of Cil_types.unop * exp' + | Binop of Cil_types.binop * exp' * exp' + | Cast of Cil_types.logic_type * exp' + | Addr of lval' + | App of Cil_types.logic_info * label list * exp' list + | Pred of pred' + and pred' = + | ObjectPointer of label * exp' + | Valid of label * exp' + | ValidRead of label * exp' + | Initialized of label * exp' + | Dangling of label * exp' + | Allocable of label * exp' + | Freeable of label * exp' + | Fresh of label * label * exp' * exp' + and init' = + | CilInit of Cil_types.init + | SingleInit of exp' + | CompoundInit of Cil_types.typ * init' list + + type const = [ `const of const' ] + type var = [ `var of var' ] + type lval = [ var | `lval of lval' ] + type exp = [ const | lval | `exp of exp' ] + type init = [ exp | `init of init'] + + (* Pretty printing *) + + let rec pretty_const fmt = function + | Int i -> Format.pp_print_int fmt i + | Integer i -> Integer.pretty fmt i + | CilConstant c -> Printer.pp_constant fmt c + and pretty_var fmt v = + Printer.pp_varinfo fmt v + and pretty_lval fmt = function + | CilLval lv -> Printer.pp_lval fmt lv + | Var v -> pretty_var fmt v + | Result -> Format.fprintf fmt "%s" "\result" + | Mem e -> Format.fprintf fmt "*(%a)" pretty_exp e + | Index (lv,e) -> Format.fprintf fmt "%a[%a]" pretty_lval lv pretty_exp e + | Field (lv,fi) -> + Format.fprintf fmt "%a.%s" pretty_lval lv fi.Cil_types.fname + | FieldNamed (lv,s) -> Format.fprintf fmt "%a.%s" pretty_lval lv s + and pretty_exp fmt = function + | CilExp e -> Printer.pp_exp fmt e + | CilExpCopy e -> Printer.pp_exp fmt e + | CilTerm t -> Printer.pp_term fmt t + | Lval lv -> pretty_lval fmt lv + | Const c -> pretty_const fmt c + | Range (o1,o2) -> + Format.fprintf fmt "(%a .. %a)" pretty_exp_opt o1 pretty_exp_opt o2 + | Unop (op,e) -> Format.fprintf fmt "%a%a" Printer.pp_unop op pretty_exp e + | Binop (op,e1,e2) -> + Format.fprintf fmt "(%a %a %a)" + pretty_exp e1 + Printer.pp_binop op + pretty_exp e2 + | Cast (lty, e) -> + Format.fprintf fmt "(%a)%a" Printer.pp_logic_type lty pretty_exp e + | Addr lv -> Format.fprintf fmt "&%a" pretty_lval lv + | App (li,labels,args) -> pretty_app fmt (li.l_var_info.lv_name,labels,args) + | Pred pred -> + pretty_pred fmt pred + and pretty_exp_opt fmt o = + Option.iter (pretty_exp fmt) o + and pretty_app fmt (name,labels,args) = + Format.fprintf fmt "%s{%a}(%a)" + name + (Pretty_utils.pp_list ~sep:",@ " Printer.pp_logic_label) labels + (Pretty_utils.pp_list ~sep:",@ " pretty_exp) args + and pretty_pred fmt = function + | ObjectPointer (l,e) -> pretty_app fmt ("object_pointer",[l],[e]) + | Valid (l,e) -> pretty_app fmt ("valid",[l],[e]) + | ValidRead (l,e) -> pretty_app fmt ("valid_read",[l],[e]) + | Initialized (l,e) -> pretty_app fmt ("initialized",[l],[e]) + | Dangling (l,e) -> pretty_app fmt ("dangling",[l],[e]) + | Allocable (l,e) -> pretty_app fmt ("allocable",[l],[e]) + | Freeable (l,e) -> pretty_app fmt ("freeable",[l],[e]) + | Fresh (l1,l2,e1,e2) -> pretty_app fmt ("fresh",[l1;l2],[e1;e2]) + and pretty_init fmt = function + | CilInit init -> Printer.pp_init fmt init + | SingleInit e -> pretty_exp fmt e + | CompoundInit (_,l) -> + Format.fprintf fmt "{%a}" (Pretty_utils.pp_list ~sep:",@ " pretty_init) l + + let pretty fmt = function + | `none -> () + | `const c -> pretty_const fmt c + | `var v -> pretty_var fmt v + | `lval lv -> pretty_lval fmt lv + | `exp e -> pretty_exp fmt e + | `init i -> pretty_init fmt i + + (* Depolymorphize *) + + let harden_const c = + match (c :> const) with + | `const const -> const + + let harden_var v = + match (v :> var) with + | `var var -> var + + let harden_lval lv = + match (lv :> lval) with + | #var as var -> Var (harden_var var) + | `lval lval -> lval + + let harden_lval_opt = function + | `none -> None + | #lval as lval -> Some (harden_lval lval) + + let harden_exp e = + match (e :> exp) with + | #const as const -> Const (harden_const const) + | #lval as lval -> Lval (harden_lval lval) + | `exp exp -> exp + + let harden_exp_opt = function + | `none -> None + | #exp as exp -> Some (harden_exp exp) + + let harden_exp_list l = + List.map harden_exp l + + let harden_init i = + match (i :> init) with + | #exp as exp -> SingleInit (harden_exp exp) + | `init init -> init + + (* None *) + + let none = `none + + (* Labels *) + + let here = Cil_types.(BuiltinLabel Here) + let old = Cil_types.(BuiltinLabel Old) + let pre = Cil_types.(BuiltinLabel Pre) + let post = Cil_types.(BuiltinLabel Post) + let loop_entry = Cil_types.(BuiltinLabel LoopEntry) + let loop_current = Cil_types.(BuiltinLabel LoopCurrent) + let program_init = Cil_types.(BuiltinLabel Init) + + (* Constants *) + + let of_constant c = `const (CilConstant c) + let of_integer i = `const (Integer i) + let of_int i = `const (Int i) + let zero = of_int 0 + let one = of_int 1 + + (* Lvalues *) + + let var v = `var v + let of_lval lv = `lval (CilLval lv) + + (* Expressions *) + + let of_exp e = `exp (CilExp e) + let of_exp_copy e = `exp (CilExpCopy e) + let unop op e = `exp (Unop (op, harden_exp e)) + let neg e = unop Cil_types.Neg e + let lognot e = unop Cil_types.LNot e + let bwnot e = unop Cil_types.BNot e + let binop op e1 e2 = `exp (Binop (op, harden_exp e1, harden_exp e2)) + let add e1 e2 = binop Cil_types.PlusA e1 e2 + let succ e = add e one + let add_int e i = add e (of_int i) + let sub e1 e2 = binop Cil_types.MinusA e1 e2 + let mul e1 e2 = binop Cil_types.Mult e1 e2 + let div e1 e2 = binop Cil_types.Div e1 e2 + let modulo e1 e2 = binop Cil_types.Mod e1 e2 + let shiftl e1 e2 = binop Cil_types.Shiftlt e1 e2 + let shiftr e1 e2 = binop Cil_types.Shiftrt e1 e2 + let lt e1 e2 = binop Cil_types.Lt e1 e2 + let gt e1 e2 = binop Cil_types.Gt e1 e2 + let le e1 e2 = binop Cil_types.Le e1 e2 + let ge e1 e2 = binop Cil_types.Ge e1 e2 + let eq e1 e2 = binop Cil_types.Eq e1 e2 + let ne e1 e2 = binop Cil_types.Ne e1 e2 + let bwand e1 e2 = binop Cil_types.BAnd e1 e2 + let bwor e1 e2 = binop Cil_types.BOr e1 e2 + let bwxor e1 e2 = binop Cil_types.BXor e1 e2 + let logand e1 e2 = binop Cil_types.LAnd e1 e2 + let logor e1 e2 = binop Cil_types.LOr e1 e2 + let cast' t e = `exp (Cast (Cil_types.Ctype t, harden_exp e)) + let cast (_,t) e = `exp (Cast (t, harden_exp e)) + let addr lv = `exp (Addr (harden_lval lv)) + let mem e = `lval (Mem (harden_exp e)) + let index lv e = `lval (Index (harden_lval lv, harden_exp e)) + let field lv fi = `lval (Field (harden_lval lv, fi)) + let fieldnamed lv s = `lval (FieldNamed (harden_lval lv, s)) + + (* Expression lists *) + + exception EmptyList + + let reduce f l = + match (l :> exp list) with + | [] -> raise EmptyList + | h :: t -> List.fold_left f h t + + let logand_list l = reduce logand l + let logor_list l = reduce logor l + + (* Term specific *) + + let result = `lval Result + let term t = `exp (CilTerm t) + let range e1 e2 = `exp (Range (harden_exp_opt e1, harden_exp_opt e2)) + let whole = `exp (Range (None, None)) + let whole_right = `exp (Range (Some (Const (Int 0)), None)) + let app logic_info labels args = + `exp (App (logic_info, labels, harden_exp_list args)) + + let object_pointer ?(at=here) e = + `exp (Pred (ObjectPointer (at, harden_exp e))) + let valid ?(at=here) e = `exp (Pred (Valid (at, harden_exp e))) + let valid_read ?(at=here) e = `exp (Pred (ValidRead (at, harden_exp e))) + let initialized ?(at=here) e = `exp (Pred (Initialized (at, harden_exp e))) + let dangling ?(at=here) e = `exp (Pred (Dangling (at, harden_exp e))) + let allocable ?(at=here) e = `exp (Pred (Allocable (at, harden_exp e))) + let freeable ?(at=here) e = `exp (Pred (Freeable (at, harden_exp e))) + let fresh l1 l2 e1 e2 = + `exp (Pred (Fresh (l1, l2, harden_exp e1, harden_exp e2))) + + (* Initializations *) + + let of_init i = `init (CilInit i) + let compound t l = `init (CompoundInit (t, List.map harden_init l)) + + let rec values : type a. (init, a) typ -> a -> [> init] = + fun ty x -> + match ty with + | Single, Ctype _ -> x + | Listed sub, Ctype t-> compound t (List.map (values sub) x) + | _, _ -> raise NotACType + + (* Operators *) + + let (+), (-), ( * ), (/), (%) = add, sub, mul, div, modulo + let (<<), (>>) = shiftl, shiftr + let (<), (>), (<=), (>=), (==), (!=) = lt, gt, le, ge, eq, ne + let (--) = range + + (* Convert *) + + exception LogicInC of exp + exception CInLogic of exp + exception NotATerm of exp + exception NotAPredicate of exp + exception NotAFunction of Cil_types.logic_info + exception Typing_error of string + + let typing_error s = + raise (Typing_error s) + + let get_field ci s = + try + Cil.getCompField ci s + with Not_found -> + typing_error ("no field " ^ s ^ " in " ^ ci.Cil_types.cname) + + + let rec build_constant = function + | CilConstant const -> const + | Int i -> build_constant (Integer (Integer.of_int i)) + | Integer i -> Cil_types.(CInt64 (i, IInt, None)) + + and build_lval ~loc = function + | Result as lv -> raise (LogicInC (`lval lv)) + | CilLval lval -> lval + | Var v -> Cil_types.(Var v, NoOffset) + | Mem e -> + let e' = build_exp ~loc e in + Cil.mkMem ~addr:e' ~off:Cil_types.NoOffset + | Index (lv, e) -> + let (host, offset) as lv' = build_lval ~loc lv + and e' = build_exp ~loc e in + begin match Cil.(unrollType (typeOfLval lv')) with + | TArray _ -> + let offset' = Cil_types.Index (e', NoOffset) in + host, Cil.addOffset offset' offset + | TPtr _ -> + let base = Cil.new_exp ~loc (Lval lv') in + let addr = Cil.mkBinOp ~loc Cil_types.PlusPI base e' in + Cil.mkMem ~addr ~off:Cil_types.NoOffset + | _ -> typing_error "trying to index an lvalue which is not an array \ + or a pointer" + end + | (Field (lv,_) | FieldNamed (lv,_)) as e -> + let (host, offset) as lv' = build_lval ~loc lv in + let host', offset', ci = match Cil.(unrollTypeDeep (typeOfLval lv')) with + | TComp (ci,_,_) -> host, offset, ci + | TPtr (TComp (ci,_,_),_) -> + Mem (Cil.new_exp ~loc (Lval lv')), Cil_types.NoOffset, ci + | _ -> typing_error "trying to get a field of an lvalue which is not \ + of composite type or pointer to a composite type" + in + let f = match e with + | Field (_lv,f) -> f + | FieldNamed (_lv,s) -> get_field ci s + | _ -> assert false + in + let offset'' = Cil_types.(Field (f, NoOffset)) in + host', Cil.addOffset offset'' offset' + + and build_exp ~loc = function + | CilTerm _ | Range _ | App _ | Pred _ as e -> raise (LogicInC (`exp e)) + | CilExp exp -> exp + | CilExpCopy exp -> Cil.copy_exp exp + | Const c-> + Cil.new_exp ~loc (Cil_types.Const (build_constant c)) + | Lval lval -> + Cil.new_exp ~loc (Cil_types.Lval (build_lval ~loc lval)) + | Unop (op,e) -> + let e' = build_exp ~loc e in + let oldt = Cil.typeOf e' in + let newt = Cil.integralPromotion oldt in + Cil.(new_exp ~loc (Cil_types.UnOp (op, mkCastT ~oldt ~newt e', oldt))) + | Binop (op,e1,e2) -> + let is_pointer_type e = + Cil.(isPointerType (typeOf e)) + in + let e1' = build_exp ~loc e1 + and e2' = build_exp ~loc e2 in + let op' = match op with (* Normalize operation *) + | PlusA when is_pointer_type e1' -> Cil_types.PlusPI + | MinusA when is_pointer_type e1' -> Cil_types.MinusPI + | PlusPI when not (is_pointer_type e1') -> Cil_types.PlusA + | MinusPI when not (is_pointer_type e1') -> Cil_types.MinusA + | op -> op + in + Cil.mkBinOp ~loc op' e1' e2' + | Cast (Cil_types.Ctype newt, e) -> + Cil.mkCast ~force:false ~newt (build_exp ~loc e) + | Cast _ -> + raise NotACType + | Addr lv -> + Cil.mkAddrOrStartOf ~loc (build_lval ~loc lv) + + let rec build_term_lval ~loc ~restyp = function + | Result -> Cil_types.(TResult (Option.get restyp), TNoOffset) + | CilLval _ as lv -> raise (CInLogic (`lval lv)) + | Var v -> Cil_types.(TVar (Cil.cvar_to_lvar v), TNoOffset) + | Mem t -> + let t' = build_term ~loc ~restyp t in + Cil_types.(TMem t', TNoOffset) + | Index (tlv, t) -> + let (host, offset) as tlv' = build_term_lval ~loc ~restyp tlv + and t' = build_term ~loc ~restyp t in + let lty = Cil.typeOfTermLval tlv' in + begin match Logic_utils.unroll_type lty with + | Ctype (TArray _) -> + let offset' = Cil_types.(TIndex (t', TNoOffset)) in + host, Logic_const.addTermOffset offset' offset + | Ctype (TPtr _) -> + let base = Logic_const.term ~loc (TLval tlv') lty in + let addr = Logic_const.term ~loc (TBinOp (PlusPI,base,t')) lty in + TMem addr, TNoOffset + | _ -> typing_error "trying to index a term lvalue which is not a C \ + array or a C pointer" + end + | (Field (tlv,_) | FieldNamed (tlv,_)) as t -> + let (host, offset) as tlv' = build_term_lval ~loc ~restyp tlv in + let lty = match Logic_utils.unroll_type (Cil.typeOfTermLval tlv') with + | Ctype cty -> Cil_types.Ctype (Cil.unrollTypeDeep cty) + | lty -> lty + in + let host', offset', ci = match lty with + | Ctype (TComp (ci,_,_)) -> host, offset, ci + | Ctype (TPtr (TComp (ci,_,_),_)) -> + TMem (Logic_const.term ~loc (Cil_types.TLval tlv') lty), TNoOffset, ci + | _ -> typing_error "trying to get a field of an lvalue which is not \ + of composite type or pointer to a composite type" + in + let f = match t with + | Field (_lv,f) -> f + | FieldNamed (_lv,s) -> get_field ci s + | _ -> assert false + in + let offset'' = Cil_types.(TField (f, TNoOffset)) in + host', Logic_const.addTermOffset offset'' offset' + + and build_term ~loc ~restyp = function + | Const (CilConstant _) | CilExp _ | CilExpCopy _ as e -> + raise (CInLogic (`exp e)) + | Pred _ as e -> + raise (NotATerm (`exp e)) + | CilTerm term -> term + | Const (Int i) -> + Logic_const.tinteger ~loc i + | Const (Integer i) -> + Logic_const.tint ~loc i + | Lval lval -> + let tlval = build_term_lval ~loc ~restyp lval in + Logic_const.term ~loc Cil_types.(TLval tlval) (Cil.typeOfTermLval tlval) + | Unop (op,t) -> + let t' = build_term t ~loc ~restyp in + let ty = t'.Cil_types.term_type in + (* TODO: type conversion *) + Logic_const.term ~loc Cil_types.(TUnOp (op,t')) ty + | Binop (op,t1,t2) -> + let t1' = build_term ~loc ~restyp t1 + and t2' = build_term ~loc ~restyp t2 in + let ty = t1'.Cil_types.term_type in + let op' = match op with (* Normalize operation *) + | PlusA when Logic_utils.isLogicPointer t1' -> Cil_types.PlusPI + | MinusA when Logic_utils.isLogicPointer t1' -> Cil_types.MinusPI + | PlusPI when not (Logic_utils.isLogicPointer t1') -> Cil_types.PlusA + | MinusPI when not (Logic_utils.isLogicPointer t1') -> Cil_types.MinusA + | op -> op + in + (* TODO: type conversion *) + Logic_const.term ~loc Cil_types.(TBinOp (op',t1',t2')) ty + | Cast (Ctype ct, t) -> + let t' = build_term ~loc ~restyp t in + Logic_utils.mk_cast ~loc ct t' + | Cast (ty, t) -> + let t' = build_term ~loc ~restyp t in + Logic_utils.numeric_coerce ty t' + | Addr lval -> + let tlval = build_term_lval ~loc ~restyp lval in + let ty = Cil.typeOfTermLval tlval in + Logic_utils.mk_logic_AddrOf ~loc tlval ty + | Range (t1,t2) -> + let t1' = Option.map (build_term ~loc ~restyp) t1 + and t2' = Option.map (build_term ~loc ~restyp) t2 in + Logic_const.trange ~loc (t1',t2') + | App (logic_info, labels, args) -> + let ty = match logic_info.l_type with + | None -> raise (NotAFunction logic_info) + | Some ty -> ty + in + let args' = List.map (build_term ~loc ~restyp) args in + Logic_const.term ~loc (Tapp (logic_info, labels, args')) ty + + and build_relation e = function + | Cil_types.Lt -> Cil_types.Rlt + | Cil_types.Gt -> Cil_types.Rgt + | Cil_types.Le -> Cil_types.Rle + | Cil_types.Ge -> Cil_types.Rge + | Cil_types.Eq -> Cil_types.Req + | Cil_types.Ne -> Cil_types.Rneq + | _ -> raise (NotAPredicate (`exp e)) + + and build_pred_node ~loc ~restyp = function + | Unop (Cil_types.LNot, p) -> + let p' = build_pred ~loc ~restyp p in + Cil_types.Pnot p' + | Binop (Cil_types.LAnd, p1, p2) -> + let p1' = build_pred ~loc ~restyp p1 + and p2' = build_pred ~loc ~restyp p2 in + Cil_types.Pand (p1',p2') + | Binop (Cil_types.LOr, p1, p2) -> + let p1' = build_pred ~loc ~restyp p1 + and p2' = build_pred ~loc ~restyp p2 in + Cil_types.Por (p1',p2') + | Binop (binop, t1, t2) as e -> + let rel = build_relation e binop + and t1' = build_term ~loc ~restyp t1 + and t2' = build_term ~loc ~restyp t2 in + Cil_types.Prel (rel, t1', t2') + | Const _ | CilExp _ | CilExpCopy _ | CilTerm _ + | Lval _ | Unop _ | Cast _ | Addr _ | Range _ as e -> + raise (NotAPredicate (`exp e)) + | App (logic_info, labels, args) -> + let args' = List.map (build_term ~loc ~restyp) args in + Cil_types.Papp (logic_info, labels, args') + | Pred (ObjectPointer (l, t)) -> + Cil_types.Pobject_pointer (l, build_term ~loc ~restyp t) + | Pred (Valid (l, t)) -> + Cil_types.Pvalid (l, build_term ~loc ~restyp t) + | Pred (ValidRead (l, t)) -> + Cil_types.Pvalid_read (l, build_term ~loc ~restyp t) + | Pred (Initialized (l, t)) -> + Cil_types.Pinitialized (l, build_term ~loc ~restyp t) + | Pred (Dangling (l, t)) -> + Cil_types.Pdangling (l, build_term ~loc ~restyp t) + | Pred (Allocable (l, t)) -> + Cil_types.Pallocable (l, build_term ~loc ~restyp t) + | Pred (Freeable (l, t)) -> + Cil_types.Pfreeable (l, build_term ~loc ~restyp t) + | Pred (Fresh (l1, l2, t1, t2)) -> + let t1' = build_term ~loc ~restyp t1 + and t2' = build_term ~loc ~restyp t2 in + Cil_types.Pfresh (l1, l2, t1', t2') + + and build_pred ~loc ~restyp t = + Logic_const.unamed ~loc (build_pred_node ~loc ~restyp t) + + let rec build_init ~loc = function + | CilInit init -> init + | SingleInit e -> + Cil_types.SingleInit (build_exp ~loc e) + | CompoundInit (typ,l) -> + let index i = Cil_types.(Index (Cil.integer ~loc i, NoOffset)) in + let initl = List.mapi (fun i sub -> index i, build_init ~loc sub) l in + Cil_types.CompoundInit (typ, initl) + + + (* Export *) + + let cil_logic_label label = label + let cil_varinfo v = harden_var v + let cil_constant c = build_constant (harden_const c) + let cil_lval ~loc lv = build_lval ~loc (harden_lval lv) + let cil_lval_opt ~loc lv = + Option.map (build_lval ~loc) (harden_lval_opt lv) + let cil_exp ~loc e = build_exp ~loc (harden_exp e) + let cil_exp_opt ~loc e = Option.map (build_exp ~loc) (harden_exp_opt e) + let cil_exp_list ~loc l = List.map (cil_exp ~loc) l + let cil_term_lval ~loc ?restyp lv = + build_term_lval ~loc ~restyp (harden_lval lv) + let cil_term ~loc ?restyp e = build_term ~loc ~restyp (harden_exp e) + let cil_iterm ~loc ?restyp e = + Logic_const.new_identified_term (cil_term ~loc ?restyp e) + let cil_pred ~loc ?restyp e = build_pred ~loc ~restyp (harden_exp e) + let cil_ipred ~loc ?restyp e = + Logic_const.new_predicate (cil_pred ~loc ?restyp e) + let cil_init ~loc i = build_init ~loc (harden_init i) + + let cil_typeof (`var vi) = vi.Cil_types.vtype +end + + +(* --- Pure builder --- *) + +module Pure = +struct + include Exp + + type instr' = + | CilInstr of Cil_types.instr + | Skip + | Assign of lval' * exp' + | Call of lval' option * exp' * exp' list + + type stmt' = + | CilStmt of Cil_types.stmt + | CilStmtkind of Cil_types.stmtkind + | Instr of instr' + | Sequence of stmt' list + | Ghost of stmt' + + type instr = [ `instr of instr' ] + type stmt = [ instr | `stmt of stmt' ] + + (* Sequences *) + + let flatten_sequences l = + let rec add_one acc = function + | Sequence l -> add_list acc l + | stmt -> stmt :: acc + and add_list acc l = + List.fold_left add_one acc l + in + List.rev (add_list [] l) + + (* Depolymorphize *) + + let harden_instr i = + match (i :> instr) with + | `instr instr -> instr + + let harden_stmt s = + match (s :> stmt) with + | #instr as instr -> Instr (harden_instr instr) + | `stmt stmt -> stmt + + (* Build *) + + let of_instr i = `instr (CilInstr i) + let skip = `instr Skip + let assign dest src = `instr (Assign (harden_lval dest, harden_exp src)) + let incr dest = `instr (Assign (harden_lval dest, harden_exp (add dest one))) + let call res callee args = + `instr (Call (harden_lval_opt res, harden_exp callee, harden_exp_list args)) + + let of_stmtkind sk = `stmt (CilStmtkind sk) + let of_stmt s = `stmt (CilStmt s) + let of_stmts l = `stmt (Sequence (List.map (fun s -> CilStmt s) l)) + let block l = `stmt (Sequence (List.map harden_stmt l)) + let ghost s = `stmt (Ghost (harden_stmt s)) + + + (* Convert *) + + let build_instr ~loc = function + | CilInstr i -> i + | Skip -> + Cil_types.Skip (loc) + | Assign (dest,src) -> + Cil_types.Set (build_lval ~loc dest, build_exp ~loc src, loc) + | Call (dest,callee,args) -> + let dest' = Option.map (build_lval ~loc) dest + and callee' = build_exp ~loc callee + and args' = List.map (build_exp ~loc) args in + Cil_types.Call (dest', callee', args', loc) + + let rec build_stmtkind ~loc ~ghost = function + | CilStmt s -> s.Cil_types.skind + | CilStmtkind sk -> sk + | Instr i -> Cil_types.Instr (build_instr ~loc i) + | Sequence l -> Cil_types.Block (build_block ~loc ~ghost l) + | Ghost s -> Cil_types.Block (build_block ~loc ~ghost:true [s]) + + and build_stmt ~loc ~ghost = function + | CilStmt s -> s + | Ghost s -> build_stmt ~loc ~ghost:true s + | stmt -> Cil.mkStmt ~ghost (build_stmtkind ~loc ~ghost stmt) + + and build_block ~loc ~ghost l = + let bstmts = List.map (build_stmt ~ghost ~loc) (flatten_sequences l) in + Cil.mkBlock bstmts + + (* Export *) + + let cil_instr ~loc i = build_instr ~loc (harden_instr i) + let cil_stmtkind ~loc s = build_stmtkind ~loc ~ghost:false (harden_stmt s) + let cil_stmt ~loc s = build_stmt ~loc ~ghost:false (harden_stmt s) + + + (* Operators *) + + let (:=) = assign + let (+=) lv e = assign lv (add lv e) + let (-=) lv e = assign lv (sub lv e) +end + + +(* --- Stateful builder --- *) + +let dkey = Kernel.register_category "cil-builder" + +exception WrongContext of string + +module type T = +sig + val loc : Cil_types.location +end + +module Stateful (Location : T) = +struct + include Exp + + type stmt = + | Label of Cil_types.label + | CilStmt of Cil_types.stmt + | CilStmtkind of Cil_types.stmtkind + | CilInstr of Cil_types.instr + + type scope = + { + scope_type: scope_type; + ghost: bool; + mutable stmts: stmt list; (* In reverse order *) + mutable vars: Cil_types.varinfo list; (* In reverse order *) + } + and scope_type = + | Block + | IfThen of {ifthen_exp: Cil_types.exp} + | IfThenElse of {ifthenelse_exp: Cil_types.exp; then_block: Cil_types.block} + | Switch of {switch_exp: Cil_types.exp} + | Function of {fundec: Cil_types.fundec} + + + let loc = Location.loc + + + (* Conversion to Cil *) + + let build_instr_list l = + let rev_build_one acc = function + | Label _ | CilStmt _ | CilStmtkind _ -> + raise (WrongContext "not convertible to instr") + | CilInstr instr -> instr :: acc + in + List.fold_left rev_build_one [] l + + let build_stmt_list ~ghost l = + let rev_build_one acc = function + | Label l -> + begin match acc with + | [] -> (* No generated statement to attach the label to *) + let stmt = Cil.mkEmptyStmt ~ghost ~loc () in + stmt.Cil_types.labels <- [l]; + stmt :: acc + | stmt :: _ -> (* There is a statement to attach the label to *) + stmt.Cil_types.labels <- l :: stmt.Cil_types.labels; + acc + end + | CilStmt stmt -> + stmt :: acc + | CilStmtkind sk -> + Cil.mkStmt ~ghost sk :: acc + | CilInstr instr -> + Cil.mkStmt ~ghost (Cil_types.Instr instr) :: acc + in + List.fold_left rev_build_one [] l + + let build_block b = + let block = Cil.mkBlock (build_stmt_list ~ghost:b.ghost b.stmts) in + block.Cil_types.blocals <- List.rev b.vars; + block + + let build_stmtkind b = + let block = build_block b in + match b.scope_type with + | Block -> + Cil_types.Block block + | IfThen { ifthen_exp } -> + Cil_types.If (ifthen_exp, block, Cil.mkBlock [], loc) + | IfThenElse { ifthenelse_exp; then_block } -> + Cil_types.If (ifthenelse_exp, then_block, block, loc) + | Switch { switch_exp } -> + let open Cil_types in + (* Cases are only allowed in the current block by the case function *) + let contains_case stmt = + List.exists (function Case _ -> true | _ -> false) stmt.labels + in + let case_stmts = List.filter contains_case block.bstmts in + Cil_types.Switch (switch_exp, block, case_stmts , loc) + | Function _ -> + raise (WrongContext "not convertible to stmtkind") + + + (* State management *) + + let owner: Cil_types.fundec option ref = ref None + + let reset_owner () = + owner := None + + let set_owner o = + if Option.is_some !owner then + raise (WrongContext "already in a function"); + owner := Some o + + let get_owner () = + match !owner with + | None -> raise (WrongContext "function context not set") + | Some fundec -> fundec + + + let stack : scope list ref = ref [] + + let pretty_stack fmt = + let pretty_stack_type fmt b = + match b.scope_type with + | Block -> Format.pp_print_string fmt "block" + | IfThen _ -> Format.pp_print_string fmt "if-then" + | IfThenElse _ -> Format.pp_print_string fmt "if-then-else" + | Switch _ -> Format.pp_print_string fmt "switch" + | Function _ -> Format.pp_print_string fmt "function" + in + Pretty_utils.pp_list ~pre:"[@[" ~sep:";@," ~last:"@]]" + pretty_stack_type fmt !stack + + let check_empty () = + if !stack <> [] then + raise (WrongContext "some contextes have not been closed") + + let check_not_empty () = + if !stack = [] then + raise (WrongContext "only a finish_* function can close all contextes") + + let top () = + match !stack with + | [] -> raise (WrongContext "not in an opened context") + | state :: _ -> state + + let push state = + let parent_ghost = match !stack with + | [] -> false + | s :: _ -> s.ghost + in + stack := { state with ghost = parent_ghost || state.ghost } :: !stack; + Kernel.debug ~dkey "push onto %t" pretty_stack + + let pop () = + Kernel.debug ~dkey "pop from %t" pretty_stack; + match !stack with + | [] -> raise (WrongContext "not in an opened context") + | hd :: tail -> + stack := tail; + hd + + let finish () = + reset_owner (); + match !stack with + | [] -> raise (WrongContext "not in an opened context") + | [b] -> b + | _ :: _ :: _ -> raise (WrongContext "all contextes have not been closed") + + let append_stmt b s = + b.stmts <- s :: b.stmts + + let append_instr b i = + append_stmt b (CilInstr i) + + let append_local v = + let fundec = get_owner () and b = top () in + fundec.Cil_types.slocals <- fundec.Cil_types.slocals @ [v]; + b.vars <- v :: b.vars + + + (* Statements *) + + let of_stmt s = + let b = top () in + append_stmt b (CilStmt s) + + let of_stmts l = + List.iter of_stmt l + + let of_stmtkind sk = + let b = top () in + append_stmt b (CilStmtkind sk) + + let break () = + of_stmtkind (Cil_types.Break loc) + + let return exp = + of_stmtkind (Cil_types.Return (cil_exp_opt ~loc exp, loc)) + + + (* Blocks *) + + let new_block ?(ghost=false) scope_type = { + scope_type; + ghost; + stmts = []; + vars = []; + } + + let extract_ifthen_block b = + match b.scope_type with + | IfThen {ifthen_exp} -> ifthen_exp + | _ -> raise (WrongContext "not in an opened if-then-else context") + + let extract_switch_block b = + match b.scope_type with + | Switch {switch_exp} -> switch_exp + | _ -> raise (WrongContext "not in a opened switch context") + + let extract_function_block b = + match b.scope_type with + | Function {fundec} -> fundec + | _ -> raise (WrongContext "not in a opened function context") + + let open_function ?ghost ?vorig_name name = + check_empty (); + let vorig_name = Option.value ~default:name vorig_name in + let fundec = Cil.emptyFunction vorig_name in + fundec.svar.vdecl <- loc; + fundec.svar.vname <- name; + set_owner fundec; + push (new_block ?ghost (Function {fundec})); + `var fundec.Cil_types.svar + + let open_block ?into ?ghost () = + Option.iter set_owner into; + push (new_block ?ghost Block) + + let open_ghost ?into () = + open_block ?into ~ghost:true () + + let open_switch ?into exp = + Option.iter set_owner into; + let switch_exp = cil_exp ~loc exp in + push (new_block (Switch {switch_exp})) + + let open_if ?into exp = + Option.iter set_owner into; + let ifthen_exp = cil_exp ~loc exp in + push (new_block (IfThen {ifthen_exp})) + + let open_else () = + let b = pop () in + let ifthenelse_exp = extract_ifthen_block b in + let then_block = build_block b in + push (new_block (IfThenElse {ifthenelse_exp; then_block})) + + let close () = + let above = pop () in + check_not_empty (); + of_stmtkind (build_stmtkind above) (* add the block to the parent *) + + let finish_block () = + let b = finish () in + match build_stmtkind b with + | Cil_types.Block b -> b + | _ -> raise (WrongContext "not in an opened simple block context") + + let finish_instr_list ?scope () = + let b = finish () in + begin match scope, b.vars with + | None, [] -> () (* Nothing to do *) + | Some block, vars -> + block.Cil_types.blocals <- List.rev vars @ block.Cil_types.blocals + | None, _ :: _ -> + raise (WrongContext "a scope must be provided to insert local variables") + end; + build_instr_list b.stmts + + let finish_stmt () = + let b = finish () in + Cil.mkStmt ~ghost:b.ghost (build_stmtkind b) + + let finish_function ?(register=true) () = + let b = finish () in + let fundec = extract_function_block b in + let open Cil_types in + let vi = fundec.svar and spec = fundec.sspec in + fundec.sbody <- build_block b; + vi.vdefined <- true; + vi.vghost <- b.ghost; + if register then begin + Globals.Functions.replace_by_definition spec fundec loc; + let keepSwitch = Kernel.KeepSwitch.get () in + Cfg.prepareCFG ~keepSwitch fundec; + Cfg.cfgFun fundec; + end; + GFun (fundec,loc) + + let finish_declaration ?(register=true) () = + let b = finish () in + let fundec = extract_function_block b in + let open Cil_types in + let vi = fundec.svar and spec = fundec.sspec in + if b.stmts <> [] then + raise (WrongContext "there must not be any built statements"); + vi.vdefined <- false; + vi.vghost <- b.ghost; + if register then begin + Globals.Functions.replace_by_declaration spec vi loc; + end; + GFunDecl (spec, vi, loc) + + let case exp = + let b = top () in + let _ = extract_switch_block b in + let label = Cil_types.Case (cil_exp ~loc exp, loc) in + append_stmt b (Label label) + + + (* Functions *) + + let get_return_type () = + let fundec = get_owner () in + Cil.getReturnType fundec.svar.vtype + + let set_return_type' ty = + let fundec = get_owner () in + Cil.setReturnType fundec ty + + let set_return_type ty = + set_return_type' (cil_typ ty) + + let add_attribute attr = + let fundec = get_owner () in + fundec.svar.vattr <- Cil.addAttribute attr fundec.svar.vattr + + let add_new_attribute attr params = + add_attribute (Cil_types.Attr (attr, params)) + + let add_stdlib_generated () = + add_new_attribute "fc_stdlib_generated" [] + + + (* Behaviors *) + + let current_behavior () = + let b = top () in + let fundec = extract_function_block b in + match fundec.sspec.spec_behavior with + | [] -> + let default_behavior = Cil.mk_behavior () in + fundec.sspec.spec_behavior <- [default_behavior]; + default_behavior + | bhv :: _ -> bhv + + type source = [exp | `indirect of exp] + + let indirect src = + match (src :> source ) with + | #exp as it | `indirect it -> `indirect it + + let assigns dests sources = + let open Cil_types in + let b = current_behavior () + and restyp = get_return_type () in + let map_source src = + match (src :> source) with + | #Exp.exp as e -> + cil_iterm ~loc ~restyp e + | `indirect e -> + let t = cil_term ~loc ~restyp e in + let t' = { t with term_name = "indirect" :: t.term_name } in + Logic_const.new_identified_term t' + and map_dest dst = + cil_iterm ~loc ~restyp dst + in + let dests' = List.map map_dest dests + and sources' = List.map map_source sources in + let previous = match b.b_assigns with + | WritesAny -> [] + | Writes l -> l + and newones = List.map (fun dst -> dst, From sources') dests' in + b.b_assigns <- Writes (previous @ newones) + + let requires pred = + let open Cil_types in + let b = current_behavior () + and restyp = get_return_type () in + b.b_requires <- b.b_requires @ [cil_ipred ~loc ~restyp pred] + + let ensures pred = + let open Cil_types in + let b = current_behavior () + and restyp = get_return_type () in + b.b_post_cond <- b.b_post_cond @ [Normal, cil_ipred ~loc ~restyp pred] + + + (* Variables *) + + let local' ?(ghost=false) ?init typ name = + let fundec = get_owner () and b = top () in + let ghost = ghost || b.ghost in + let v = Cil.makeLocalVar ~insert:false ~ghost ~loc fundec name typ in + begin match init with + | None -> () + | Some init -> + let local_init = Cil_types.AssignInit (cil_init ~loc init) in + append_instr b (Cil_types.Local_init (v, local_init, loc)); + v.vdefined <- true + end; + append_local v; + `var v + + let local ?ghost ?init ty name = + let init = Option.map (values ty) init in + local' ?ghost ?init (cil_typ ty) name + + let local_copy ?(ghost=false) ?(suffix="_tmp") (`var vi) = + let fundec = get_owner () and b = top () in + let ghost = ghost || b.ghost in + let v = Cil.copyVarinfo vi (vi.Cil_types.vname ^ suffix) in + v.vghost <- v.vghost || ghost; + Cil.refresh_local_name fundec v; + append_local v; + `var v + + let parameter ?(ghost=false) ?(attributes=[]) typ name = + let fundec = get_owner () and b = top () in + let ghost = ghost || b.ghost in + let v = Cil.makeFormalVar ~ghost ~loc fundec name typ in + v.Cil_types.vattr <- attributes; + `var v + + + (* Instructions *) + + let of_instr i = + let b = top () in + append_instr b i + + let assign lval exp = + let lval' = cil_lval ~loc lval + and exp' = cil_exp ~loc exp in + of_instr (Cil_types.Set (lval', exp', loc)) + + let incr lval = + assign lval (add lval (of_int 1)) + + let call dest callee args = + let dest' = cil_lval_opt ~loc dest + and callee' = cil_exp ~loc callee + and args' = cil_exp_list ~loc args in + of_instr (Cil_types.Call (dest', callee', args', loc)) + + let pure exp = + let exp' = cil_exp ~loc exp in + let `var v = local' (Cil.typeOf exp') "tmp" ~init:(Exp.of_exp exp') in + v.vdescr <- Some (Format.asprintf "%a" !Cil.pp_exp_ref exp') + + let skip () = + of_instr (Cil_types.Skip (loc)) + + + (* Operators *) + + let (:=) = assign + let (+=) lv e = assign lv (add lv e) + let (-=) lv e = assign lv (sub lv e) +end diff --git a/src/kernel_services/ast_building/cil_builder.mli b/src/kernel_services/ast_building/cil_builder.mli new file mode 100644 index 0000000000000000000000000000000000000000..fdd07292cf63484ab2748422d578b182cfa5cc59 --- /dev/null +++ b/src/kernel_services/ast_building/cil_builder.mli @@ -0,0 +1,331 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2021 *) +(* 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). *) +(* *) +(**************************************************************************) + +(** This module is meant to build C or ACSL expressions in a unified way. + Compared to "classic" Cil functions it also avoid the necessity to provide + a location everywhere. +*) + +module Type : +sig + exception NotACType + + type ('value,'shape) typ + + (* Logic types *) + val of_ltyp : Cil_types.logic_type -> (unit,unit) typ + val integer : (unit,unit) typ + val real : (unit,unit) typ + + (* C base types *) + val of_ctyp : Cil_types.typ -> ('v,'v) typ + val void : ('v,'v) typ + val bool : ('v,'v) typ + val char : ('v,'v) typ + val schar : ('v,'v) typ + val uchar : ('v,'v) typ + val int : ('v,'v) typ + val unit : ('v,'v) typ + val short : ('v,'v) typ + val ushort : ('v,'v) typ + val long : ('v,'v) typ + val ulong : ('v,'v) typ + val longlong : ('v,'v) typ + val ulonglong : ('v,'v) typ + val float : ('v,'v) typ + val double : ('v,'v) typ + val longdouble : ('v,'v) typ + + val ptr : ('v,'s) typ -> ('v,'v) typ + val array : ?size:int -> ('v,'s) typ -> ('v,'s list) typ + + (* Attributes *) + val attribute : ('v,'s) typ -> string -> Cil_types.attrparam list + -> ('v,'s) typ + val const : ('v,'s) typ -> ('v,'s) typ + val stdlib_generated : ('v,'s) typ -> ('v,'s) typ + + (* Conversion *) + val cil_typ : ('v,'s) typ -> Cil_types.typ + val cil_logic_type : ('v,'s) typ -> Cil_types.logic_type +end + + +(* --- C & Logic expressions builder --- *) + +module Exp : +sig + include module type of Type + + type const' + type var' + type lval' + type exp' + type init' + + type label + type const = [ `const of const' ] + type var = [ `var of var' ] + type lval = [ var | `lval of lval' ] + type exp = [ const | lval | `exp of exp' ] + type init = [ exp | `init of init'] + + val pretty : Format.formatter -> [init | `none] -> unit + + val none : [> `none] + + (* Labels *) + + val here : label + val old : label + val pre : label + val post : label + val loop_entry : label + val loop_current : label + val program_init : label + + (* Constants *) + + val of_constant : Cil_types.constant -> [> const] + val of_int : int -> [> const] + val of_integer : Integer.t -> [> const] + val zero : [> const] + val one : [> const] + + (* Lvalues *) + + val var : Cil_types.varinfo -> [> var] + val of_lval : Cil_types.lval -> [> lval] + + (* Expressions *) + + exception EmptyList + + val of_exp : Cil_types.exp -> [> exp] + val of_exp_copy : Cil_types.exp -> [> exp] + val unop : Cil_types.unop -> [< exp] -> [> exp] + val neg : [< exp] -> [> exp] + val lognot : [< exp] -> [> exp] + val bwnot : [< exp] -> [> exp] + val succ : [< exp] -> [> exp] (* e + 1 *) + val add_int : [< exp] -> int -> [> exp] (* e + i *) + val binop : Cil_types.binop -> [< exp] -> [< exp] -> [> exp] + val add : [< exp] -> [< exp] -> [> exp] + val sub : [< exp] -> [< exp] -> [> exp] + val mul : [< exp] -> [< exp] -> [> exp] + val div : [< exp] -> [< exp] -> [> exp] + val modulo : [< exp] -> [< exp] -> [> exp] + val shiftl : [< exp] -> [< exp] -> [> exp] + val shiftr : [< exp] -> [< exp] -> [> exp] + val lt : [< exp] -> [< exp] -> [> exp] + val gt : [< exp] -> [< exp] -> [> exp] + val le : [< exp] -> [< exp] -> [> exp] + val ge : [< exp] -> [< exp] -> [> exp] + val eq : [< exp] -> [< exp] -> [> exp] + val ne : [< exp] -> [< exp] -> [> exp] + val logor : [< exp] -> [< exp] -> [> exp] + val logand : [< exp] -> [< exp] -> [> exp] + val logor_list : [< exp] list -> exp + val logand_list : [< exp] list -> exp + val bwand : [< exp] -> [< exp] -> [> exp] + val bwor : [< exp] -> [< exp] -> [> exp] + val bwxor : [< exp] -> [< exp] -> [> exp] + val cast : ('v,'s) typ -> [< exp] -> [> exp] + val cast' : Cil_types.typ -> [< exp] -> [> exp] + val addr : [< lval] -> [> exp] + val mem : [< exp] -> [> lval] + val index : [< lval] -> [< exp] -> [> lval] + val field : [< lval] -> Cil_types.fieldinfo -> [> lval] + val fieldnamed : [< lval] -> string -> [> lval] + + val result : [> lval] + val term : Cil_types.term -> [> exp] + val range : [< exp | `none] -> [< exp | `none] -> [> exp] + val whole : [> exp] (* Whole range, i.e. .. *) + val whole_right : [> exp] (* Whole range right side, i.e. 0.. *) + val app : Cil_types.logic_info -> label list -> [< exp] list -> [> exp] + + val object_pointer : ?at:label -> [< exp] -> [> exp] + val valid : ?at:label -> [< exp] -> [> exp] + val valid_read : ?at:label -> [< exp] -> [> exp] + val initialized : ?at:label -> [< exp] -> [> exp] + val dangling : ?at:label -> [< exp] -> [> exp] + val allocable : ?at:label -> [< exp] -> [> exp] + val freeable : ?at:label -> [< exp] -> [> exp] + val fresh : label -> label -> [< exp] -> [< exp] -> [> exp] + + val of_init : Cil_types.init -> [> init] + val compound : Cil_types.typ -> init list -> [> init] + val values : (init,'values) typ -> 'values -> init + + + (* Redefined operators *) + + val (+) : [< exp] -> [< exp] -> [> exp] + val (-) : [< exp] -> [< exp] -> [> exp] + val ( * ) : [< exp] -> [< exp] -> [> exp] + val (/) : [< exp] -> [< exp] -> [> exp] + val (%) : [< exp] -> [< exp] -> [> exp] + val (<<) : [< exp] -> [< exp] -> [> exp] + val (>>) : [< exp] -> [< exp] -> [> exp] + val (<) : [< exp] -> [< exp] -> [> exp] + val (>) : [< exp] -> [< exp] -> [> exp] + val (<=) : [< exp] -> [< exp] -> [> exp] + val (>=) : [< exp] -> [< exp] -> [> exp] + val (==) : [< exp] -> [< exp] -> [> exp] + val (!=) : [< exp] -> [< exp] -> [> exp] + val (--) : [< exp] -> [< exp] -> [> exp] + + (* Export CIL objects from built expressions *) + + exception LogicInC of exp + exception CInLogic of exp + exception NotATerm of exp + exception NotAPredicate of exp + exception NotAFunction of Cil_types.logic_info + exception Typing_error of string + + val cil_logic_label : label -> Cil_types.logic_label + val cil_constant : [< const] -> Cil_types.constant + val cil_varinfo : [< var] -> Cil_types.varinfo + val cil_lval : loc:Cil_types.location -> [< lval] -> Cil_types.lval + val cil_exp : loc:Cil_types.location -> [< exp] -> Cil_types.exp + val cil_term_lval : loc:Cil_types.location -> ?restyp:Cil_types.typ -> + [< lval] -> Cil_types.term_lval + val cil_term : loc:Cil_types.location -> ?restyp:Cil_types.typ -> + [< exp] -> Cil_types.term + val cil_iterm : loc:Cil_types.location -> ?restyp:Cil_types.typ -> + [< exp] -> Cil_types.identified_term + val cil_pred : loc:Cil_types.location -> ?restyp:Cil_types.typ -> + [< exp] -> Cil_types.predicate + val cil_ipred : loc:Cil_types.location -> ?restyp:Cil_types.typ -> + [< exp] -> Cil_types.identified_predicate + val cil_init : loc:Cil_types.location -> [< init] -> Cil_types.init + + val cil_typeof : [< var] -> Cil_types.typ +end + + +(* --- Pure builder --- *) + +module Pure : +sig + include module type of Exp + + type instr' + type stmt' + + type instr = [ `instr of instr' ] + type stmt = [ instr | `stmt of stmt' ] + + (* Instructions *) + val of_instr : Cil_types.instr -> [> instr] + val skip : [> instr] + val assign : [< lval] -> [< exp] -> [> instr] + val incr : [< lval] -> [> instr] + val call : [< lval | `none] -> [< exp] -> [< exp] list -> [> instr] + + (* Statements *) + val of_stmtkind : Cil_types.stmtkind -> [> stmt] + val of_stmt : Cil_types.stmt -> [> stmt] + val of_stmts : Cil_types.stmt list -> [> stmt] + val block : [< stmt] list -> [> stmt] + val ghost : [< stmt] -> [> stmt] + + val cil_instr : loc:Cil_types.location -> instr -> Cil_types.instr + val cil_stmtkind : loc:Cil_types.location -> stmt -> Cil_types.stmtkind + val cil_stmt : loc:Cil_types.location -> stmt -> Cil_types.stmt + + (* Operators *) + val (:=) : [< lval] -> [< exp] -> [> instr] (* assign *) + val (+=) : [< lval] -> [< exp] -> [> instr] + val (-=) : [< lval] -> [< exp] -> [> instr] +end + + +(* --- Stateful builder --- *) + +exception WrongContext of string + +module type T = +sig + val loc : Cil_types.location +end + +module Stateful (Location : T) : +sig + include module type of Exp + + (* Functions *) + val open_function : ?ghost:bool -> ?vorig_name:string -> string -> [> var] + val set_return_type : ('s,'v) typ -> unit + val set_return_type' : Cil_types.typ -> unit + val add_attribute : Cil_types.attribute -> unit + val add_new_attribute : string -> Cil_types.attrparam list -> unit + val add_stdlib_generated : unit -> unit + val finish_function : ?register:bool -> unit -> Cil_types.global + val finish_declaration : ?register:bool -> unit -> Cil_types.global + + (* Behaviors *) + type source = [exp | `indirect of exp] + val indirect: [< source] -> [> source] + val assigns: [< exp] list -> [< exp | `indirect of [< exp]] list -> unit + val requires: [< exp] -> unit + val ensures: [< exp] -> unit + + (* Statements *) + val of_stmtkind : Cil_types.stmtkind -> unit + val of_stmt : Cil_types.stmt -> unit + val of_stmts : Cil_types.stmt list -> unit + val open_block : ?into:Cil_types.fundec -> ?ghost:bool -> unit -> unit + val open_ghost : ?into:Cil_types.fundec -> unit -> unit + val open_switch : ?into:Cil_types.fundec -> [< exp] -> unit + val open_if : ?into:Cil_types.fundec -> [< exp] -> unit + val open_else : unit -> unit + val close : unit -> unit + val finish_block : unit -> Cil_types.block + val finish_instr_list : ?scope:Cil_types.block -> unit -> Cil_types.instr list + val finish_stmt : unit -> Cil_types.stmt + val case : [< exp] -> unit + val break : unit -> unit + val return : [< exp | `none] -> unit + + (* Variables *) + val local : ?ghost:bool -> ?init:'v -> (init,'v) typ -> string -> [> var] + val local' : ?ghost:bool -> ?init:init -> Cil_types.typ -> string -> [> var] + val local_copy : ?ghost:bool -> ?suffix:string -> [< var] -> [> var] + val parameter : ?ghost:bool -> ?attributes:Cil_types.attributes -> + Cil_types.typ -> string -> [> var] + + (* Instructions *) + val of_instr : Cil_types.instr -> unit + val skip : unit -> unit + val assign : [< lval] -> [< exp] -> unit + val incr : [< lval] -> unit + val call : [< lval | `none] -> [< exp] -> [< exp] list -> unit + val pure : [< exp ] -> unit + + (* Operators *) + val (:=) : [< lval] -> [< exp] -> unit (* assign *) + val (+=) : [< lval] -> [< exp] -> unit + val (-=) : [< lval] -> [< exp] -> unit +end diff --git a/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcmp.c b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcmp.c index 3b280b583484d187bb68b50d7e24788ab0c7473a..ee5d632ef771e23467dfb6e520001caf93795f36 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcmp.c +++ b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcmp.c @@ -127,9 +127,9 @@ __inline static void fail_ncomp(int cond, char *fmt, int l, int r) __e_acsl_store_block((void *)(__va_args),(size_t)16); __e_acsl_full_init((void *)(& __va_args)); fprintf(stderr,(char const *)fmt,(void * const *)(__va_args)); - __e_acsl_delete_block((void *)(& __va_arg0)); - __e_acsl_delete_block((void *)(& __va_arg1)); __e_acsl_delete_block((void *)(__va_args)); + __e_acsl_delete_block((void *)(& __va_arg1)); + __e_acsl_delete_block((void *)(& __va_arg0)); } __gen_e_acsl_abort(); } 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 6a43cdb89269af79eb1d36f572a300dbb71dbd2b..c56ee16b78b3a36e0e91479b02110be6524b942e 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 @@ -120,8 +120,8 @@ int main(void) __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 *)(& __va_arg0)); } __e_acsl_delete_block((void *)(& y)); __e_acsl_delete_block((void *)(& x)); diff --git a/src/plugins/variadic/Makefile.in b/src/plugins/variadic/Makefile.in index cd2531c7381dacebaf1137c1713a5056a41416b6..55c44a67d7fa4dec399f83f3a68b2be019f255d7 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 replacements \ +PLUGIN_CMO := options extends environment replacements \ format_string format_pprint format_typer format_parser \ generic standard classify translate \ register diff --git a/src/plugins/variadic/generic.ml b/src/plugins/variadic/generic.ml index 556507ffe1fff4362f040a8fb8d7d4264190c233..56d847f4a86e13057df7f47a00081119cc6bf812 100644 --- a/src/plugins/variadic/generic.ml +++ b/src/plugins/variadic/generic.ml @@ -24,7 +24,7 @@ open Cil_types open Options module List = Extends.List module Typ = Extends.Typ -module Build = Va_build +module Build = Cil_builder.Pure (* Types of variadic parameter and argument *) @@ -99,32 +99,30 @@ let translate_va_builtin caller inst = in let translate_va_arg () = - let va_list, typ, lval = match args with + let va_list, ty, lv = match args with | [{enode=Lval va_list}; - {enode=SizeOf typ}; - {enode=CastE(_, {enode=AddrOf lval})}] -> va_list, typ, lval + {enode=SizeOf ty}; + {enode=CastE(_, {enode=AddrOf lv})}] -> va_list, ty, lv | _ -> Self.fatal "Unexpected arguments to va_arg" in (* Check validity of type *) - if Cil.isIntegralType typ then begin - let promoted_type = Cil.integralPromotion typ in - if promoted_type <> typ then + if Cil.isIntegralType ty then begin + let promoted_type = Cil.integralPromotion ty in + if promoted_type <> ty then Self.warning ~current:true "Wrong type argument in va_start: %a is promoted to %a when used \ in the variadic part of the arguments. (You should pass %a to \ va_start)" - Printer.pp_typ typ + Printer.pp_typ ty Printer.pp_typ promoted_type Printer.pp_typ promoted_type end; (* 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 ~newt:typ exp in - let src = mk_mem (mk_cast (mk_mem (mk_lval_exp va_list)) (TPtr (typ,[]))) - in - [ Set (lval, src, loc); - Set (va_list, Cil.increm (mk_lval_exp va_list) 1, loc) ] + let va_list, ty, lv = Build.(of_lval va_list, of_ctyp ty, of_lval lv) in + List.map (Build.cil_instr ~loc) Build.([ + lv := mem (cast (ptr ty) (mem va_list)); + va_list += of_int 1 + ]) in begin match vi.vname with @@ -139,7 +137,6 @@ let translate_va_builtin caller inst = (* Translation of calls to variadic functions *) let translate_call ~fundec ~ghost block loc mk_call callee pars = - (* Log translation *) Self.result ~current:true ~level:2 "Generic translation of call to variadic function."; @@ -151,29 +148,27 @@ let translate_call ~fundec ~ghost block loc mk_call callee pars = let variadic_size = (List.length r_exps) - (List.length g_params) in let v_exps, g_exps = List.break variadic_size r_exps in + (* Start build *) + let module Build = Cil_builder.Stateful (struct let loc = loc end) in + Build.open_block ~into:fundec ~ghost (); + (* Create temporary variables to hold parameters *) - let add_var i exp = - let typ = Cil.typeOf exp - and name = "__va_arg" ^ string_of_int i in - let res = Cil.makeLocalVar ~ghost fundec ~scope:block name typ in - res.vdefined <- true; - res + let add_var i e = + let name = "__va_arg" ^ string_of_int i in + Build.(local' (Cil.typeOf e) name ~init:(of_exp e)) in let vis = List.mapi add_var v_exps in - (* Assign parameters to these *) - let instrs = List.map2 (Build.vi_init ~loc) vis v_exps in - (* 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 + let init = match vis with (* C standard forbids arrays of size 0 *) + | [] -> [Build.of_init (Cil.makeZeroInit ~loc Cil.voidPtrType)] + | l -> List.map Build.addr l in - let instrs = instrs @ [assigns] in + let ty = Build.(array (ptr void) ~size:(List.length init)) in + let vargs = Build.(local ty "__va_args" ~init) in (* Translate the call *) - let exp_vargs = Cil.mkAddrOrStartOf ~loc (Cil.var vargs) in - let new_arg = Cil.mkCast ~force:false ~newt:(vpar_typ []) exp_vargs in - let new_args = s_exps @ [new_arg] @ g_exps in - let call = mk_call callee new_args in - instrs @ [call] + let new_arg = Build.(cil_exp ~loc (cast' (vpar_typ []) (addr vargs))) in + let new_args = (s_exps @ [new_arg] @ g_exps) in + Build.of_instr (mk_call callee new_args); + Build.finish_instr_list ~scope:block () diff --git a/src/plugins/variadic/standard.ml b/src/plugins/variadic/standard.ml index b454f7f11e4cd911d76231fe36be3c7c9652f246..6ca8ff90c6eddbe2dfd253b50df02acb309b8b15 100644 --- a/src/plugins/variadic/standard.ml +++ b/src/plugins/variadic/standard.ml @@ -25,11 +25,6 @@ open Va_types open Options module List = Extends.List module Typ = Extends.Typ -module Build = Va_build - - -let params_types params = - List.map (fun (_,typ,_) -> typ) params let pp_prototype name fmt tparams = Format.fprintf fmt "%s(%a)" @@ -177,8 +172,8 @@ let find_null exp_list = List.ifind (fun e -> Cil.isZero (Cil.constFold false e)) exp_list -let aggregator_call - ~fundec ~ghost {a_target; a_pos; a_type; a_param} scope loc mk_call vf args = +let aggregator_call ~fundec ~ghost aggregator scope loc mk_call vf args = + let {a_target; a_pos; a_type; a_param} = aggregator in let name = vf.vf_decl.vorig_name and tparams = Typ.params_types a_target.vtype and pname, ptyp = a_param in @@ -220,15 +215,21 @@ let aggregator_call "Translating call to %s to a call to %s." name a_target.vorig_name; let pname = if pname = "" then "param" else pname in - let vaggr, assigns = - Build.array_init ~loc fundec ~ghost scope pname ptyp args_middle + + let module Build = Cil_builder.Stateful (struct let loc = loc end) in + Build.open_block ~into:fundec ~ghost (); + let init = match args_middle with (* C standard forbids arrays of size 0 *) + | [] -> [Build.of_init (Cil.makeZeroInit ~loc ptyp)] + | l -> List.map Build.of_exp l in - let new_arg = Cil.mkAddrOrStartOf ~loc (Cil.var vaggr) in - let new_args = args_left @ [new_arg] @ args_right in + let size = List.length init in + let vaggr = Build.(local (array ~size (of_ctyp ptyp)) pname ~init) in + let new_args = args_left @ [Build.(cil_exp ~loc (addr vaggr))] @ args_right in let new_args,_ = match_args tparams new_args in - let call = mk_call (Cil.evar ~loc a_target) new_args in - let reads = List.map (Cil.mkPureExprInstr ~fundec ~scope ~loc) unused_args in - assigns :: reads @ [call] + Build.(List.iter pure (List.map of_exp unused_args)); + Build.of_instr (mk_call (Cil.evar ~loc a_target) new_args); + Build.finish_instr_list ~scope () + (* ************************************************************************ *) (* Overloads calls *) @@ -326,23 +327,23 @@ let find_global env name = let find_predicate name = match Logic_env.find_all_logic_functions name with - | f :: _q -> Some f (* TODO: should we warn in case of overloading? *) + | f :: _q -> f (* TODO: should we warn in case of overloading? *) | [] -> Self.warning ~once:true "Unable to locate ACSL predicate %s which should be in the Frama-C LibC. \ Correct specifications can't be generated." name; - None + raise Not_found let find_field env structname fieldname = try let compinfo = Environment.find_struct env structname in - Some (Cil.getCompField compinfo fieldname) + Cil.getCompField compinfo fieldname with Not_found -> Self.warning ~once:true "Unable to locate %s field %s." structname fieldname; - None + raise Not_found let find_predicate_by_width typ narrow_name wide_name = match Cil.unrollTypeDeep typ with @@ -357,189 +358,158 @@ let find_predicate_by_width typ narrow_name wide_name = Self.warning ~current:true "expected single/wide character pointer type, got %a (%a, unrolled %a)" Printer.pp_typ typ Cil_types_debug.pp_typ typ Cil_types_debug.pp_typ (Cil.unrollTypeDeep typ); - None + raise Not_found -let build_fun_spec env loc vf format_fun tvparams formals = - let open Format_types in - let _ = () in - let fixed_params_count = Typ.params_count vf.vf_original_type in - let sformals, vformals = List.break fixed_params_count formals in - let here = Logic_const.here_label in +let valid_read_string typ = + find_predicate_by_width typ "valid_read_string" "valid_read_wstring" - (* Spec *) - let sources = ref [] - and dests = ref [] - and requires = ref [] - and ensures = ref [] in - let iterm lval = - Logic_const.new_identified_term (Build.tlval ~loc lval) - and insert x t = - t := x :: !t +let valid_read_nstring typ = + find_predicate_by_width typ "valid_read_nstring" "valid_read_nwstring" + +let format_length typ = + find_predicate_by_width typ "format_length" "wformat_length" + + +let build_specialized_fun env vf format_fun tvparams = + let open Format_types in + let module Build = + Cil_builder.Stateful (struct let loc = vf.vf_decl.vdecl end) in - let insert_source ?(indirect=false) lval = - let itlval = iterm lval in - let it_content = if indirect then - { itlval.it_content with - term_name = "indirect" :: itlval.it_content.term_name } - else itlval.it_content + + (* Choose function name *) + let name = vf.vf_decl.vorig_name in + vf.vf_specialization_count <- vf.vf_specialization_count + 1; + let new_name = name ^ "_va_" ^ (string_of_int vf.vf_specialization_count) in + + (* Start building the function *) + let funvar = Build.open_function new_name in + + (* Set function return type and attributes *) + let ret_typ, params, _, attrs = Cil.splitFunctionType vf.vf_original_type in + Build.set_return_type' ret_typ; + List.iter Build.add_attribute attrs; + Build.add_stdlib_generated (); + + (* Add parameters *) + let add_static_param (name,typ,attributes) = + Build.parameter ~attributes typ name + and add_variadic_param i (typ,_dir) = + let typ = if Cil.isIntegralType typ then + Cil.integralPromotion typ + else + typ in - let itlval = { itlval with Cil_types.it_content } in - insert itlval sources - and insert_dest lval = - insert (iterm lval) dests - and insert_require pred = - insert (Logic_const.new_predicate pred) requires - and insert_ensure pred = - insert (Normal, Logic_const.new_predicate pred) ensures + Build.parameter typ ("param" ^ string_of_int i) + in + let sformals = List.map add_static_param (Option.get params) + and vformals = List.mapi add_variadic_param tvparams in - 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 - end + + + (* Spec *) + let sources = ref [] and dests = ref [] in + let add_source ?(indirect=false) s = + let s = (s :> Build.source) in + sources := (if indirect then Build.indirect s else s) :: !sources + and add_dest d = + dests := (d :> Build.exp) :: !dests in - let add_var ?pos (vi,dir) = + (* Add the lval to the list of sources/dests *) + let add_lval ~indirect lval = function + | (`ArgIn | `ArgInArray _) -> add_source ~indirect lval + | (`ArgOut | `ArgOutArray) -> add_dest lval + | `ArgInOut -> add_source ~indirect lval; add_dest lval + in + let add_var ?pos ~indirect (v : Build.var) dir = + let ty = Build.cil_typeof v in (* 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 -> (v :> Build.lval) + | (`ArgInArray _ | `ArgOutArray) -> Build.(index v whole_right) + | (`ArgOut | `ArgInOut) -> Build.(mem v) in + add_lval ~indirect lval dir; (* Build requires/ensures *) - let term = Build.tvar ~loc vi in - begin match dir with + try match dir with | `ArgInArray None -> - let pred = - find_predicate_by_width vi.vtype "valid_read_string" "valid_read_wstring" - in - begin match pred with - | Some logic_info -> - let labels = List.map (fun _ -> here) logic_info.l_labels in - let p = Logic_const.papp ~loc (logic_info, labels, [term]) in - insert_require p - | None -> () - end + Build.(requires (app (valid_read_string ty) [here] [v])) | `ArgInArray (Some precision) -> - assert (pos <> None); - let pred = - find_predicate_by_width vi.vtype "valid_read_nstring" "valid_read_nwstring" + let nterm = match precision with + | PStar -> + let size_arg = List.nth vformals (Option.get pos - 1) in + Build.(cast integer size_arg) + | PInt n -> + Build.of_int n in - begin match pred with - | Some logic_info -> - let labels = List.map (fun _ -> here) logic_info.l_labels in - let nterm = match precision with - | PStar -> - let n_vi = List.nth vformals (Option.get pos) in - Logic_utils.numeric_coerce Linteger (Build.tvar ~loc n_vi) - | PInt n -> Cil.lconstant ~loc (Integer.of_int n) - in - let p = Logic_const.papp ~loc (logic_info, labels, [term; nterm]) in - insert_require p - | None -> () - end + Build.(requires (app (valid_read_nstring ty) [here] [(v :> Build.exp) ; nterm])) | `ArgOut -> - insert_require (Logic_const.pvalid ~loc (here,term)); - insert_ensure (Logic_const.pinitialized ~loc (here,term)) + Build.(requires (valid v)); + Build.(ensures (initialized v)) | _ -> () - end; - (* Cil.hasAttribute "const" *) - add_lval (lval,dir) - in - let make_indirect iterm = - (* Add "indirect" to an identified term, if it isn't already *) - if List.mem "indirect" iterm.it_content.term_name then iterm - else - let it_content = - { iterm.it_content with - term_name = "indirect" :: iterm.it_content.term_name } - in - { iterm with it_content } + with Not_found -> () (* Predicate not found *) in + (* Build variadic parameter source/dest list *) - let dirs = List.map snd tvparams in - let l = List.combine vformals dirs in - let pos = ref (-1) in - List.iter (incr pos; add_var ~indirect:false ~pos:!pos) l; + let l = List.combine vformals tvparams in + List.iteri (fun pos (v,(_,dir)) -> add_var ~indirect:false ~pos v dir) l; (* Add format source and additional parameters *) - let fmt_vi = List.nth sformals format_fun.f_format_pos in - add_var ~indirect:true (fmt_vi, `ArgInArray None); + let fmt = List.nth sformals format_fun.f_format_pos in + add_var ~indirect:true fmt (`ArgInArray None); (* Add buffer source/dest *) - let add_stream vi = + let add_stream v = (* 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 -> - let varfield = Build.tvarfield ~loc vi fieldinfo in - add_lval ~indirect:false (varfield, `ArgInOut) - | None -> - add_var ~indirect:false (vi, `ArgInOut) - end; - begin match find_field env "__fc_FILE" "__fc_FILE_id" with - | Some fieldinfo -> - let varfield = Build.tvarfield ~loc vi fieldinfo in - add_lval ~indirect:true (varfield, `ArgIn) - | None -> () - end + try + let f_data = find_field env "__fc_FILE" "__fc_FILE_data" + and f_id = find_field env "__fc_FILE" "__fc_FILE_id" in + add_lval ~indirect:false Build.(field v f_data) `ArgInOut; + add_lval ~indirect:true Build.(field v f_id) `ArgIn + with Not_found -> + add_var ~indirect:false v `ArgInOut in (* Add a bounded buffer *) - let add_buffer vi_buffer vi_size = - add_var ~indirect:true (vi_size, `ArgIn); + let add_buffer buffer size = + add_var ~indirect:true size `ArgIn; (* this is an snprintf-like function; compute and add its precondition: \valid(s + (0..n-1)) || \valid(s + (0..format_length(format)-1)) *) - let make_valid_range tvalid_length = - let tvar = Build.tvar ~loc vi_buffer - and tmin = Build.tzero ~loc - and tmax = Build.tminus ~loc tvalid_length (Build.tone ~loc) in - let toffs = Build.trange ~loc (Some tmin) (Some tmax) in - let term = Build.tbinop ~loc PlusPI tvar toffs in - Logic_const.pvalid ~loc (here, term) - in - let size_var = Build.tvar ~loc vi_size in - let left_pred = make_valid_range size_var in - let pred = - find_predicate_by_width vi_buffer.vtype "format_length" "wformat_length" + let valid_range length = + Build.(valid (buffer + (zero -- (length - one)))) in - match pred with - | Some format_length -> - let labels = List.map (fun _ -> here) format_length.l_labels in - let fmt_var = Build.tvar ~loc fmt_vi in - let flen_app = - try Build.tapp ~loc format_length labels [fmt_var] - with Build.NotAFunction -> - Self.abort ~current:true - "%a should be a logic function, not a predicate" - Printer.pp_logic_var format_length.l_var_info - in - let right_pred = make_valid_range flen_app in - let p = Logic_const.por ~loc (left_pred, right_pred) in - insert_require p - | None -> insert_require left_pred + let left_pred = valid_range size in + try + let flen = format_length (Build.cil_typeof buffer) in + let right_pred = Build.(valid_range (app flen [here] [fmt])) in + Build.(requires (logor left_pred right_pred)) + with + | Not_found -> Build.requires left_pred + | Build.NotAFunction li -> + Self.abort ~current:true + "%a should be a logic function, not a predicate" + Printer.pp_logic_var li.l_var_info in begin match format_fun.f_buffer, format_fun.f_kind with | StdIO, ScanfLike -> begin match find_global env "__fc_stdin" with - | Some vi -> add_stream vi + | Some vi -> add_stream (Build.var vi) | None -> () end | StdIO, PrintfLike -> begin match find_global env "__fc_stdout" with - | Some vi -> add_stream vi + | Some vi -> add_stream (Build.var vi) | None -> () end | Arg (i, _), ScanfLike -> - add_var ~indirect:true (List.nth sformals i, `ArgInArray None) + add_var ~indirect:true (List.nth sformals i) (`ArgInArray None) | Arg (i, size_pos), PrintfLike -> - add_var ~indirect:true (List.nth sformals i, `ArgOutArray); + 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) @@ -549,40 +519,24 @@ let build_fun_spec env loc vf format_fun tvparams formals = add_stream (List.nth sformals i) | File i, _ -> let file = List.nth sformals i in - add_var ~indirect:true (file, `ArgIn); + add_var ~indirect:true file `ArgIn; | Syslog, _ -> () end; - (* Build the assigns clause (without \result, for now; it will be added - separately) *) - let froms = List.map (fun iterm -> iterm, From !sources) !dests in - - (* Add return value dest: it is different from above since it is _indirectly_ - assigned from all sources *) - let rettyp = Cil.getReturnType vf.vf_decl.vtype in - let froms_for_result = - if Cil.isVoidType rettyp then [] - else - [iterm (Build.tresult rettyp), - From (List.map make_indirect !sources)] - in - let assigns = Writes (froms_for_result @ froms) in + (* assign \result \from indirect:sources *) + if not (Cil.isVoidType ret_typ) then + Build.(assigns [result] (List.map indirect !sources)); + (* assigns dests \from sources *) + Build.assigns !dests !sources; (* Build the default behaviour *) - let bhv = Cil.mk_behavior ~assigns - ~requires:!requires ~post_cond:!ensures () in - { (Cil.empty_funspec ()) with spec_behavior = [bhv] } + let glob = Build.finish_declaration ~register:false () in + glob, Build.cil_varinfo funvar (* --- Call translation --- *) let format_fun_call ~fundec env format_fun scope loc mk_call vf args = - let name = vf.vf_decl.vorig_name - 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 - (* Extract the format if possible *) let format = try @@ -591,7 +545,7 @@ let format_fun_call ~fundec env format_fun scope loc mk_call vf args = | None -> Self.warning ~current:true "Call to function %s with non-static format argument:@ \ - no specification will be generated." name; + no specification will be generated." vf.vf_decl.vorig_name; raise Translate_call_exn (* No syntactic hint *) | Some s -> Format_parser.parse_format format_fun.f_kind s with @@ -612,29 +566,9 @@ let format_fun_call ~fundec env format_fun scope loc mk_call vf args = type_name; raise Translate_call_exn in - let new_param i (typ,_dir) = - let typ = if Cil.isIntegralType typ then - Cil.integralPromotion typ - else - typ - in - "param" ^ string_of_int i, typ, [] - in - let vparams = List.mapi new_param tvparams in - let new_params = sparams @ vparams in (* Create the new callee *) - vf.vf_specialization_count <- vf.vf_specialization_count + 1; - let ret_typ, _, _, attributes = Cil.splitFunctionType vf.vf_decl.vtype in - let new_callee_typ = TFun (ret_typ, Some new_params, false, attributes) - and new_name = name ^ "_va_" ^ (string_of_int vf.vf_specialization_count) - and mk_spec formals = build_fun_spec env loc vf format_fun tvparams formals - in - let new_callee, glob = - Build.function_declaration ~vattr:[Attr ("fc_stdlib_generated", [])] - ~loc:vf.vf_decl.vdecl name new_callee_typ mk_spec - in - new_callee.vname <- new_name; + let glob, new_callee = build_specialized_fun env vf format_fun tvparams in new_globals := glob :: !new_globals; (* Store the translation *) @@ -643,6 +577,6 @@ let format_fun_call ~fundec env format_fun scope loc mk_call vf args = (* Translate the call *) Self.result ~current:true ~level:2 "Translating call to %s to a call to the specialized version %s." - name new_callee.vname; - let tparams = params_types new_params in + vf.vf_decl.vorig_name new_callee.vname; + let tparams = Typ.params_types new_callee.vtype in match_call ~loc ~fundec scope mk_call new_callee tparams args diff --git a/src/plugins/variadic/tests/known/oracle/printf.res.oracle b/src/plugins/variadic/tests/known/oracle/printf.res.oracle index b27f1f19a86a752ba8ffd43518ad3318c4b1483d..591d9eb02fe97ba608a2aec6af1a5cce8506d1d4 100644 --- a/src/plugins/variadic/tests/known/oracle/printf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf.res.oracle @@ -179,9 +179,9 @@ */ int printf_va_1(char const * restrict format); -/*@ requires valid_read_string(format); +/*@ requires valid_read_string(param0); requires \valid(param1); - requires valid_read_string(param0); + requires valid_read_string(format); ensures \initialized(param1); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result @@ -199,8 +199,8 @@ int printf_va_1(char const * restrict format); */ int printf_va_2(char const * restrict format, char *param0, int *param1); -/*@ requires valid_read_string(format); - requires valid_read_wstring(param0); +/*@ requires valid_read_wstring(param0); + requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), @@ -213,8 +213,8 @@ int printf_va_2(char const * restrict format, char *param0, int *param1); */ int printf_va_3(char const * restrict format, wchar_t *param0); -/*@ requires valid_read_string(format); - requires \valid(param1); +/*@ requires \valid(param1); + requires valid_read_string(format); ensures \initialized(param1); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result @@ -232,8 +232,8 @@ int printf_va_3(char const * restrict format, wchar_t *param0); */ int printf_va_4(char const * restrict format, int param0, signed char *param1); -/*@ requires valid_read_string(format); - requires \valid(param1); +/*@ requires \valid(param1); + requires valid_read_string(format); ensures \initialized(param1); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result @@ -251,8 +251,8 @@ int printf_va_4(char const * restrict format, int param0, signed char *param1); */ int printf_va_5(char const * restrict format, int param0, short *param1); -/*@ requires valid_read_string(format); - requires \valid(param1); +/*@ requires \valid(param1); + requires valid_read_string(format); ensures \initialized(param1); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result @@ -270,8 +270,8 @@ int printf_va_5(char const * restrict format, int param0, short *param1); */ int printf_va_6(char const * restrict format, int param0, long *param1); -/*@ requires valid_read_string(format); - requires \valid(param1); +/*@ requires \valid(param1); + requires valid_read_string(format); ensures \initialized(param1); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result @@ -289,8 +289,8 @@ int printf_va_6(char const * restrict format, int param0, long *param1); */ int printf_va_7(char const * restrict format, long param0, long long *param1); -/*@ requires valid_read_string(format); - requires \valid(param1); +/*@ requires \valid(param1); + requires valid_read_string(format); ensures \initialized(param1); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result @@ -309,8 +309,8 @@ int printf_va_7(char const * restrict format, long param0, long long *param1); int printf_va_8(char const * restrict format, long long param0, intmax_t *param1); -/*@ requires valid_read_string(format); - requires \valid(param1); +/*@ requires \valid(param1); + requires valid_read_string(format); ensures \initialized(param1); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result @@ -328,8 +328,8 @@ int printf_va_8(char const * restrict format, long long param0, */ int printf_va_9(char const * restrict format, intmax_t param0, size_t *param1); -/*@ requires valid_read_string(format); - requires \valid(param1); +/*@ requires \valid(param1); + requires valid_read_string(format); ensures \initialized(param1); assigns \result, __fc_stdout->__fc_FILE_data, *param1; assigns \result @@ -562,8 +562,8 @@ int printf_va_25(char const * restrict format, void *param0); int printf_va_26(char const * restrict format, int param0, int param1, int param2, unsigned int param3); -/*@ requires valid_read_string(format); - requires valid_read_nstring(param1, param0); +/*@ requires valid_read_nstring(param1, param0); + requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), @@ -577,8 +577,8 @@ int printf_va_26(char const * restrict format, int param0, int param1, */ int printf_va_27(char const * restrict format, int param0, char *param1); -/*@ requires valid_read_string(format); - requires valid_read_nstring(param0, 4); +/*@ requires valid_read_nstring(param0, 4); + requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), 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 e8f9254834d4a3ac563d056c93856603f5898fb2..90f907e7b0fb2a779cea9537aa86efa62de964da 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 @@ -52,8 +52,8 @@ #include "stdarg.h" #include "stddef.h" #include "stdio.h" -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdout->__fc_FILE_data, *param0; assigns \result @@ -69,8 +69,8 @@ */ int printf_va_1(char const * restrict format, int *param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdout->__fc_FILE_data, *param0; assigns \result @@ -86,8 +86,8 @@ int printf_va_1(char const * restrict format, int *param0); */ int printf_va_2(char const * restrict format, int *param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdout->__fc_FILE_data, *param0; assigns \result @@ -103,8 +103,8 @@ int printf_va_2(char const * restrict format, int *param0); */ int printf_va_3(char const * restrict format, signed char *param0); -/*@ requires valid_read_string(format); - requires valid_read_string(param0); +/*@ requires valid_read_string(param0); + requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), @@ -117,8 +117,8 @@ int printf_va_3(char const * restrict format, signed char *param0); */ int printf_va_4(char const * restrict format, char *param0); -/*@ requires valid_read_string(format); - requires valid_read_wstring(param0); +/*@ requires valid_read_wstring(param0); + requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), 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 e692e0801f624d0e90ff078fc63c789dd6543b81..cdc57a22aae9b2a20b0cb946f1fb42a61b0d731f 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 @@ -262,8 +262,8 @@ int printf_va_11(char const * restrict format, double param0); */ int printf_va_12(char const * restrict format, long double param0); -/*@ requires valid_read_string(format); - requires valid_read_string(param0); +/*@ requires valid_read_string(param0); + requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), @@ -672,8 +672,8 @@ int printf_va_11(char const * restrict format, double param0); */ int printf_va_12(char const * restrict format, long double param0); -/*@ requires valid_read_string(format); - requires valid_read_string(param0); +/*@ requires valid_read_string(param0); + requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), diff --git a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle index dd3d00e9e6dc85a1fce8a678d672f8271f0ac429..3eecc8a2862f226537cd1f8d4fbcf28bb26045ec 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle @@ -33,11 +33,11 @@ #include "stdarg.h" #include "stddef.h" #include "stdio.h" -/*@ requires valid_read_string(format); +/*@ requires \valid(param1); requires \valid(param2); - requires \valid(param1); - ensures \initialized(param2); + requires valid_read_string(format); ensures \initialized(param1); + ensures \initialized(param2); assigns \result, __fc_stdin->__fc_FILE_data, *param2, *param1, *(param0 + (0 ..)); assigns \result 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 9c0a537c04bc7d0c222f1a5d3583891c512a104d..3ea7bd6ac928f0b44b731d893844d951dd39fa5c 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle @@ -31,8 +31,8 @@ #include "stddef.h" #include "stdio.h" int volatile nondet; -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result 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 48109648487514aff47bd9bf33962376cb0dbe3a..2eb005e42169333d18e8000e2ae995dd6c778dad 100644 --- a/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle @@ -34,11 +34,11 @@ #include "stdarg.h" #include "stddef.h" #include "stdio.h" -/*@ requires valid_read_string(format); +/*@ requires \valid(param1); requires \valid(param2); - requires \valid(param1); - ensures \initialized(param2); + requires valid_read_string(format); ensures \initialized(param1); + ensures \initialized(param2); assigns \result, __fc_stdin->__fc_FILE_data, *param2, *param1, *(param0 + (0 ..)); assigns \result diff --git a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle index 296acd22116d6ed8a14eefa94d1d182981d57523..aeb7aa1c440e7559662cabfd91c8936f7eeda554 100644 --- a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle @@ -24,7 +24,7 @@ [eva] FRAMAC_SHARE/libc/string.h:121: cannot evaluate ACSL term, unsupported ACSL construct: logic function memset [eva] using specification for function snprintf_va_1 -[eva] tests/known/snprintf.c:12: +[eva] FRAMAC_SHARE/libc/stdio.h:213: Cannot evaluate range bound format_length(format) - 1 (unsupported ACSL construct: logic function format_length). Approximating [eva:alarm] tests/known/snprintf.c:12: Warning: @@ -49,11 +49,11 @@ #include "string.h" #include "strings.h" int volatile nondet; -/*@ requires +/*@ requires valid_read_string(param0); + requires valid_read_string(format); + requires \valid(s + (0 .. n - 1)) ∨ \valid(s + (0 .. format_length(format) - 1)); - requires valid_read_string(format); - requires valid_read_string(param0); assigns \result, *(s + (0 ..)); assigns \result \from (indirect: n), (indirect: *(format + (0 ..))), @@ -64,11 +64,11 @@ int volatile nondet; int snprintf_va_1(char * restrict s, size_t n, char const * restrict format, char *param0); -/*@ requires +/*@ requires valid_read_string(param0); + requires valid_read_string(format); + requires \valid(s + (0 .. n - 1)) ∨ \valid(s + (0 .. format_length(format) - 1)); - requires valid_read_string(format); - requires valid_read_string(param0); assigns \result, *(s + (0 ..)); assigns \result \from (indirect: n), (indirect: *(format + (0 ..))), 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 4d3deaa593847e59ebb1040064723eb24dc3bd34..1c6cbba330cc7157847d0047429c8f06bf4f487a 100644 --- a/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle @@ -67,8 +67,8 @@ #include "stdarg.h" #include "stddef.h" #include "stdio.h" -/*@ requires valid_read_string(format); - requires valid_read_string(param1); +/*@ requires valid_read_string(param1); + requires valid_read_string(format); assigns \result, stream->__fc_FILE_data; assigns \result \from (indirect: stream->__fc_FILE_id), @@ -83,8 +83,8 @@ int fprintf_va_1(FILE * restrict stream, char const * restrict format, int param0, char *param1, int param2); -/*@ requires valid_read_string(format); - requires valid_read_string(param1); +/*@ requires valid_read_string(param1); + requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), @@ -99,11 +99,11 @@ int fprintf_va_1(FILE * restrict stream, char const * restrict format, int printf_va_1(char const * restrict format, int param0, char *param1, int param2); -/*@ requires +/*@ requires valid_read_string(param1); + requires valid_read_string(format); + requires \valid(s + (0 .. n - 1)) ∨ \valid(s + (0 .. format_length(format) - 1)); - requires valid_read_string(format); - requires valid_read_string(param1); assigns \result, *(s + (0 ..)); assigns \result \from (indirect: n), (indirect: *(format + (0 ..))), @@ -116,8 +116,8 @@ int printf_va_1(char const * restrict format, int param0, char *param1, int snprintf_va_1(char * restrict s, size_t n, char const * restrict format, int param0, char *param1, int param2); -/*@ requires valid_read_string(format); - requires valid_read_string(param1); +/*@ requires valid_read_string(param1); + requires valid_read_string(format); assigns \result, *(s + (0 ..)); assigns \result \from (indirect: *(format + (0 ..))), (indirect: param2), @@ -129,9 +129,9 @@ int snprintf_va_1(char * restrict s, size_t n, char const * restrict format, int sprintf_va_1(char * restrict s, char const * restrict format, int param0, char *param1, int param2); -/*@ requires valid_read_string(format); +/*@ requires valid_read_string(param1); requires valid_read_string(param2); - requires valid_read_string(param1); + requires valid_read_string(format); assigns \result; assigns \result \from (indirect: fd), (indirect: *(format + (0 ..))), 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 0204089ba081519d1c242c1e2a2bccf6de947262..e9425f50afe0efde098eff7834483a9d71281e48 100644 --- a/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle @@ -51,11 +51,11 @@ #include "stdarg.h" #include "stddef.h" #include "stdio.h" -/*@ requires valid_read_string(format); +/*@ requires \valid(param0); requires \valid(param2); - requires \valid(param0); - ensures \initialized(param2); + requires valid_read_string(format); ensures \initialized(param0); + ensures \initialized(param2); assigns \result, stream->__fc_FILE_data, *param2, *(param1 + (0 ..)), *param0; assigns \result @@ -78,11 +78,11 @@ int fscanf_va_1(FILE * restrict stream, char const * restrict format, int *param0, char *param1, int *param2); -/*@ requires valid_read_string(format); +/*@ requires \valid(param0); requires \valid(param2); - requires \valid(param0); - ensures \initialized(param2); + requires valid_read_string(format); ensures \initialized(param0); + ensures \initialized(param2); assigns \result, __fc_stdin->__fc_FILE_data, *param2, *(param1 + (0 ..)), *param0; assigns \result @@ -105,12 +105,12 @@ int fscanf_va_1(FILE * restrict stream, char const * restrict format, int scanf_va_1(char const * restrict format, int *param0, char *param1, int *param2); -/*@ requires valid_read_string(s); - requires valid_read_string(format); +/*@ requires \valid(param0); requires \valid(param2); - requires \valid(param0); - ensures \initialized(param2); + requires valid_read_string(format); + requires valid_read_string(s); ensures \initialized(param0); + ensures \initialized(param2); assigns \result, *param2, *(param1 + (0 ..)), *param0; assigns \result \from (indirect: *(s + (0 ..))), (indirect: *(format + (0 ..))); diff --git a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle index 326508d6ec1331114c74ad831beef0dcf890958c..8205df96d4a61e8c2a4eae55f86162b07d38e555 100644 --- a/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/swprintf.res.oracle @@ -35,7 +35,7 @@ [eva] Initial state computed [eva] using specification for function wmemset [eva] using specification for function swprintf_va_1 -[eva] tests/known/swprintf.c:12: +[eva] FRAMAC_SHARE/libc/wchar.h:274: Cannot evaluate range bound wformat_length(format) - 1 (unsupported ACSL construct: logic function wformat_length). Approximating [eva:alarm] tests/known/swprintf.c:12: Warning: @@ -62,11 +62,11 @@ #include "time.h" #include "wchar.h" int volatile nondet; -/*@ requires +/*@ requires valid_read_wstring(param0); + requires valid_read_wstring(format); + requires \valid(ws + (0 .. n - 1)) ∨ \valid(ws + (0 .. wformat_length(format) - 1)); - requires valid_read_wstring(format); - requires valid_read_wstring(param0); assigns \result, *(ws + (0 ..)); assigns \result \from (indirect: n), (indirect: *(format + (0 ..))), @@ -77,11 +77,11 @@ int volatile nondet; int swprintf_va_1(wchar_t *ws, size_t n, wchar_t const *format, wchar_t *param0); -/*@ requires +/*@ requires valid_read_wstring(param0); + requires valid_read_wstring(format); + requires \valid(ws + (0 .. n - 1)) ∨ \valid(ws + (0 .. wformat_length(format) - 1)); - requires valid_read_wstring(format); - requires valid_read_wstring(param0); assigns \result, *(ws + (0 ..)); assigns \result \from (indirect: n), (indirect: *(format + (0 ..))), diff --git a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle index fb03056d82e92a3bd583652a7ce2d7835c903477..d04b2860030418ce2dc78f032a869e8c57636e53 100644 --- a/src/plugins/variadic/tests/known/oracle/wchar.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/wchar.res.oracle @@ -164,8 +164,8 @@ int wprintf_va_4(wchar_t const *format, double param0, double param1, */ int wprintf_va_5(wchar_t const *format, int param0, int param1); -/*@ requires valid_read_wstring(format); - requires valid_read_wstring(param0); +/*@ requires valid_read_wstring(param0); + requires valid_read_wstring(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), @@ -178,11 +178,11 @@ int wprintf_va_5(wchar_t const *format, int param0, int param1); */ int wprintf_va_6(wchar_t const *format, wchar_t *param0); -/*@ requires +/*@ requires valid_read_string(param0); + requires valid_read_wstring(format); + requires \valid(ws + (0 .. n - 1)) ∨ \valid(ws + (0 .. wformat_length(format) - 1)); - requires valid_read_wstring(format); - requires valid_read_string(param0); assigns \result, *(ws + (0 ..)); assigns \result \from (indirect: n), (indirect: *(format + (0 ..))), @@ -209,11 +209,11 @@ int swprintf_va_1(wchar_t *ws, size_t n, wchar_t const *format, char *param0, */ int wscanf_va_1(wchar_t const *format, wchar_t *param0); -/*@ requires valid_read_wstring(format); +/*@ requires \valid(param0); requires \valid(param1); - requires \valid(param0); - ensures \initialized(param1); + requires valid_read_wstring(format); ensures \initialized(param0); + ensures \initialized(param1); assigns \result, __fc_stdin->__fc_FILE_data, *param1, *param0; assigns \result \from (indirect: __fc_stdin->__fc_FILE_id), @@ -231,9 +231,9 @@ int wscanf_va_1(wchar_t const *format, wchar_t *param0); */ int wscanf_va_2(wchar_t const *format, int *param0, int *param1); -/*@ requires valid_read_wstring(str); +/*@ requires \valid(param1); requires valid_read_wstring(format); - requires \valid(param1); + requires valid_read_wstring(str); ensures \initialized(param1); assigns \result, *param1, *(param0 + (0 ..)); assigns \result diff --git a/src/plugins/variadic/va_build.ml b/src/plugins/variadic/va_build.ml deleted file mode 100644 index b9d805e6c3cff55ce526755739d1d5eb04648b56..0000000000000000000000000000000000000000 --- a/src/plugins/variadic/va_build.ml +++ /dev/null @@ -1,112 +0,0 @@ -(**************************************************************************) -(* *) -(* This file is part of Frama-C. *) -(* *) -(* Copyright (C) 2007-2021 *) -(* 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 -open Cil - - -(* --- Cil builders --- *) - -let function_declaration ?vattr ~loc name typ mk_spec = - (* Build the varinfo *) - let vi = makeGlobalVar ~referenced:true name typ in - Option.iter (fun extra_vattr -> vi.vattr <- vi.vattr @ extra_vattr) vattr; - vi.vdecl <- loc; - (* Build the formals *) - setFormalsDecl vi typ; - let formals = getFormalsDecl vi in - let spec = mk_spec formals in - (* Build the declaration statement *) - let glob = GFunDecl (spec, vi, vi.vdecl) in - vi, glob - -let vi_init ~loc vi exp = Local_init(vi, AssignInit (SingleInit exp), loc) - -let array_init ~loc fundec ~ghost scope name elem_typ values = - let size = max (List.length values) 1 in (* In C, Array size >= 1 *) - let esize = Cil.integer ~loc size in - let typ = TArray (elem_typ, Some esize, Cil.empty_size_cache (), []) in - 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 - in - vi.vdefined <- true; - vi, Local_init(vi, AssignInit(CompoundInit(typ,initl)), loc) - -let call ~loc lval callee args = - let instr = Call (lval, (Cil.evar ~loc callee), args, loc) in - Cil.mkStmtOneInstr ~valid_sid:true instr - - -(* --- Logic builders --- *) - -let lvar vi = - TVar (Cil.cvar_to_lvar vi), TNoOffset - -let tlval ~loc lval = - Logic_const.term ~loc (TLval lval) (typeOfTermLval lval) - -let tvar ~loc vi = - tlval ~loc (lvar vi) - -let tvarmem ~loc vi = - TMem (tvar ~loc vi), TNoOffset - -let tvarfield ~loc vi fieldinfo = - TMem (tvar ~loc vi), TField (fieldinfo, TNoOffset) - -let tresult typ = - TResult typ, TNoOffset - -let tzero ~loc = Cil.lzero ~loc () -let tone ~loc = Cil.lone ~loc () - -let tbinop ~loc binop t1 t2 = - Logic_const.term ~loc (TBinOp (binop, t1, t2)) t1.term_type - -let tminus ~loc t1 t2 = - tbinop ~loc MinusA t1 t2 - -let tplus ~loc t1 t2 = - tbinop ~loc PlusA t1 t2 - -let trange ~loc tstart tend = - Logic_const.trange ~loc (tstart, tend) - -let trange_from_vi ~loc vi = - let var = tvar ~loc vi - and range = trange ~loc (Some (tzero ~loc)) None in - TMem (tbinop IndexPI ~loc var range), TNoOffset - -exception NotAFunction - -let tapp ~loc logic_info labels args = - let ltyp = match logic_info.l_type with - | None -> raise NotAFunction - | Some ltyp -> ltyp - in - Logic_const.term ~loc (Tapp (logic_info, labels, args)) ltyp diff --git a/tests/idct/oracle/ieee_1180_1990.res.oracle b/tests/idct/oracle/ieee_1180_1990.res.oracle index c03bc0130e505d8cf9b19639ed38eb75b901253e..9f23868dd0dccaa94f1142abf3a7e6a05ee5b172 100644 --- a/tests/idct/oracle/ieee_1180_1990.res.oracle +++ b/tests/idct/oracle/ieee_1180_1990.res.oracle @@ -4195,12 +4195,12 @@ assert Eva: initialization: \initialized(&res[i].pme[j][k]); By RedundantAlarms, with pending: - Assertion 'Eva,initialization' (file tests/idct/ieee_1180_1990.c, line 368) -[ Valid ] Instance of 'Pre-condition (file tests/idct/ieee_1180_1990.c, line 195)' at call 'printf_va_1' (file tests/idct/ieee_1180_1990.c, line 195) +[ Valid ] Instance of 'Pre-condition (file share/libc/stdio.h, line 211)' at call 'printf_va_1' (file tests/idct/ieee_1180_1990.c, line 195) status of 'requires valid_read_string(format)' of printf_va_1 at stmt 238 by Eva. -[ Valid ] Instance of 'Pre-condition (file tests/idct/ieee_1180_1990.c, line 196)' at call 'printf_va_2' (file tests/idct/ieee_1180_1990.c, line 196) +[ Valid ] Instance of 'Pre-condition (file share/libc/stdio.h, line 211)' at call 'printf_va_2' (file tests/idct/ieee_1180_1990.c, line 196) status of 'requires valid_read_string(format)' of printf_va_2 at stmt 239 @@ -4210,22 +4210,22 @@ --- Properties of Function 'printf_va_1' -------------------------------------------------------------------------------- -[ Valid ] Pre-condition (file tests/idct/ieee_1180_1990.c, line 195) +[ Valid ] Pre-condition (file share/libc/stdio.h, line 211) requires valid_read_string(format) by Call Preconditions. -[ Extern ] Assigns (file tests/idct/ieee_1180_1990.c, line 195) +[ Extern ] Assigns (file share/libc/stdio.h, line 211) assigns \result, __fc_stdout->__fc_FILE_data; Unverifiable but considered Valid. -[ Extern ] Froms (file tests/idct/ieee_1180_1990.c, line 195) - assigns __fc_stdout->__fc_FILE_data +[ Extern ] Froms (file share/libc/stdio.h, line 211) + assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, + (indirect: __fc_stdout->__fc_FILE_data), (indirect: *(format + (0 ..))); Unverifiable but considered Valid. -[ Extern ] Froms (file tests/idct/ieee_1180_1990.c, line 195) - assigns \result +[ Extern ] Froms (file share/libc/stdio.h, line 211) + assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), - (indirect: __fc_stdout->__fc_FILE_data), + __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); Unverifiable but considered Valid. [ Valid ] Default behavior @@ -4236,22 +4236,22 @@ --- Properties of Function 'printf_va_2' -------------------------------------------------------------------------------- -[ Valid ] Pre-condition (file tests/idct/ieee_1180_1990.c, line 196) +[ Valid ] Pre-condition (file share/libc/stdio.h, line 211) requires valid_read_string(format) by Call Preconditions. -[ Extern ] Assigns (file tests/idct/ieee_1180_1990.c, line 196) +[ Extern ] Assigns (file share/libc/stdio.h, line 211) assigns \result, __fc_stdout->__fc_FILE_data; Unverifiable but considered Valid. -[ Extern ] Froms (file tests/idct/ieee_1180_1990.c, line 196) - assigns __fc_stdout->__fc_FILE_data +[ Extern ] Froms (file share/libc/stdio.h, line 211) + assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), - __fc_stdout->__fc_FILE_data, + (indirect: __fc_stdout->__fc_FILE_data), (indirect: *(format + (0 ..))); Unverifiable but considered Valid. -[ Extern ] Froms (file tests/idct/ieee_1180_1990.c, line 196) - assigns \result +[ Extern ] Froms (file share/libc/stdio.h, line 211) + assigns __fc_stdout->__fc_FILE_data \from (indirect: __fc_stdout->__fc_FILE_id), - (indirect: __fc_stdout->__fc_FILE_data), + __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))); Unverifiable but considered Valid. [ Valid ] Default behavior diff --git a/tests/libc/oracle/inttypes_h.0.res.oracle b/tests/libc/oracle/inttypes_h.0.res.oracle index 9043fcd0699c2464552ea896e28d181e001c95d6..bbac05df763ba19327c103af44bb8cdc0fa5a2fe 100644 --- a/tests/libc/oracle/inttypes_h.0.res.oracle +++ b/tests/libc/oracle/inttypes_h.0.res.oracle @@ -6,8 +6,8 @@ #include "stddef.h" #include "stdint.h" #include "stdio.h" -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -36,8 +36,8 @@ int scanf_va_1(char const * restrict format, signed char *param0); */ int printf_va_1(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -66,8 +66,8 @@ int scanf_va_2(char const * restrict format, signed char *param0); */ int printf_va_2(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -96,8 +96,8 @@ int scanf_va_3(char const * restrict format, unsigned char *param0); */ int printf_va_3(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -126,8 +126,8 @@ int scanf_va_4(char const * restrict format, unsigned char *param0); */ int printf_va_4(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -156,8 +156,8 @@ int scanf_va_5(char const * restrict format, unsigned char *param0); */ int printf_va_5(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -186,8 +186,8 @@ int scanf_va_6(char const * restrict format, unsigned char *param0); */ int printf_va_6(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -216,8 +216,8 @@ int scanf_va_7(char const * restrict format, short *param0); */ int printf_va_7(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -246,8 +246,8 @@ int scanf_va_8(char const * restrict format, short *param0); */ int printf_va_8(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -276,8 +276,8 @@ int scanf_va_9(char const * restrict format, unsigned short *param0); */ int printf_va_9(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -306,8 +306,8 @@ int scanf_va_10(char const * restrict format, unsigned short *param0); */ int printf_va_10(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -336,8 +336,8 @@ int scanf_va_11(char const * restrict format, unsigned short *param0); */ int printf_va_11(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -366,8 +366,8 @@ int scanf_va_12(char const * restrict format, unsigned short *param0); */ int printf_va_12(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -396,8 +396,8 @@ int scanf_va_13(char const * restrict format, long *param0); */ int printf_va_13(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -426,8 +426,8 @@ int scanf_va_14(char const * restrict format, long *param0); */ int printf_va_14(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -456,8 +456,8 @@ int scanf_va_15(char const * restrict format, unsigned long *param0); */ int printf_va_15(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -486,8 +486,8 @@ int scanf_va_16(char const * restrict format, unsigned long *param0); */ int printf_va_16(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -516,8 +516,8 @@ int scanf_va_17(char const * restrict format, unsigned long *param0); */ int printf_va_17(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -546,8 +546,8 @@ int scanf_va_18(char const * restrict format, unsigned long *param0); */ int printf_va_18(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -576,8 +576,8 @@ int scanf_va_19(char const * restrict format, long long *param0); */ int printf_va_19(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -606,8 +606,8 @@ int scanf_va_20(char const * restrict format, long long *param0); */ int printf_va_20(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -636,8 +636,8 @@ int scanf_va_21(char const * restrict format, unsigned long long *param0); */ int printf_va_21(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -666,8 +666,8 @@ int scanf_va_22(char const * restrict format, unsigned long long *param0); */ int printf_va_22(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -696,8 +696,8 @@ int scanf_va_23(char const * restrict format, unsigned long long *param0); */ int printf_va_23(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -726,8 +726,8 @@ int scanf_va_24(char const * restrict format, unsigned long long *param0); */ int printf_va_24(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -756,8 +756,8 @@ int scanf_va_25(char const * restrict format, signed char *param0); */ int printf_va_25(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -786,8 +786,8 @@ int scanf_va_26(char const * restrict format, signed char *param0); */ int printf_va_26(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -816,8 +816,8 @@ int scanf_va_27(char const * restrict format, unsigned char *param0); */ int printf_va_27(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -846,8 +846,8 @@ int scanf_va_28(char const * restrict format, unsigned char *param0); */ int printf_va_28(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -876,8 +876,8 @@ int scanf_va_29(char const * restrict format, unsigned char *param0); */ int printf_va_29(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -906,8 +906,8 @@ int scanf_va_30(char const * restrict format, unsigned char *param0); */ int printf_va_30(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -936,8 +936,8 @@ int scanf_va_31(char const * restrict format, short *param0); */ int printf_va_31(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -966,8 +966,8 @@ int scanf_va_32(char const * restrict format, short *param0); */ int printf_va_32(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -996,8 +996,8 @@ int scanf_va_33(char const * restrict format, unsigned short *param0); */ int printf_va_33(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1026,8 +1026,8 @@ int scanf_va_34(char const * restrict format, unsigned short *param0); */ int printf_va_34(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1056,8 +1056,8 @@ int scanf_va_35(char const * restrict format, unsigned short *param0); */ int printf_va_35(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1086,8 +1086,8 @@ int scanf_va_36(char const * restrict format, unsigned short *param0); */ int printf_va_36(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1116,8 +1116,8 @@ int scanf_va_37(char const * restrict format, long *param0); */ int printf_va_37(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1146,8 +1146,8 @@ int scanf_va_38(char const * restrict format, long *param0); */ int printf_va_38(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1176,8 +1176,8 @@ int scanf_va_39(char const * restrict format, unsigned long *param0); */ int printf_va_39(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1206,8 +1206,8 @@ int scanf_va_40(char const * restrict format, unsigned long *param0); */ int printf_va_40(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1236,8 +1236,8 @@ int scanf_va_41(char const * restrict format, unsigned long *param0); */ int printf_va_41(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1266,8 +1266,8 @@ int scanf_va_42(char const * restrict format, unsigned long *param0); */ int printf_va_42(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1296,8 +1296,8 @@ int scanf_va_43(char const * restrict format, long long *param0); */ int printf_va_43(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1326,8 +1326,8 @@ int scanf_va_44(char const * restrict format, long long *param0); */ int printf_va_44(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1356,8 +1356,8 @@ int scanf_va_45(char const * restrict format, unsigned long long *param0); */ int printf_va_45(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1386,8 +1386,8 @@ int scanf_va_46(char const * restrict format, unsigned long long *param0); */ int printf_va_46(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1416,8 +1416,8 @@ int scanf_va_47(char const * restrict format, unsigned long long *param0); */ int printf_va_47(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1446,8 +1446,8 @@ int scanf_va_48(char const * restrict format, unsigned long long *param0); */ int printf_va_48(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1476,8 +1476,8 @@ int scanf_va_49(char const * restrict format, signed char *param0); */ int printf_va_49(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1506,8 +1506,8 @@ int scanf_va_50(char const * restrict format, signed char *param0); */ int printf_va_50(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1536,8 +1536,8 @@ int scanf_va_51(char const * restrict format, unsigned char *param0); */ int printf_va_51(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1566,8 +1566,8 @@ int scanf_va_52(char const * restrict format, unsigned char *param0); */ int printf_va_52(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1596,8 +1596,8 @@ int scanf_va_53(char const * restrict format, unsigned char *param0); */ int printf_va_53(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1626,8 +1626,8 @@ int scanf_va_54(char const * restrict format, unsigned char *param0); */ int printf_va_54(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1656,8 +1656,8 @@ int scanf_va_55(char const * restrict format, int *param0); */ int printf_va_55(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1686,8 +1686,8 @@ int scanf_va_56(char const * restrict format, int *param0); */ int printf_va_56(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1716,8 +1716,8 @@ int scanf_va_57(char const * restrict format, unsigned int *param0); */ int printf_va_57(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1746,8 +1746,8 @@ int scanf_va_58(char const * restrict format, unsigned int *param0); */ int printf_va_58(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1776,8 +1776,8 @@ int scanf_va_59(char const * restrict format, unsigned int *param0); */ int printf_va_59(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1806,8 +1806,8 @@ int scanf_va_60(char const * restrict format, unsigned int *param0); */ int printf_va_60(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1836,8 +1836,8 @@ int scanf_va_61(char const * restrict format, long *param0); */ int printf_va_61(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1866,8 +1866,8 @@ int scanf_va_62(char const * restrict format, long *param0); */ int printf_va_62(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1896,8 +1896,8 @@ int scanf_va_63(char const * restrict format, unsigned long *param0); */ int printf_va_63(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1926,8 +1926,8 @@ int scanf_va_64(char const * restrict format, unsigned long *param0); */ int printf_va_64(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1956,8 +1956,8 @@ int scanf_va_65(char const * restrict format, unsigned long *param0); */ int printf_va_65(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1986,8 +1986,8 @@ int scanf_va_66(char const * restrict format, unsigned long *param0); */ int printf_va_66(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2016,8 +2016,8 @@ int scanf_va_67(char const * restrict format, long long *param0); */ int printf_va_67(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2046,8 +2046,8 @@ int scanf_va_68(char const * restrict format, long long *param0); */ int printf_va_68(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2076,8 +2076,8 @@ int scanf_va_69(char const * restrict format, unsigned long long *param0); */ int printf_va_69(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2106,8 +2106,8 @@ int scanf_va_70(char const * restrict format, unsigned long long *param0); */ int printf_va_70(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2136,8 +2136,8 @@ int scanf_va_71(char const * restrict format, unsigned long long *param0); */ int printf_va_71(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2166,8 +2166,8 @@ int scanf_va_72(char const * restrict format, unsigned long long *param0); */ int printf_va_72(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2196,8 +2196,8 @@ int scanf_va_73(char const * restrict format, long long *param0); */ int printf_va_73(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2226,8 +2226,8 @@ int scanf_va_74(char const * restrict format, long long *param0); */ int printf_va_74(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2256,8 +2256,8 @@ int scanf_va_75(char const * restrict format, unsigned long long *param0); */ int printf_va_75(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2286,8 +2286,8 @@ int scanf_va_76(char const * restrict format, unsigned long long *param0); */ int printf_va_76(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2316,8 +2316,8 @@ int scanf_va_77(char const * restrict format, unsigned long long *param0); */ int printf_va_77(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2346,8 +2346,8 @@ int scanf_va_78(char const * restrict format, unsigned long long *param0); */ int printf_va_78(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2376,8 +2376,8 @@ int scanf_va_79(char const * restrict format, long *param0); */ int printf_va_79(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2406,8 +2406,8 @@ int scanf_va_80(char const * restrict format, long *param0); */ int printf_va_80(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2436,8 +2436,8 @@ int scanf_va_81(char const * restrict format, unsigned long *param0); */ int printf_va_81(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2466,8 +2466,8 @@ int scanf_va_82(char const * restrict format, unsigned long *param0); */ int printf_va_82(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2496,8 +2496,8 @@ int scanf_va_83(char const * restrict format, unsigned long *param0); */ int printf_va_83(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result diff --git a/tests/libc/oracle/inttypes_h.1.res.oracle b/tests/libc/oracle/inttypes_h.1.res.oracle index 90c1f742453f5cefd167915b0b1459fd772289a3..6287272333f1c78e4248b503efdffe9ee805809c 100644 --- a/tests/libc/oracle/inttypes_h.1.res.oracle +++ b/tests/libc/oracle/inttypes_h.1.res.oracle @@ -6,8 +6,8 @@ #include "stddef.h" #include "stdint.h" #include "stdio.h" -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -36,8 +36,8 @@ int scanf_va_1(char const * restrict format, signed char *param0); */ int printf_va_1(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -66,8 +66,8 @@ int scanf_va_2(char const * restrict format, signed char *param0); */ int printf_va_2(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -96,8 +96,8 @@ int scanf_va_3(char const * restrict format, unsigned char *param0); */ int printf_va_3(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -126,8 +126,8 @@ int scanf_va_4(char const * restrict format, unsigned char *param0); */ int printf_va_4(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -156,8 +156,8 @@ int scanf_va_5(char const * restrict format, unsigned char *param0); */ int printf_va_5(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -186,8 +186,8 @@ int scanf_va_6(char const * restrict format, unsigned char *param0); */ int printf_va_6(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -216,8 +216,8 @@ int scanf_va_7(char const * restrict format, short *param0); */ int printf_va_7(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -246,8 +246,8 @@ int scanf_va_8(char const * restrict format, short *param0); */ int printf_va_8(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -276,8 +276,8 @@ int scanf_va_9(char const * restrict format, unsigned short *param0); */ int printf_va_9(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -306,8 +306,8 @@ int scanf_va_10(char const * restrict format, unsigned short *param0); */ int printf_va_10(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -336,8 +336,8 @@ int scanf_va_11(char const * restrict format, unsigned short *param0); */ int printf_va_11(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -366,8 +366,8 @@ int scanf_va_12(char const * restrict format, unsigned short *param0); */ int printf_va_12(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -396,8 +396,8 @@ int scanf_va_13(char const * restrict format, int *param0); */ int printf_va_13(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -426,8 +426,8 @@ int scanf_va_14(char const * restrict format, int *param0); */ int printf_va_14(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -456,8 +456,8 @@ int scanf_va_15(char const * restrict format, unsigned int *param0); */ int printf_va_15(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -486,8 +486,8 @@ int scanf_va_16(char const * restrict format, unsigned int *param0); */ int printf_va_16(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -516,8 +516,8 @@ int scanf_va_17(char const * restrict format, unsigned int *param0); */ int printf_va_17(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -546,8 +546,8 @@ int scanf_va_18(char const * restrict format, unsigned int *param0); */ int printf_va_18(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -576,8 +576,8 @@ int scanf_va_19(char const * restrict format, long long *param0); */ int printf_va_19(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -606,8 +606,8 @@ int scanf_va_20(char const * restrict format, long long *param0); */ int printf_va_20(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -636,8 +636,8 @@ int scanf_va_21(char const * restrict format, unsigned long long *param0); */ int printf_va_21(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -666,8 +666,8 @@ int scanf_va_22(char const * restrict format, unsigned long long *param0); */ int printf_va_22(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -696,8 +696,8 @@ int scanf_va_23(char const * restrict format, unsigned long long *param0); */ int printf_va_23(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -726,8 +726,8 @@ int scanf_va_24(char const * restrict format, unsigned long long *param0); */ int printf_va_24(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -756,8 +756,8 @@ int scanf_va_25(char const * restrict format, signed char *param0); */ int printf_va_25(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -786,8 +786,8 @@ int scanf_va_26(char const * restrict format, signed char *param0); */ int printf_va_26(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -816,8 +816,8 @@ int scanf_va_27(char const * restrict format, unsigned char *param0); */ int printf_va_27(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -846,8 +846,8 @@ int scanf_va_28(char const * restrict format, unsigned char *param0); */ int printf_va_28(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -876,8 +876,8 @@ int scanf_va_29(char const * restrict format, unsigned char *param0); */ int printf_va_29(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -906,8 +906,8 @@ int scanf_va_30(char const * restrict format, unsigned char *param0); */ int printf_va_30(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -936,8 +936,8 @@ int scanf_va_31(char const * restrict format, short *param0); */ int printf_va_31(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -966,8 +966,8 @@ int scanf_va_32(char const * restrict format, short *param0); */ int printf_va_32(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -996,8 +996,8 @@ int scanf_va_33(char const * restrict format, unsigned short *param0); */ int printf_va_33(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1026,8 +1026,8 @@ int scanf_va_34(char const * restrict format, unsigned short *param0); */ int printf_va_34(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1056,8 +1056,8 @@ int scanf_va_35(char const * restrict format, unsigned short *param0); */ int printf_va_35(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1086,8 +1086,8 @@ int scanf_va_36(char const * restrict format, unsigned short *param0); */ int printf_va_36(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1116,8 +1116,8 @@ int scanf_va_37(char const * restrict format, int *param0); */ int printf_va_37(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1146,8 +1146,8 @@ int scanf_va_38(char const * restrict format, int *param0); */ int printf_va_38(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1176,8 +1176,8 @@ int scanf_va_39(char const * restrict format, unsigned int *param0); */ int printf_va_39(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1206,8 +1206,8 @@ int scanf_va_40(char const * restrict format, unsigned int *param0); */ int printf_va_40(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1236,8 +1236,8 @@ int scanf_va_41(char const * restrict format, unsigned int *param0); */ int printf_va_41(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1266,8 +1266,8 @@ int scanf_va_42(char const * restrict format, unsigned int *param0); */ int printf_va_42(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1296,8 +1296,8 @@ int scanf_va_43(char const * restrict format, long long *param0); */ int printf_va_43(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1326,8 +1326,8 @@ int scanf_va_44(char const * restrict format, long long *param0); */ int printf_va_44(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1356,8 +1356,8 @@ int scanf_va_45(char const * restrict format, unsigned long long *param0); */ int printf_va_45(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1386,8 +1386,8 @@ int scanf_va_46(char const * restrict format, unsigned long long *param0); */ int printf_va_46(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1416,8 +1416,8 @@ int scanf_va_47(char const * restrict format, unsigned long long *param0); */ int printf_va_47(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1446,8 +1446,8 @@ int scanf_va_48(char const * restrict format, unsigned long long *param0); */ int printf_va_48(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1476,8 +1476,8 @@ int scanf_va_49(char const * restrict format, signed char *param0); */ int printf_va_49(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1506,8 +1506,8 @@ int scanf_va_50(char const * restrict format, signed char *param0); */ int printf_va_50(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1536,8 +1536,8 @@ int scanf_va_51(char const * restrict format, unsigned char *param0); */ int printf_va_51(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1566,8 +1566,8 @@ int scanf_va_52(char const * restrict format, unsigned char *param0); */ int printf_va_52(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1596,8 +1596,8 @@ int scanf_va_53(char const * restrict format, unsigned char *param0); */ int printf_va_53(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1626,8 +1626,8 @@ int scanf_va_54(char const * restrict format, unsigned char *param0); */ int printf_va_54(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1656,8 +1656,8 @@ int scanf_va_55(char const * restrict format, int *param0); */ int printf_va_55(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1686,8 +1686,8 @@ int scanf_va_56(char const * restrict format, int *param0); */ int printf_va_56(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1716,8 +1716,8 @@ int scanf_va_57(char const * restrict format, unsigned int *param0); */ int printf_va_57(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1746,8 +1746,8 @@ int scanf_va_58(char const * restrict format, unsigned int *param0); */ int printf_va_58(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1776,8 +1776,8 @@ int scanf_va_59(char const * restrict format, unsigned int *param0); */ int printf_va_59(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1806,8 +1806,8 @@ int scanf_va_60(char const * restrict format, unsigned int *param0); */ int printf_va_60(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1836,8 +1836,8 @@ int scanf_va_61(char const * restrict format, int *param0); */ int printf_va_61(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1866,8 +1866,8 @@ int scanf_va_62(char const * restrict format, int *param0); */ int printf_va_62(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1896,8 +1896,8 @@ int scanf_va_63(char const * restrict format, unsigned int *param0); */ int printf_va_63(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1926,8 +1926,8 @@ int scanf_va_64(char const * restrict format, unsigned int *param0); */ int printf_va_64(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1956,8 +1956,8 @@ int scanf_va_65(char const * restrict format, unsigned int *param0); */ int printf_va_65(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1986,8 +1986,8 @@ int scanf_va_66(char const * restrict format, unsigned int *param0); */ int printf_va_66(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2016,8 +2016,8 @@ int scanf_va_67(char const * restrict format, long long *param0); */ int printf_va_67(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2046,8 +2046,8 @@ int scanf_va_68(char const * restrict format, long long *param0); */ int printf_va_68(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2076,8 +2076,8 @@ int scanf_va_69(char const * restrict format, unsigned long long *param0); */ int printf_va_69(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2106,8 +2106,8 @@ int scanf_va_70(char const * restrict format, unsigned long long *param0); */ int printf_va_70(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2136,8 +2136,8 @@ int scanf_va_71(char const * restrict format, unsigned long long *param0); */ int printf_va_71(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2166,8 +2166,8 @@ int scanf_va_72(char const * restrict format, unsigned long long *param0); */ int printf_va_72(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2196,8 +2196,8 @@ int scanf_va_73(char const * restrict format, long long *param0); */ int printf_va_73(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2226,8 +2226,8 @@ int scanf_va_74(char const * restrict format, long long *param0); */ int printf_va_74(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2256,8 +2256,8 @@ int scanf_va_75(char const * restrict format, unsigned long long *param0); */ int printf_va_75(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2286,8 +2286,8 @@ int scanf_va_76(char const * restrict format, unsigned long long *param0); */ int printf_va_76(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2316,8 +2316,8 @@ int scanf_va_77(char const * restrict format, unsigned long long *param0); */ int printf_va_77(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2346,8 +2346,8 @@ int scanf_va_78(char const * restrict format, unsigned long long *param0); */ int printf_va_78(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2376,8 +2376,8 @@ int scanf_va_79(char const * restrict format, int *param0); */ int printf_va_79(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2406,8 +2406,8 @@ int scanf_va_80(char const * restrict format, int *param0); */ int printf_va_80(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2436,8 +2436,8 @@ int scanf_va_81(char const * restrict format, unsigned int *param0); */ int printf_va_81(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2466,8 +2466,8 @@ int scanf_va_82(char const * restrict format, unsigned int *param0); */ int printf_va_82(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2496,8 +2496,8 @@ int scanf_va_83(char const * restrict format, unsigned int *param0); */ int printf_va_83(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result diff --git a/tests/libc/oracle/inttypes_h.2.res.oracle b/tests/libc/oracle/inttypes_h.2.res.oracle index 97acd045fd99a436d4c632a35ca8a2039d37cf52..92e41aa30a46fc7b7c5d20da5e32619e6dea3603 100644 --- a/tests/libc/oracle/inttypes_h.2.res.oracle +++ b/tests/libc/oracle/inttypes_h.2.res.oracle @@ -6,8 +6,8 @@ #include "stddef.h" #include "stdint.h" #include "stdio.h" -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -36,8 +36,8 @@ int scanf_va_1(char const * restrict format, signed char *param0); */ int printf_va_1(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -66,8 +66,8 @@ int scanf_va_2(char const * restrict format, signed char *param0); */ int printf_va_2(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -96,8 +96,8 @@ int scanf_va_3(char const * restrict format, unsigned char *param0); */ int printf_va_3(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -126,8 +126,8 @@ int scanf_va_4(char const * restrict format, unsigned char *param0); */ int printf_va_4(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -156,8 +156,8 @@ int scanf_va_5(char const * restrict format, unsigned char *param0); */ int printf_va_5(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -186,8 +186,8 @@ int scanf_va_6(char const * restrict format, unsigned char *param0); */ int printf_va_6(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -216,8 +216,8 @@ int scanf_va_7(char const * restrict format, short *param0); */ int printf_va_7(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -246,8 +246,8 @@ int scanf_va_8(char const * restrict format, short *param0); */ int printf_va_8(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -276,8 +276,8 @@ int scanf_va_9(char const * restrict format, unsigned short *param0); */ int printf_va_9(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -306,8 +306,8 @@ int scanf_va_10(char const * restrict format, unsigned short *param0); */ int printf_va_10(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -336,8 +336,8 @@ int scanf_va_11(char const * restrict format, unsigned short *param0); */ int printf_va_11(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -366,8 +366,8 @@ int scanf_va_12(char const * restrict format, unsigned short *param0); */ int printf_va_12(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -396,8 +396,8 @@ int scanf_va_13(char const * restrict format, int *param0); */ int printf_va_13(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -426,8 +426,8 @@ int scanf_va_14(char const * restrict format, int *param0); */ int printf_va_14(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -456,8 +456,8 @@ int scanf_va_15(char const * restrict format, unsigned int *param0); */ int printf_va_15(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -486,8 +486,8 @@ int scanf_va_16(char const * restrict format, unsigned int *param0); */ int printf_va_16(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -516,8 +516,8 @@ int scanf_va_17(char const * restrict format, unsigned int *param0); */ int printf_va_17(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -546,8 +546,8 @@ int scanf_va_18(char const * restrict format, unsigned int *param0); */ int printf_va_18(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -576,8 +576,8 @@ int scanf_va_19(char const * restrict format, long *param0); */ int printf_va_19(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -606,8 +606,8 @@ int scanf_va_20(char const * restrict format, long *param0); */ int printf_va_20(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -636,8 +636,8 @@ int scanf_va_21(char const * restrict format, unsigned long *param0); */ int printf_va_21(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -666,8 +666,8 @@ int scanf_va_22(char const * restrict format, unsigned long *param0); */ int printf_va_22(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -696,8 +696,8 @@ int scanf_va_23(char const * restrict format, unsigned long *param0); */ int printf_va_23(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -726,8 +726,8 @@ int scanf_va_24(char const * restrict format, unsigned long *param0); */ int printf_va_24(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -756,8 +756,8 @@ int scanf_va_25(char const * restrict format, signed char *param0); */ int printf_va_25(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -786,8 +786,8 @@ int scanf_va_26(char const * restrict format, signed char *param0); */ int printf_va_26(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -816,8 +816,8 @@ int scanf_va_27(char const * restrict format, unsigned char *param0); */ int printf_va_27(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -846,8 +846,8 @@ int scanf_va_28(char const * restrict format, unsigned char *param0); */ int printf_va_28(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -876,8 +876,8 @@ int scanf_va_29(char const * restrict format, unsigned char *param0); */ int printf_va_29(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -906,8 +906,8 @@ int scanf_va_30(char const * restrict format, unsigned char *param0); */ int printf_va_30(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -936,8 +936,8 @@ int scanf_va_31(char const * restrict format, short *param0); */ int printf_va_31(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -966,8 +966,8 @@ int scanf_va_32(char const * restrict format, short *param0); */ int printf_va_32(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -996,8 +996,8 @@ int scanf_va_33(char const * restrict format, unsigned short *param0); */ int printf_va_33(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1026,8 +1026,8 @@ int scanf_va_34(char const * restrict format, unsigned short *param0); */ int printf_va_34(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1056,8 +1056,8 @@ int scanf_va_35(char const * restrict format, unsigned short *param0); */ int printf_va_35(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1086,8 +1086,8 @@ int scanf_va_36(char const * restrict format, unsigned short *param0); */ int printf_va_36(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1116,8 +1116,8 @@ int scanf_va_37(char const * restrict format, int *param0); */ int printf_va_37(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1146,8 +1146,8 @@ int scanf_va_38(char const * restrict format, int *param0); */ int printf_va_38(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1176,8 +1176,8 @@ int scanf_va_39(char const * restrict format, unsigned int *param0); */ int printf_va_39(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1206,8 +1206,8 @@ int scanf_va_40(char const * restrict format, unsigned int *param0); */ int printf_va_40(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1236,8 +1236,8 @@ int scanf_va_41(char const * restrict format, unsigned int *param0); */ int printf_va_41(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1266,8 +1266,8 @@ int scanf_va_42(char const * restrict format, unsigned int *param0); */ int printf_va_42(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1296,8 +1296,8 @@ int scanf_va_43(char const * restrict format, long *param0); */ int printf_va_43(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1326,8 +1326,8 @@ int scanf_va_44(char const * restrict format, long *param0); */ int printf_va_44(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1356,8 +1356,8 @@ int scanf_va_45(char const * restrict format, unsigned long *param0); */ int printf_va_45(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1386,8 +1386,8 @@ int scanf_va_46(char const * restrict format, unsigned long *param0); */ int printf_va_46(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1416,8 +1416,8 @@ int scanf_va_47(char const * restrict format, unsigned long *param0); */ int printf_va_47(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1446,8 +1446,8 @@ int scanf_va_48(char const * restrict format, unsigned long *param0); */ int printf_va_48(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1476,8 +1476,8 @@ int scanf_va_49(char const * restrict format, signed char *param0); */ int printf_va_49(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1506,8 +1506,8 @@ int scanf_va_50(char const * restrict format, signed char *param0); */ int printf_va_50(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1536,8 +1536,8 @@ int scanf_va_51(char const * restrict format, unsigned char *param0); */ int printf_va_51(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1566,8 +1566,8 @@ int scanf_va_52(char const * restrict format, unsigned char *param0); */ int printf_va_52(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1596,8 +1596,8 @@ int scanf_va_53(char const * restrict format, unsigned char *param0); */ int printf_va_53(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1626,8 +1626,8 @@ int scanf_va_54(char const * restrict format, unsigned char *param0); */ int printf_va_54(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1656,8 +1656,8 @@ int scanf_va_55(char const * restrict format, int *param0); */ int printf_va_55(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1686,8 +1686,8 @@ int scanf_va_56(char const * restrict format, int *param0); */ int printf_va_56(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1716,8 +1716,8 @@ int scanf_va_57(char const * restrict format, unsigned int *param0); */ int printf_va_57(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1746,8 +1746,8 @@ int scanf_va_58(char const * restrict format, unsigned int *param0); */ int printf_va_58(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1776,8 +1776,8 @@ int scanf_va_59(char const * restrict format, unsigned int *param0); */ int printf_va_59(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1806,8 +1806,8 @@ int scanf_va_60(char const * restrict format, unsigned int *param0); */ int printf_va_60(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1836,8 +1836,8 @@ int scanf_va_61(char const * restrict format, int *param0); */ int printf_va_61(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1866,8 +1866,8 @@ int scanf_va_62(char const * restrict format, int *param0); */ int printf_va_62(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1896,8 +1896,8 @@ int scanf_va_63(char const * restrict format, unsigned int *param0); */ int printf_va_63(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1926,8 +1926,8 @@ int scanf_va_64(char const * restrict format, unsigned int *param0); */ int printf_va_64(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1956,8 +1956,8 @@ int scanf_va_65(char const * restrict format, unsigned int *param0); */ int printf_va_65(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1986,8 +1986,8 @@ int scanf_va_66(char const * restrict format, unsigned int *param0); */ int printf_va_66(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2016,8 +2016,8 @@ int scanf_va_67(char const * restrict format, long *param0); */ int printf_va_67(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2046,8 +2046,8 @@ int scanf_va_68(char const * restrict format, long *param0); */ int printf_va_68(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2076,8 +2076,8 @@ int scanf_va_69(char const * restrict format, unsigned long *param0); */ int printf_va_69(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2106,8 +2106,8 @@ int scanf_va_70(char const * restrict format, unsigned long *param0); */ int printf_va_70(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2136,8 +2136,8 @@ int scanf_va_71(char const * restrict format, unsigned long *param0); */ int printf_va_71(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2166,8 +2166,8 @@ int scanf_va_72(char const * restrict format, unsigned long *param0); */ int printf_va_72(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2196,8 +2196,8 @@ int scanf_va_73(char const * restrict format, long long *param0); */ int printf_va_73(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2226,8 +2226,8 @@ int scanf_va_74(char const * restrict format, long long *param0); */ int printf_va_74(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2256,8 +2256,8 @@ int scanf_va_75(char const * restrict format, unsigned long long *param0); */ int printf_va_75(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2286,8 +2286,8 @@ int scanf_va_76(char const * restrict format, unsigned long long *param0); */ int printf_va_76(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2316,8 +2316,8 @@ int scanf_va_77(char const * restrict format, unsigned long long *param0); */ int printf_va_77(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2346,8 +2346,8 @@ int scanf_va_78(char const * restrict format, unsigned long long *param0); */ int printf_va_78(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2376,8 +2376,8 @@ int scanf_va_79(char const * restrict format, long *param0); */ int printf_va_79(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2406,8 +2406,8 @@ int scanf_va_80(char const * restrict format, long *param0); */ int printf_va_80(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2436,8 +2436,8 @@ int scanf_va_81(char const * restrict format, unsigned long *param0); */ int printf_va_81(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2466,8 +2466,8 @@ int scanf_va_82(char const * restrict format, unsigned long *param0); */ int printf_va_82(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2496,8 +2496,8 @@ int scanf_va_83(char const * restrict format, unsigned long *param0); */ int printf_va_83(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result diff --git a/tests/libc/oracle/inttypes_h.3.res.oracle b/tests/libc/oracle/inttypes_h.3.res.oracle index 9043fcd0699c2464552ea896e28d181e001c95d6..bbac05df763ba19327c103af44bb8cdc0fa5a2fe 100644 --- a/tests/libc/oracle/inttypes_h.3.res.oracle +++ b/tests/libc/oracle/inttypes_h.3.res.oracle @@ -6,8 +6,8 @@ #include "stddef.h" #include "stdint.h" #include "stdio.h" -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -36,8 +36,8 @@ int scanf_va_1(char const * restrict format, signed char *param0); */ int printf_va_1(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -66,8 +66,8 @@ int scanf_va_2(char const * restrict format, signed char *param0); */ int printf_va_2(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -96,8 +96,8 @@ int scanf_va_3(char const * restrict format, unsigned char *param0); */ int printf_va_3(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -126,8 +126,8 @@ int scanf_va_4(char const * restrict format, unsigned char *param0); */ int printf_va_4(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -156,8 +156,8 @@ int scanf_va_5(char const * restrict format, unsigned char *param0); */ int printf_va_5(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -186,8 +186,8 @@ int scanf_va_6(char const * restrict format, unsigned char *param0); */ int printf_va_6(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -216,8 +216,8 @@ int scanf_va_7(char const * restrict format, short *param0); */ int printf_va_7(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -246,8 +246,8 @@ int scanf_va_8(char const * restrict format, short *param0); */ int printf_va_8(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -276,8 +276,8 @@ int scanf_va_9(char const * restrict format, unsigned short *param0); */ int printf_va_9(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -306,8 +306,8 @@ int scanf_va_10(char const * restrict format, unsigned short *param0); */ int printf_va_10(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -336,8 +336,8 @@ int scanf_va_11(char const * restrict format, unsigned short *param0); */ int printf_va_11(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -366,8 +366,8 @@ int scanf_va_12(char const * restrict format, unsigned short *param0); */ int printf_va_12(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -396,8 +396,8 @@ int scanf_va_13(char const * restrict format, long *param0); */ int printf_va_13(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -426,8 +426,8 @@ int scanf_va_14(char const * restrict format, long *param0); */ int printf_va_14(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -456,8 +456,8 @@ int scanf_va_15(char const * restrict format, unsigned long *param0); */ int printf_va_15(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -486,8 +486,8 @@ int scanf_va_16(char const * restrict format, unsigned long *param0); */ int printf_va_16(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -516,8 +516,8 @@ int scanf_va_17(char const * restrict format, unsigned long *param0); */ int printf_va_17(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -546,8 +546,8 @@ int scanf_va_18(char const * restrict format, unsigned long *param0); */ int printf_va_18(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -576,8 +576,8 @@ int scanf_va_19(char const * restrict format, long long *param0); */ int printf_va_19(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -606,8 +606,8 @@ int scanf_va_20(char const * restrict format, long long *param0); */ int printf_va_20(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -636,8 +636,8 @@ int scanf_va_21(char const * restrict format, unsigned long long *param0); */ int printf_va_21(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -666,8 +666,8 @@ int scanf_va_22(char const * restrict format, unsigned long long *param0); */ int printf_va_22(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -696,8 +696,8 @@ int scanf_va_23(char const * restrict format, unsigned long long *param0); */ int printf_va_23(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -726,8 +726,8 @@ int scanf_va_24(char const * restrict format, unsigned long long *param0); */ int printf_va_24(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -756,8 +756,8 @@ int scanf_va_25(char const * restrict format, signed char *param0); */ int printf_va_25(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -786,8 +786,8 @@ int scanf_va_26(char const * restrict format, signed char *param0); */ int printf_va_26(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -816,8 +816,8 @@ int scanf_va_27(char const * restrict format, unsigned char *param0); */ int printf_va_27(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -846,8 +846,8 @@ int scanf_va_28(char const * restrict format, unsigned char *param0); */ int printf_va_28(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -876,8 +876,8 @@ int scanf_va_29(char const * restrict format, unsigned char *param0); */ int printf_va_29(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -906,8 +906,8 @@ int scanf_va_30(char const * restrict format, unsigned char *param0); */ int printf_va_30(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -936,8 +936,8 @@ int scanf_va_31(char const * restrict format, short *param0); */ int printf_va_31(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -966,8 +966,8 @@ int scanf_va_32(char const * restrict format, short *param0); */ int printf_va_32(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -996,8 +996,8 @@ int scanf_va_33(char const * restrict format, unsigned short *param0); */ int printf_va_33(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1026,8 +1026,8 @@ int scanf_va_34(char const * restrict format, unsigned short *param0); */ int printf_va_34(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1056,8 +1056,8 @@ int scanf_va_35(char const * restrict format, unsigned short *param0); */ int printf_va_35(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1086,8 +1086,8 @@ int scanf_va_36(char const * restrict format, unsigned short *param0); */ int printf_va_36(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1116,8 +1116,8 @@ int scanf_va_37(char const * restrict format, long *param0); */ int printf_va_37(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1146,8 +1146,8 @@ int scanf_va_38(char const * restrict format, long *param0); */ int printf_va_38(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1176,8 +1176,8 @@ int scanf_va_39(char const * restrict format, unsigned long *param0); */ int printf_va_39(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1206,8 +1206,8 @@ int scanf_va_40(char const * restrict format, unsigned long *param0); */ int printf_va_40(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1236,8 +1236,8 @@ int scanf_va_41(char const * restrict format, unsigned long *param0); */ int printf_va_41(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1266,8 +1266,8 @@ int scanf_va_42(char const * restrict format, unsigned long *param0); */ int printf_va_42(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1296,8 +1296,8 @@ int scanf_va_43(char const * restrict format, long long *param0); */ int printf_va_43(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1326,8 +1326,8 @@ int scanf_va_44(char const * restrict format, long long *param0); */ int printf_va_44(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1356,8 +1356,8 @@ int scanf_va_45(char const * restrict format, unsigned long long *param0); */ int printf_va_45(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1386,8 +1386,8 @@ int scanf_va_46(char const * restrict format, unsigned long long *param0); */ int printf_va_46(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1416,8 +1416,8 @@ int scanf_va_47(char const * restrict format, unsigned long long *param0); */ int printf_va_47(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1446,8 +1446,8 @@ int scanf_va_48(char const * restrict format, unsigned long long *param0); */ int printf_va_48(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1476,8 +1476,8 @@ int scanf_va_49(char const * restrict format, signed char *param0); */ int printf_va_49(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1506,8 +1506,8 @@ int scanf_va_50(char const * restrict format, signed char *param0); */ int printf_va_50(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1536,8 +1536,8 @@ int scanf_va_51(char const * restrict format, unsigned char *param0); */ int printf_va_51(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1566,8 +1566,8 @@ int scanf_va_52(char const * restrict format, unsigned char *param0); */ int printf_va_52(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1596,8 +1596,8 @@ int scanf_va_53(char const * restrict format, unsigned char *param0); */ int printf_va_53(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1626,8 +1626,8 @@ int scanf_va_54(char const * restrict format, unsigned char *param0); */ int printf_va_54(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1656,8 +1656,8 @@ int scanf_va_55(char const * restrict format, int *param0); */ int printf_va_55(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1686,8 +1686,8 @@ int scanf_va_56(char const * restrict format, int *param0); */ int printf_va_56(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1716,8 +1716,8 @@ int scanf_va_57(char const * restrict format, unsigned int *param0); */ int printf_va_57(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1746,8 +1746,8 @@ int scanf_va_58(char const * restrict format, unsigned int *param0); */ int printf_va_58(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1776,8 +1776,8 @@ int scanf_va_59(char const * restrict format, unsigned int *param0); */ int printf_va_59(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1806,8 +1806,8 @@ int scanf_va_60(char const * restrict format, unsigned int *param0); */ int printf_va_60(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1836,8 +1836,8 @@ int scanf_va_61(char const * restrict format, long *param0); */ int printf_va_61(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1866,8 +1866,8 @@ int scanf_va_62(char const * restrict format, long *param0); */ int printf_va_62(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1896,8 +1896,8 @@ int scanf_va_63(char const * restrict format, unsigned long *param0); */ int printf_va_63(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1926,8 +1926,8 @@ int scanf_va_64(char const * restrict format, unsigned long *param0); */ int printf_va_64(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1956,8 +1956,8 @@ int scanf_va_65(char const * restrict format, unsigned long *param0); */ int printf_va_65(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1986,8 +1986,8 @@ int scanf_va_66(char const * restrict format, unsigned long *param0); */ int printf_va_66(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2016,8 +2016,8 @@ int scanf_va_67(char const * restrict format, long long *param0); */ int printf_va_67(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2046,8 +2046,8 @@ int scanf_va_68(char const * restrict format, long long *param0); */ int printf_va_68(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2076,8 +2076,8 @@ int scanf_va_69(char const * restrict format, unsigned long long *param0); */ int printf_va_69(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2106,8 +2106,8 @@ int scanf_va_70(char const * restrict format, unsigned long long *param0); */ int printf_va_70(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2136,8 +2136,8 @@ int scanf_va_71(char const * restrict format, unsigned long long *param0); */ int printf_va_71(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2166,8 +2166,8 @@ int scanf_va_72(char const * restrict format, unsigned long long *param0); */ int printf_va_72(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2196,8 +2196,8 @@ int scanf_va_73(char const * restrict format, long long *param0); */ int printf_va_73(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2226,8 +2226,8 @@ int scanf_va_74(char const * restrict format, long long *param0); */ int printf_va_74(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2256,8 +2256,8 @@ int scanf_va_75(char const * restrict format, unsigned long long *param0); */ int printf_va_75(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2286,8 +2286,8 @@ int scanf_va_76(char const * restrict format, unsigned long long *param0); */ int printf_va_76(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2316,8 +2316,8 @@ int scanf_va_77(char const * restrict format, unsigned long long *param0); */ int printf_va_77(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2346,8 +2346,8 @@ int scanf_va_78(char const * restrict format, unsigned long long *param0); */ int printf_va_78(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2376,8 +2376,8 @@ int scanf_va_79(char const * restrict format, long *param0); */ int printf_va_79(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2406,8 +2406,8 @@ int scanf_va_80(char const * restrict format, long *param0); */ int printf_va_80(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2436,8 +2436,8 @@ int scanf_va_81(char const * restrict format, unsigned long *param0); */ int printf_va_81(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2466,8 +2466,8 @@ int scanf_va_82(char const * restrict format, unsigned long *param0); */ int printf_va_82(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2496,8 +2496,8 @@ int scanf_va_83(char const * restrict format, unsigned long *param0); */ int printf_va_83(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result diff --git a/tests/libc/oracle/inttypes_h.4.res.oracle b/tests/libc/oracle/inttypes_h.4.res.oracle index 90c1f742453f5cefd167915b0b1459fd772289a3..6287272333f1c78e4248b503efdffe9ee805809c 100644 --- a/tests/libc/oracle/inttypes_h.4.res.oracle +++ b/tests/libc/oracle/inttypes_h.4.res.oracle @@ -6,8 +6,8 @@ #include "stddef.h" #include "stdint.h" #include "stdio.h" -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -36,8 +36,8 @@ int scanf_va_1(char const * restrict format, signed char *param0); */ int printf_va_1(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -66,8 +66,8 @@ int scanf_va_2(char const * restrict format, signed char *param0); */ int printf_va_2(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -96,8 +96,8 @@ int scanf_va_3(char const * restrict format, unsigned char *param0); */ int printf_va_3(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -126,8 +126,8 @@ int scanf_va_4(char const * restrict format, unsigned char *param0); */ int printf_va_4(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -156,8 +156,8 @@ int scanf_va_5(char const * restrict format, unsigned char *param0); */ int printf_va_5(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -186,8 +186,8 @@ int scanf_va_6(char const * restrict format, unsigned char *param0); */ int printf_va_6(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -216,8 +216,8 @@ int scanf_va_7(char const * restrict format, short *param0); */ int printf_va_7(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -246,8 +246,8 @@ int scanf_va_8(char const * restrict format, short *param0); */ int printf_va_8(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -276,8 +276,8 @@ int scanf_va_9(char const * restrict format, unsigned short *param0); */ int printf_va_9(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -306,8 +306,8 @@ int scanf_va_10(char const * restrict format, unsigned short *param0); */ int printf_va_10(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -336,8 +336,8 @@ int scanf_va_11(char const * restrict format, unsigned short *param0); */ int printf_va_11(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -366,8 +366,8 @@ int scanf_va_12(char const * restrict format, unsigned short *param0); */ int printf_va_12(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -396,8 +396,8 @@ int scanf_va_13(char const * restrict format, int *param0); */ int printf_va_13(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -426,8 +426,8 @@ int scanf_va_14(char const * restrict format, int *param0); */ int printf_va_14(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -456,8 +456,8 @@ int scanf_va_15(char const * restrict format, unsigned int *param0); */ int printf_va_15(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -486,8 +486,8 @@ int scanf_va_16(char const * restrict format, unsigned int *param0); */ int printf_va_16(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -516,8 +516,8 @@ int scanf_va_17(char const * restrict format, unsigned int *param0); */ int printf_va_17(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -546,8 +546,8 @@ int scanf_va_18(char const * restrict format, unsigned int *param0); */ int printf_va_18(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -576,8 +576,8 @@ int scanf_va_19(char const * restrict format, long long *param0); */ int printf_va_19(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -606,8 +606,8 @@ int scanf_va_20(char const * restrict format, long long *param0); */ int printf_va_20(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -636,8 +636,8 @@ int scanf_va_21(char const * restrict format, unsigned long long *param0); */ int printf_va_21(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -666,8 +666,8 @@ int scanf_va_22(char const * restrict format, unsigned long long *param0); */ int printf_va_22(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -696,8 +696,8 @@ int scanf_va_23(char const * restrict format, unsigned long long *param0); */ int printf_va_23(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -726,8 +726,8 @@ int scanf_va_24(char const * restrict format, unsigned long long *param0); */ int printf_va_24(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -756,8 +756,8 @@ int scanf_va_25(char const * restrict format, signed char *param0); */ int printf_va_25(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -786,8 +786,8 @@ int scanf_va_26(char const * restrict format, signed char *param0); */ int printf_va_26(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -816,8 +816,8 @@ int scanf_va_27(char const * restrict format, unsigned char *param0); */ int printf_va_27(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -846,8 +846,8 @@ int scanf_va_28(char const * restrict format, unsigned char *param0); */ int printf_va_28(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -876,8 +876,8 @@ int scanf_va_29(char const * restrict format, unsigned char *param0); */ int printf_va_29(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -906,8 +906,8 @@ int scanf_va_30(char const * restrict format, unsigned char *param0); */ int printf_va_30(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -936,8 +936,8 @@ int scanf_va_31(char const * restrict format, short *param0); */ int printf_va_31(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -966,8 +966,8 @@ int scanf_va_32(char const * restrict format, short *param0); */ int printf_va_32(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -996,8 +996,8 @@ int scanf_va_33(char const * restrict format, unsigned short *param0); */ int printf_va_33(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1026,8 +1026,8 @@ int scanf_va_34(char const * restrict format, unsigned short *param0); */ int printf_va_34(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1056,8 +1056,8 @@ int scanf_va_35(char const * restrict format, unsigned short *param0); */ int printf_va_35(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1086,8 +1086,8 @@ int scanf_va_36(char const * restrict format, unsigned short *param0); */ int printf_va_36(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1116,8 +1116,8 @@ int scanf_va_37(char const * restrict format, int *param0); */ int printf_va_37(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1146,8 +1146,8 @@ int scanf_va_38(char const * restrict format, int *param0); */ int printf_va_38(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1176,8 +1176,8 @@ int scanf_va_39(char const * restrict format, unsigned int *param0); */ int printf_va_39(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1206,8 +1206,8 @@ int scanf_va_40(char const * restrict format, unsigned int *param0); */ int printf_va_40(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1236,8 +1236,8 @@ int scanf_va_41(char const * restrict format, unsigned int *param0); */ int printf_va_41(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1266,8 +1266,8 @@ int scanf_va_42(char const * restrict format, unsigned int *param0); */ int printf_va_42(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1296,8 +1296,8 @@ int scanf_va_43(char const * restrict format, long long *param0); */ int printf_va_43(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1326,8 +1326,8 @@ int scanf_va_44(char const * restrict format, long long *param0); */ int printf_va_44(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1356,8 +1356,8 @@ int scanf_va_45(char const * restrict format, unsigned long long *param0); */ int printf_va_45(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1386,8 +1386,8 @@ int scanf_va_46(char const * restrict format, unsigned long long *param0); */ int printf_va_46(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1416,8 +1416,8 @@ int scanf_va_47(char const * restrict format, unsigned long long *param0); */ int printf_va_47(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1446,8 +1446,8 @@ int scanf_va_48(char const * restrict format, unsigned long long *param0); */ int printf_va_48(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1476,8 +1476,8 @@ int scanf_va_49(char const * restrict format, signed char *param0); */ int printf_va_49(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1506,8 +1506,8 @@ int scanf_va_50(char const * restrict format, signed char *param0); */ int printf_va_50(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1536,8 +1536,8 @@ int scanf_va_51(char const * restrict format, unsigned char *param0); */ int printf_va_51(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1566,8 +1566,8 @@ int scanf_va_52(char const * restrict format, unsigned char *param0); */ int printf_va_52(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1596,8 +1596,8 @@ int scanf_va_53(char const * restrict format, unsigned char *param0); */ int printf_va_53(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1626,8 +1626,8 @@ int scanf_va_54(char const * restrict format, unsigned char *param0); */ int printf_va_54(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1656,8 +1656,8 @@ int scanf_va_55(char const * restrict format, int *param0); */ int printf_va_55(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1686,8 +1686,8 @@ int scanf_va_56(char const * restrict format, int *param0); */ int printf_va_56(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1716,8 +1716,8 @@ int scanf_va_57(char const * restrict format, unsigned int *param0); */ int printf_va_57(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1746,8 +1746,8 @@ int scanf_va_58(char const * restrict format, unsigned int *param0); */ int printf_va_58(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1776,8 +1776,8 @@ int scanf_va_59(char const * restrict format, unsigned int *param0); */ int printf_va_59(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1806,8 +1806,8 @@ int scanf_va_60(char const * restrict format, unsigned int *param0); */ int printf_va_60(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1836,8 +1836,8 @@ int scanf_va_61(char const * restrict format, int *param0); */ int printf_va_61(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1866,8 +1866,8 @@ int scanf_va_62(char const * restrict format, int *param0); */ int printf_va_62(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1896,8 +1896,8 @@ int scanf_va_63(char const * restrict format, unsigned int *param0); */ int printf_va_63(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1926,8 +1926,8 @@ int scanf_va_64(char const * restrict format, unsigned int *param0); */ int printf_va_64(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1956,8 +1956,8 @@ int scanf_va_65(char const * restrict format, unsigned int *param0); */ int printf_va_65(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1986,8 +1986,8 @@ int scanf_va_66(char const * restrict format, unsigned int *param0); */ int printf_va_66(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2016,8 +2016,8 @@ int scanf_va_67(char const * restrict format, long long *param0); */ int printf_va_67(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2046,8 +2046,8 @@ int scanf_va_68(char const * restrict format, long long *param0); */ int printf_va_68(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2076,8 +2076,8 @@ int scanf_va_69(char const * restrict format, unsigned long long *param0); */ int printf_va_69(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2106,8 +2106,8 @@ int scanf_va_70(char const * restrict format, unsigned long long *param0); */ int printf_va_70(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2136,8 +2136,8 @@ int scanf_va_71(char const * restrict format, unsigned long long *param0); */ int printf_va_71(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2166,8 +2166,8 @@ int scanf_va_72(char const * restrict format, unsigned long long *param0); */ int printf_va_72(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2196,8 +2196,8 @@ int scanf_va_73(char const * restrict format, long long *param0); */ int printf_va_73(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2226,8 +2226,8 @@ int scanf_va_74(char const * restrict format, long long *param0); */ int printf_va_74(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2256,8 +2256,8 @@ int scanf_va_75(char const * restrict format, unsigned long long *param0); */ int printf_va_75(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2286,8 +2286,8 @@ int scanf_va_76(char const * restrict format, unsigned long long *param0); */ int printf_va_76(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2316,8 +2316,8 @@ int scanf_va_77(char const * restrict format, unsigned long long *param0); */ int printf_va_77(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2346,8 +2346,8 @@ int scanf_va_78(char const * restrict format, unsigned long long *param0); */ int printf_va_78(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2376,8 +2376,8 @@ int scanf_va_79(char const * restrict format, int *param0); */ int printf_va_79(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2406,8 +2406,8 @@ int scanf_va_80(char const * restrict format, int *param0); */ int printf_va_80(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2436,8 +2436,8 @@ int scanf_va_81(char const * restrict format, unsigned int *param0); */ int printf_va_81(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2466,8 +2466,8 @@ int scanf_va_82(char const * restrict format, unsigned int *param0); */ int printf_va_82(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2496,8 +2496,8 @@ int scanf_va_83(char const * restrict format, unsigned int *param0); */ int printf_va_83(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result diff --git a/tests/libc/oracle/inttypes_h.5.res.oracle b/tests/libc/oracle/inttypes_h.5.res.oracle index 97acd045fd99a436d4c632a35ca8a2039d37cf52..92e41aa30a46fc7b7c5d20da5e32619e6dea3603 100644 --- a/tests/libc/oracle/inttypes_h.5.res.oracle +++ b/tests/libc/oracle/inttypes_h.5.res.oracle @@ -6,8 +6,8 @@ #include "stddef.h" #include "stdint.h" #include "stdio.h" -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -36,8 +36,8 @@ int scanf_va_1(char const * restrict format, signed char *param0); */ int printf_va_1(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -66,8 +66,8 @@ int scanf_va_2(char const * restrict format, signed char *param0); */ int printf_va_2(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -96,8 +96,8 @@ int scanf_va_3(char const * restrict format, unsigned char *param0); */ int printf_va_3(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -126,8 +126,8 @@ int scanf_va_4(char const * restrict format, unsigned char *param0); */ int printf_va_4(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -156,8 +156,8 @@ int scanf_va_5(char const * restrict format, unsigned char *param0); */ int printf_va_5(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -186,8 +186,8 @@ int scanf_va_6(char const * restrict format, unsigned char *param0); */ int printf_va_6(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -216,8 +216,8 @@ int scanf_va_7(char const * restrict format, short *param0); */ int printf_va_7(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -246,8 +246,8 @@ int scanf_va_8(char const * restrict format, short *param0); */ int printf_va_8(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -276,8 +276,8 @@ int scanf_va_9(char const * restrict format, unsigned short *param0); */ int printf_va_9(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -306,8 +306,8 @@ int scanf_va_10(char const * restrict format, unsigned short *param0); */ int printf_va_10(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -336,8 +336,8 @@ int scanf_va_11(char const * restrict format, unsigned short *param0); */ int printf_va_11(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -366,8 +366,8 @@ int scanf_va_12(char const * restrict format, unsigned short *param0); */ int printf_va_12(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -396,8 +396,8 @@ int scanf_va_13(char const * restrict format, int *param0); */ int printf_va_13(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -426,8 +426,8 @@ int scanf_va_14(char const * restrict format, int *param0); */ int printf_va_14(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -456,8 +456,8 @@ int scanf_va_15(char const * restrict format, unsigned int *param0); */ int printf_va_15(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -486,8 +486,8 @@ int scanf_va_16(char const * restrict format, unsigned int *param0); */ int printf_va_16(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -516,8 +516,8 @@ int scanf_va_17(char const * restrict format, unsigned int *param0); */ int printf_va_17(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -546,8 +546,8 @@ int scanf_va_18(char const * restrict format, unsigned int *param0); */ int printf_va_18(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -576,8 +576,8 @@ int scanf_va_19(char const * restrict format, long *param0); */ int printf_va_19(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -606,8 +606,8 @@ int scanf_va_20(char const * restrict format, long *param0); */ int printf_va_20(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -636,8 +636,8 @@ int scanf_va_21(char const * restrict format, unsigned long *param0); */ int printf_va_21(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -666,8 +666,8 @@ int scanf_va_22(char const * restrict format, unsigned long *param0); */ int printf_va_22(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -696,8 +696,8 @@ int scanf_va_23(char const * restrict format, unsigned long *param0); */ int printf_va_23(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -726,8 +726,8 @@ int scanf_va_24(char const * restrict format, unsigned long *param0); */ int printf_va_24(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -756,8 +756,8 @@ int scanf_va_25(char const * restrict format, signed char *param0); */ int printf_va_25(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -786,8 +786,8 @@ int scanf_va_26(char const * restrict format, signed char *param0); */ int printf_va_26(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -816,8 +816,8 @@ int scanf_va_27(char const * restrict format, unsigned char *param0); */ int printf_va_27(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -846,8 +846,8 @@ int scanf_va_28(char const * restrict format, unsigned char *param0); */ int printf_va_28(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -876,8 +876,8 @@ int scanf_va_29(char const * restrict format, unsigned char *param0); */ int printf_va_29(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -906,8 +906,8 @@ int scanf_va_30(char const * restrict format, unsigned char *param0); */ int printf_va_30(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -936,8 +936,8 @@ int scanf_va_31(char const * restrict format, short *param0); */ int printf_va_31(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -966,8 +966,8 @@ int scanf_va_32(char const * restrict format, short *param0); */ int printf_va_32(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -996,8 +996,8 @@ int scanf_va_33(char const * restrict format, unsigned short *param0); */ int printf_va_33(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1026,8 +1026,8 @@ int scanf_va_34(char const * restrict format, unsigned short *param0); */ int printf_va_34(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1056,8 +1056,8 @@ int scanf_va_35(char const * restrict format, unsigned short *param0); */ int printf_va_35(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1086,8 +1086,8 @@ int scanf_va_36(char const * restrict format, unsigned short *param0); */ int printf_va_36(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1116,8 +1116,8 @@ int scanf_va_37(char const * restrict format, int *param0); */ int printf_va_37(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1146,8 +1146,8 @@ int scanf_va_38(char const * restrict format, int *param0); */ int printf_va_38(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1176,8 +1176,8 @@ int scanf_va_39(char const * restrict format, unsigned int *param0); */ int printf_va_39(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1206,8 +1206,8 @@ int scanf_va_40(char const * restrict format, unsigned int *param0); */ int printf_va_40(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1236,8 +1236,8 @@ int scanf_va_41(char const * restrict format, unsigned int *param0); */ int printf_va_41(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1266,8 +1266,8 @@ int scanf_va_42(char const * restrict format, unsigned int *param0); */ int printf_va_42(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1296,8 +1296,8 @@ int scanf_va_43(char const * restrict format, long *param0); */ int printf_va_43(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1326,8 +1326,8 @@ int scanf_va_44(char const * restrict format, long *param0); */ int printf_va_44(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1356,8 +1356,8 @@ int scanf_va_45(char const * restrict format, unsigned long *param0); */ int printf_va_45(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1386,8 +1386,8 @@ int scanf_va_46(char const * restrict format, unsigned long *param0); */ int printf_va_46(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1416,8 +1416,8 @@ int scanf_va_47(char const * restrict format, unsigned long *param0); */ int printf_va_47(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1446,8 +1446,8 @@ int scanf_va_48(char const * restrict format, unsigned long *param0); */ int printf_va_48(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1476,8 +1476,8 @@ int scanf_va_49(char const * restrict format, signed char *param0); */ int printf_va_49(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1506,8 +1506,8 @@ int scanf_va_50(char const * restrict format, signed char *param0); */ int printf_va_50(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1536,8 +1536,8 @@ int scanf_va_51(char const * restrict format, unsigned char *param0); */ int printf_va_51(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1566,8 +1566,8 @@ int scanf_va_52(char const * restrict format, unsigned char *param0); */ int printf_va_52(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1596,8 +1596,8 @@ int scanf_va_53(char const * restrict format, unsigned char *param0); */ int printf_va_53(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1626,8 +1626,8 @@ int scanf_va_54(char const * restrict format, unsigned char *param0); */ int printf_va_54(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1656,8 +1656,8 @@ int scanf_va_55(char const * restrict format, int *param0); */ int printf_va_55(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1686,8 +1686,8 @@ int scanf_va_56(char const * restrict format, int *param0); */ int printf_va_56(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1716,8 +1716,8 @@ int scanf_va_57(char const * restrict format, unsigned int *param0); */ int printf_va_57(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1746,8 +1746,8 @@ int scanf_va_58(char const * restrict format, unsigned int *param0); */ int printf_va_58(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1776,8 +1776,8 @@ int scanf_va_59(char const * restrict format, unsigned int *param0); */ int printf_va_59(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1806,8 +1806,8 @@ int scanf_va_60(char const * restrict format, unsigned int *param0); */ int printf_va_60(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1836,8 +1836,8 @@ int scanf_va_61(char const * restrict format, int *param0); */ int printf_va_61(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1866,8 +1866,8 @@ int scanf_va_62(char const * restrict format, int *param0); */ int printf_va_62(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1896,8 +1896,8 @@ int scanf_va_63(char const * restrict format, unsigned int *param0); */ int printf_va_63(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1926,8 +1926,8 @@ int scanf_va_64(char const * restrict format, unsigned int *param0); */ int printf_va_64(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1956,8 +1956,8 @@ int scanf_va_65(char const * restrict format, unsigned int *param0); */ int printf_va_65(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1986,8 +1986,8 @@ int scanf_va_66(char const * restrict format, unsigned int *param0); */ int printf_va_66(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2016,8 +2016,8 @@ int scanf_va_67(char const * restrict format, long *param0); */ int printf_va_67(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2046,8 +2046,8 @@ int scanf_va_68(char const * restrict format, long *param0); */ int printf_va_68(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2076,8 +2076,8 @@ int scanf_va_69(char const * restrict format, unsigned long *param0); */ int printf_va_69(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2106,8 +2106,8 @@ int scanf_va_70(char const * restrict format, unsigned long *param0); */ int printf_va_70(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2136,8 +2136,8 @@ int scanf_va_71(char const * restrict format, unsigned long *param0); */ int printf_va_71(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2166,8 +2166,8 @@ int scanf_va_72(char const * restrict format, unsigned long *param0); */ int printf_va_72(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2196,8 +2196,8 @@ int scanf_va_73(char const * restrict format, long long *param0); */ int printf_va_73(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2226,8 +2226,8 @@ int scanf_va_74(char const * restrict format, long long *param0); */ int printf_va_74(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2256,8 +2256,8 @@ int scanf_va_75(char const * restrict format, unsigned long long *param0); */ int printf_va_75(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2286,8 +2286,8 @@ int scanf_va_76(char const * restrict format, unsigned long long *param0); */ int printf_va_76(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2316,8 +2316,8 @@ int scanf_va_77(char const * restrict format, unsigned long long *param0); */ int printf_va_77(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2346,8 +2346,8 @@ int scanf_va_78(char const * restrict format, unsigned long long *param0); */ int printf_va_78(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2376,8 +2376,8 @@ int scanf_va_79(char const * restrict format, long *param0); */ int printf_va_79(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2406,8 +2406,8 @@ int scanf_va_80(char const * restrict format, long *param0); */ int printf_va_80(char const * restrict format, long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2436,8 +2436,8 @@ int scanf_va_81(char const * restrict format, unsigned long *param0); */ int printf_va_81(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2466,8 +2466,8 @@ int scanf_va_82(char const * restrict format, unsigned long *param0); */ int printf_va_82(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2496,8 +2496,8 @@ int scanf_va_83(char const * restrict format, unsigned long *param0); */ int printf_va_83(char const * restrict format, unsigned long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result diff --git a/tests/libc/oracle/inttypes_h.6.res.oracle b/tests/libc/oracle/inttypes_h.6.res.oracle index 90c1f742453f5cefd167915b0b1459fd772289a3..6287272333f1c78e4248b503efdffe9ee805809c 100644 --- a/tests/libc/oracle/inttypes_h.6.res.oracle +++ b/tests/libc/oracle/inttypes_h.6.res.oracle @@ -6,8 +6,8 @@ #include "stddef.h" #include "stdint.h" #include "stdio.h" -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -36,8 +36,8 @@ int scanf_va_1(char const * restrict format, signed char *param0); */ int printf_va_1(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -66,8 +66,8 @@ int scanf_va_2(char const * restrict format, signed char *param0); */ int printf_va_2(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -96,8 +96,8 @@ int scanf_va_3(char const * restrict format, unsigned char *param0); */ int printf_va_3(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -126,8 +126,8 @@ int scanf_va_4(char const * restrict format, unsigned char *param0); */ int printf_va_4(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -156,8 +156,8 @@ int scanf_va_5(char const * restrict format, unsigned char *param0); */ int printf_va_5(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -186,8 +186,8 @@ int scanf_va_6(char const * restrict format, unsigned char *param0); */ int printf_va_6(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -216,8 +216,8 @@ int scanf_va_7(char const * restrict format, short *param0); */ int printf_va_7(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -246,8 +246,8 @@ int scanf_va_8(char const * restrict format, short *param0); */ int printf_va_8(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -276,8 +276,8 @@ int scanf_va_9(char const * restrict format, unsigned short *param0); */ int printf_va_9(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -306,8 +306,8 @@ int scanf_va_10(char const * restrict format, unsigned short *param0); */ int printf_va_10(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -336,8 +336,8 @@ int scanf_va_11(char const * restrict format, unsigned short *param0); */ int printf_va_11(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -366,8 +366,8 @@ int scanf_va_12(char const * restrict format, unsigned short *param0); */ int printf_va_12(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -396,8 +396,8 @@ int scanf_va_13(char const * restrict format, int *param0); */ int printf_va_13(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -426,8 +426,8 @@ int scanf_va_14(char const * restrict format, int *param0); */ int printf_va_14(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -456,8 +456,8 @@ int scanf_va_15(char const * restrict format, unsigned int *param0); */ int printf_va_15(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -486,8 +486,8 @@ int scanf_va_16(char const * restrict format, unsigned int *param0); */ int printf_va_16(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -516,8 +516,8 @@ int scanf_va_17(char const * restrict format, unsigned int *param0); */ int printf_va_17(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -546,8 +546,8 @@ int scanf_va_18(char const * restrict format, unsigned int *param0); */ int printf_va_18(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -576,8 +576,8 @@ int scanf_va_19(char const * restrict format, long long *param0); */ int printf_va_19(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -606,8 +606,8 @@ int scanf_va_20(char const * restrict format, long long *param0); */ int printf_va_20(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -636,8 +636,8 @@ int scanf_va_21(char const * restrict format, unsigned long long *param0); */ int printf_va_21(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -666,8 +666,8 @@ int scanf_va_22(char const * restrict format, unsigned long long *param0); */ int printf_va_22(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -696,8 +696,8 @@ int scanf_va_23(char const * restrict format, unsigned long long *param0); */ int printf_va_23(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -726,8 +726,8 @@ int scanf_va_24(char const * restrict format, unsigned long long *param0); */ int printf_va_24(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -756,8 +756,8 @@ int scanf_va_25(char const * restrict format, signed char *param0); */ int printf_va_25(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -786,8 +786,8 @@ int scanf_va_26(char const * restrict format, signed char *param0); */ int printf_va_26(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -816,8 +816,8 @@ int scanf_va_27(char const * restrict format, unsigned char *param0); */ int printf_va_27(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -846,8 +846,8 @@ int scanf_va_28(char const * restrict format, unsigned char *param0); */ int printf_va_28(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -876,8 +876,8 @@ int scanf_va_29(char const * restrict format, unsigned char *param0); */ int printf_va_29(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -906,8 +906,8 @@ int scanf_va_30(char const * restrict format, unsigned char *param0); */ int printf_va_30(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -936,8 +936,8 @@ int scanf_va_31(char const * restrict format, short *param0); */ int printf_va_31(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -966,8 +966,8 @@ int scanf_va_32(char const * restrict format, short *param0); */ int printf_va_32(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -996,8 +996,8 @@ int scanf_va_33(char const * restrict format, unsigned short *param0); */ int printf_va_33(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1026,8 +1026,8 @@ int scanf_va_34(char const * restrict format, unsigned short *param0); */ int printf_va_34(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1056,8 +1056,8 @@ int scanf_va_35(char const * restrict format, unsigned short *param0); */ int printf_va_35(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1086,8 +1086,8 @@ int scanf_va_36(char const * restrict format, unsigned short *param0); */ int printf_va_36(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1116,8 +1116,8 @@ int scanf_va_37(char const * restrict format, int *param0); */ int printf_va_37(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1146,8 +1146,8 @@ int scanf_va_38(char const * restrict format, int *param0); */ int printf_va_38(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1176,8 +1176,8 @@ int scanf_va_39(char const * restrict format, unsigned int *param0); */ int printf_va_39(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1206,8 +1206,8 @@ int scanf_va_40(char const * restrict format, unsigned int *param0); */ int printf_va_40(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1236,8 +1236,8 @@ int scanf_va_41(char const * restrict format, unsigned int *param0); */ int printf_va_41(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1266,8 +1266,8 @@ int scanf_va_42(char const * restrict format, unsigned int *param0); */ int printf_va_42(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1296,8 +1296,8 @@ int scanf_va_43(char const * restrict format, long long *param0); */ int printf_va_43(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1326,8 +1326,8 @@ int scanf_va_44(char const * restrict format, long long *param0); */ int printf_va_44(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1356,8 +1356,8 @@ int scanf_va_45(char const * restrict format, unsigned long long *param0); */ int printf_va_45(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1386,8 +1386,8 @@ int scanf_va_46(char const * restrict format, unsigned long long *param0); */ int printf_va_46(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1416,8 +1416,8 @@ int scanf_va_47(char const * restrict format, unsigned long long *param0); */ int printf_va_47(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1446,8 +1446,8 @@ int scanf_va_48(char const * restrict format, unsigned long long *param0); */ int printf_va_48(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1476,8 +1476,8 @@ int scanf_va_49(char const * restrict format, signed char *param0); */ int printf_va_49(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1506,8 +1506,8 @@ int scanf_va_50(char const * restrict format, signed char *param0); */ int printf_va_50(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1536,8 +1536,8 @@ int scanf_va_51(char const * restrict format, unsigned char *param0); */ int printf_va_51(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1566,8 +1566,8 @@ int scanf_va_52(char const * restrict format, unsigned char *param0); */ int printf_va_52(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1596,8 +1596,8 @@ int scanf_va_53(char const * restrict format, unsigned char *param0); */ int printf_va_53(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1626,8 +1626,8 @@ int scanf_va_54(char const * restrict format, unsigned char *param0); */ int printf_va_54(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1656,8 +1656,8 @@ int scanf_va_55(char const * restrict format, int *param0); */ int printf_va_55(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1686,8 +1686,8 @@ int scanf_va_56(char const * restrict format, int *param0); */ int printf_va_56(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1716,8 +1716,8 @@ int scanf_va_57(char const * restrict format, unsigned int *param0); */ int printf_va_57(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1746,8 +1746,8 @@ int scanf_va_58(char const * restrict format, unsigned int *param0); */ int printf_va_58(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1776,8 +1776,8 @@ int scanf_va_59(char const * restrict format, unsigned int *param0); */ int printf_va_59(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1806,8 +1806,8 @@ int scanf_va_60(char const * restrict format, unsigned int *param0); */ int printf_va_60(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1836,8 +1836,8 @@ int scanf_va_61(char const * restrict format, int *param0); */ int printf_va_61(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1866,8 +1866,8 @@ int scanf_va_62(char const * restrict format, int *param0); */ int printf_va_62(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1896,8 +1896,8 @@ int scanf_va_63(char const * restrict format, unsigned int *param0); */ int printf_va_63(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1926,8 +1926,8 @@ int scanf_va_64(char const * restrict format, unsigned int *param0); */ int printf_va_64(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1956,8 +1956,8 @@ int scanf_va_65(char const * restrict format, unsigned int *param0); */ int printf_va_65(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1986,8 +1986,8 @@ int scanf_va_66(char const * restrict format, unsigned int *param0); */ int printf_va_66(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2016,8 +2016,8 @@ int scanf_va_67(char const * restrict format, long long *param0); */ int printf_va_67(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2046,8 +2046,8 @@ int scanf_va_68(char const * restrict format, long long *param0); */ int printf_va_68(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2076,8 +2076,8 @@ int scanf_va_69(char const * restrict format, unsigned long long *param0); */ int printf_va_69(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2106,8 +2106,8 @@ int scanf_va_70(char const * restrict format, unsigned long long *param0); */ int printf_va_70(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2136,8 +2136,8 @@ int scanf_va_71(char const * restrict format, unsigned long long *param0); */ int printf_va_71(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2166,8 +2166,8 @@ int scanf_va_72(char const * restrict format, unsigned long long *param0); */ int printf_va_72(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2196,8 +2196,8 @@ int scanf_va_73(char const * restrict format, long long *param0); */ int printf_va_73(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2226,8 +2226,8 @@ int scanf_va_74(char const * restrict format, long long *param0); */ int printf_va_74(char const * restrict format, long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2256,8 +2256,8 @@ int scanf_va_75(char const * restrict format, unsigned long long *param0); */ int printf_va_75(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2286,8 +2286,8 @@ int scanf_va_76(char const * restrict format, unsigned long long *param0); */ int printf_va_76(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2316,8 +2316,8 @@ int scanf_va_77(char const * restrict format, unsigned long long *param0); */ int printf_va_77(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2346,8 +2346,8 @@ int scanf_va_78(char const * restrict format, unsigned long long *param0); */ int printf_va_78(char const * restrict format, unsigned long long param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2376,8 +2376,8 @@ int scanf_va_79(char const * restrict format, int *param0); */ int printf_va_79(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2406,8 +2406,8 @@ int scanf_va_80(char const * restrict format, int *param0); */ int printf_va_80(char const * restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2436,8 +2436,8 @@ int scanf_va_81(char const * restrict format, unsigned int *param0); */ int printf_va_81(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2466,8 +2466,8 @@ int scanf_va_82(char const * restrict format, unsigned int *param0); */ int printf_va_82(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2496,8 +2496,8 @@ int scanf_va_83(char const * restrict format, unsigned int *param0); */ int printf_va_83(char const * restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result diff --git a/tests/libc/oracle/inttypes_h.7.res.oracle b/tests/libc/oracle/inttypes_h.7.res.oracle index 9dfd0ff2a95812c13da5604d8372e79fd9a2882b..65e7c8f854bdbe12b1239a4877d239440426f4f4 100644 --- a/tests/libc/oracle/inttypes_h.7.res.oracle +++ b/tests/libc/oracle/inttypes_h.7.res.oracle @@ -6,8 +6,8 @@ #include "stddef.h" #include "stdint.h" #include "stdio.h" -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -36,8 +36,8 @@ int scanf_va_1(char const * __restrict format, signed char *param0); */ int printf_va_1(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -66,8 +66,8 @@ int scanf_va_2(char const * __restrict format, signed char *param0); */ int printf_va_2(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -96,8 +96,8 @@ int scanf_va_3(char const * __restrict format, unsigned char *param0); */ int printf_va_3(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -126,8 +126,8 @@ int scanf_va_4(char const * __restrict format, unsigned char *param0); */ int printf_va_4(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -156,8 +156,8 @@ int scanf_va_5(char const * __restrict format, unsigned char *param0); */ int printf_va_5(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -186,8 +186,8 @@ int scanf_va_6(char const * __restrict format, unsigned char *param0); */ int printf_va_6(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -216,8 +216,8 @@ int scanf_va_7(char const * __restrict format, short *param0); */ int printf_va_7(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -246,8 +246,8 @@ int scanf_va_8(char const * __restrict format, short *param0); */ int printf_va_8(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -276,8 +276,8 @@ int scanf_va_9(char const * __restrict format, unsigned short *param0); */ int printf_va_9(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -306,8 +306,8 @@ int scanf_va_10(char const * __restrict format, unsigned short *param0); */ int printf_va_10(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -336,8 +336,8 @@ int scanf_va_11(char const * __restrict format, unsigned short *param0); */ int printf_va_11(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -366,8 +366,8 @@ int scanf_va_12(char const * __restrict format, unsigned short *param0); */ int printf_va_12(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -396,8 +396,8 @@ int scanf_va_13(char const * __restrict format, int *param0); */ int printf_va_13(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -426,8 +426,8 @@ int scanf_va_14(char const * __restrict format, int *param0); */ int printf_va_14(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -456,8 +456,8 @@ int scanf_va_15(char const * __restrict format, unsigned int *param0); */ int printf_va_15(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -486,8 +486,8 @@ int scanf_va_16(char const * __restrict format, unsigned int *param0); */ int printf_va_16(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -516,8 +516,8 @@ int scanf_va_17(char const * __restrict format, unsigned int *param0); */ int printf_va_17(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -546,8 +546,8 @@ int scanf_va_18(char const * __restrict format, unsigned int *param0); */ int printf_va_18(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -576,8 +576,8 @@ int scanf_va_19(char const * __restrict format, __int64 *param0); */ int printf_va_19(char const * __restrict format, __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -606,8 +606,8 @@ int scanf_va_20(char const * __restrict format, __int64 *param0); */ int printf_va_20(char const * __restrict format, __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -636,8 +636,8 @@ int scanf_va_21(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_21(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -666,8 +666,8 @@ int scanf_va_22(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_22(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -696,8 +696,8 @@ int scanf_va_23(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_23(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -726,8 +726,8 @@ int scanf_va_24(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_24(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -756,8 +756,8 @@ int scanf_va_25(char const * __restrict format, signed char *param0); */ int printf_va_25(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -786,8 +786,8 @@ int scanf_va_26(char const * __restrict format, signed char *param0); */ int printf_va_26(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -816,8 +816,8 @@ int scanf_va_27(char const * __restrict format, unsigned char *param0); */ int printf_va_27(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -846,8 +846,8 @@ int scanf_va_28(char const * __restrict format, unsigned char *param0); */ int printf_va_28(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -876,8 +876,8 @@ int scanf_va_29(char const * __restrict format, unsigned char *param0); */ int printf_va_29(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -906,8 +906,8 @@ int scanf_va_30(char const * __restrict format, unsigned char *param0); */ int printf_va_30(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -936,8 +936,8 @@ int scanf_va_31(char const * __restrict format, short *param0); */ int printf_va_31(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -966,8 +966,8 @@ int scanf_va_32(char const * __restrict format, short *param0); */ int printf_va_32(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -996,8 +996,8 @@ int scanf_va_33(char const * __restrict format, unsigned short *param0); */ int printf_va_33(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1026,8 +1026,8 @@ int scanf_va_34(char const * __restrict format, unsigned short *param0); */ int printf_va_34(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1056,8 +1056,8 @@ int scanf_va_35(char const * __restrict format, unsigned short *param0); */ int printf_va_35(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1086,8 +1086,8 @@ int scanf_va_36(char const * __restrict format, unsigned short *param0); */ int printf_va_36(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1116,8 +1116,8 @@ int scanf_va_37(char const * __restrict format, int *param0); */ int printf_va_37(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1146,8 +1146,8 @@ int scanf_va_38(char const * __restrict format, int *param0); */ int printf_va_38(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1176,8 +1176,8 @@ int scanf_va_39(char const * __restrict format, unsigned int *param0); */ int printf_va_39(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1206,8 +1206,8 @@ int scanf_va_40(char const * __restrict format, unsigned int *param0); */ int printf_va_40(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1236,8 +1236,8 @@ int scanf_va_41(char const * __restrict format, unsigned int *param0); */ int printf_va_41(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1266,8 +1266,8 @@ int scanf_va_42(char const * __restrict format, unsigned int *param0); */ int printf_va_42(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1296,8 +1296,8 @@ int scanf_va_43(char const * __restrict format, __int64 *param0); */ int printf_va_43(char const * __restrict format, __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1326,8 +1326,8 @@ int scanf_va_44(char const * __restrict format, __int64 *param0); */ int printf_va_44(char const * __restrict format, __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1356,8 +1356,8 @@ int scanf_va_45(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_45(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1386,8 +1386,8 @@ int scanf_va_46(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_46(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1416,8 +1416,8 @@ int scanf_va_47(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_47(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1446,8 +1446,8 @@ int scanf_va_48(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_48(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1476,8 +1476,8 @@ int scanf_va_49(char const * __restrict format, signed char *param0); */ int printf_va_49(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1506,8 +1506,8 @@ int scanf_va_50(char const * __restrict format, signed char *param0); */ int printf_va_50(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1536,8 +1536,8 @@ int scanf_va_51(char const * __restrict format, unsigned char *param0); */ int printf_va_51(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1566,8 +1566,8 @@ int scanf_va_52(char const * __restrict format, unsigned char *param0); */ int printf_va_52(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1596,8 +1596,8 @@ int scanf_va_53(char const * __restrict format, unsigned char *param0); */ int printf_va_53(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1626,8 +1626,8 @@ int scanf_va_54(char const * __restrict format, unsigned char *param0); */ int printf_va_54(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1656,8 +1656,8 @@ int scanf_va_55(char const * __restrict format, int *param0); */ int printf_va_55(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1686,8 +1686,8 @@ int scanf_va_56(char const * __restrict format, int *param0); */ int printf_va_56(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1716,8 +1716,8 @@ int scanf_va_57(char const * __restrict format, unsigned int *param0); */ int printf_va_57(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1746,8 +1746,8 @@ int scanf_va_58(char const * __restrict format, unsigned int *param0); */ int printf_va_58(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1776,8 +1776,8 @@ int scanf_va_59(char const * __restrict format, unsigned int *param0); */ int printf_va_59(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1806,8 +1806,8 @@ int scanf_va_60(char const * __restrict format, unsigned int *param0); */ int printf_va_60(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1836,8 +1836,8 @@ int scanf_va_61(char const * __restrict format, int *param0); */ int printf_va_61(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1866,8 +1866,8 @@ int scanf_va_62(char const * __restrict format, int *param0); */ int printf_va_62(char const * __restrict format, int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1896,8 +1896,8 @@ int scanf_va_63(char const * __restrict format, unsigned int *param0); */ int printf_va_63(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1926,8 +1926,8 @@ int scanf_va_64(char const * __restrict format, unsigned int *param0); */ int printf_va_64(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1956,8 +1956,8 @@ int scanf_va_65(char const * __restrict format, unsigned int *param0); */ int printf_va_65(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -1986,8 +1986,8 @@ int scanf_va_66(char const * __restrict format, unsigned int *param0); */ int printf_va_66(char const * __restrict format, unsigned int param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2016,8 +2016,8 @@ int scanf_va_67(char const * __restrict format, __int64 *param0); */ int printf_va_67(char const * __restrict format, __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2046,8 +2046,8 @@ int scanf_va_68(char const * __restrict format, __int64 *param0); */ int printf_va_68(char const * __restrict format, __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2076,8 +2076,8 @@ int scanf_va_69(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_69(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2106,8 +2106,8 @@ int scanf_va_70(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_70(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2136,8 +2136,8 @@ int scanf_va_71(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_71(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2166,8 +2166,8 @@ int scanf_va_72(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_72(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2196,8 +2196,8 @@ int scanf_va_73(char const * __restrict format, __int64 *param0); */ int printf_va_73(char const * __restrict format, __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2226,8 +2226,8 @@ int scanf_va_74(char const * __restrict format, __int64 *param0); */ int printf_va_74(char const * __restrict format, __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2256,8 +2256,8 @@ int scanf_va_75(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_75(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2286,8 +2286,8 @@ int scanf_va_76(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_76(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2316,8 +2316,8 @@ int scanf_va_77(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_77(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2346,8 +2346,8 @@ int scanf_va_78(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_78(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2376,8 +2376,8 @@ int scanf_va_79(char const * __restrict format, __int64 *param0); */ int printf_va_79(char const * __restrict format, __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2406,8 +2406,8 @@ int scanf_va_80(char const * __restrict format, __int64 *param0); */ int printf_va_80(char const * __restrict format, __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2436,8 +2436,8 @@ int scanf_va_81(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_81(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2466,8 +2466,8 @@ int scanf_va_82(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_82(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result @@ -2496,8 +2496,8 @@ int scanf_va_83(char const * __restrict format, unsigned __int64 *param0); */ int printf_va_83(char const * __restrict format, unsigned __int64 param0); -/*@ requires valid_read_string(format); - requires \valid(param0); +/*@ requires \valid(param0); + requires valid_read_string(format); ensures \initialized(param0); assigns \result, __fc_stdin->__fc_FILE_data, *param0; assigns \result diff --git a/tests/libc/oracle/netdb_c.res.oracle b/tests/libc/oracle/netdb_c.res.oracle index 9a9d6d24921562fb1b27ac6e9b243bb85fe834aa..dcce9e252a9bb2f80e23d8ed6ce71e674d87a838 100644 --- a/tests/libc/oracle/netdb_c.res.oracle +++ b/tests/libc/oracle/netdb_c.res.oracle @@ -148,10 +148,10 @@ [eva] computing for function fprintf_va_1 <- main. Called from tests/libc/netdb_c.c:36. [eva] using specification for function fprintf_va_1 -[eva] tests/libc/netdb_c.c:36: - function fprintf_va_1: precondition valid_read_string(format) got status valid. [eva] tests/libc/netdb_c.c:36: function fprintf_va_1: precondition valid_read_string(param0) got status valid. +[eva] tests/libc/netdb_c.c:36: + function fprintf_va_1: precondition valid_read_string(format) got status valid. [eva] Done for function fprintf_va_1 [eva] computing for function exit <- main. Called from tests/libc/netdb_c.c:37. diff --git a/tests/libc/oracle/netinet_in_h.res.oracle b/tests/libc/oracle/netinet_in_h.res.oracle index a8fa5453586f36f4e871c4dd82be2f2df0d85e3c..1215b249e2e9331284a6ab6fe66d38ff739ec05e 100644 --- a/tests/libc/oracle/netinet_in_h.res.oracle +++ b/tests/libc/oracle/netinet_in_h.res.oracle @@ -11,10 +11,10 @@ [eva] computing for function printf_va_1 <- main. Called from tests/libc/netinet_in_h.c:6. [eva] using specification for function printf_va_1 -[eva] tests/libc/netinet_in_h.c:6: - function printf_va_1: precondition valid_read_string(format) got status valid. [eva] tests/libc/netinet_in_h.c:6: function printf_va_1: precondition valid_read_string(param0) got status valid. +[eva] tests/libc/netinet_in_h.c:6: + function printf_va_1: precondition valid_read_string(format) got status valid. [eva] Done for function printf_va_1 [eva] Recording results for main [eva] done for function main diff --git a/tests/libc/oracle/socket.0.res.oracle b/tests/libc/oracle/socket.0.res.oracle index d3cbc6849dd201722a97d1d88416911658cff675..02ea91c38a587f467ef5ed8466820b2ed78645ae 100644 --- a/tests/libc/oracle/socket.0.res.oracle +++ b/tests/libc/oracle/socket.0.res.oracle @@ -59,10 +59,10 @@ [eva] computing for function printf_va_1 <- test_read <- main. Called from tests/libc/socket.c:62. [eva] using specification for function printf_va_1 -[eva] tests/libc/socket.c:62: - function printf_va_1: precondition valid_read_string(format) got status valid. [eva:alarm] tests/libc/socket.c:62: Warning: function printf_va_1: precondition valid_read_string(param0) got status unknown. +[eva] tests/libc/socket.c:62: + function printf_va_1: precondition valid_read_string(format) got status valid. [eva] Done for function printf_va_1 [eva] Recording results for test_read [eva] Done for function test_read @@ -93,12 +93,12 @@ [eva] computing for function printf_va_2 <- test_readv <- main. Called from tests/libc/socket.c:75. [eva] using specification for function printf_va_2 -[eva] tests/libc/socket.c:75: - function printf_va_2: precondition valid_read_string(format) got status valid. -[eva:alarm] tests/libc/socket.c:75: Warning: - function printf_va_2: precondition valid_read_nstring(param1, 3) got status unknown. [eva:alarm] tests/libc/socket.c:75: Warning: function printf_va_2: precondition valid_read_nstring(param0, 2) got status unknown. +[eva:alarm] tests/libc/socket.c:75: Warning: + function printf_va_2: precondition valid_read_nstring(param1, 3) got status unknown. +[eva] tests/libc/socket.c:75: + function printf_va_2: precondition valid_read_string(format) got status valid. [eva] Done for function printf_va_2 [eva] Recording results for test_readv [eva] Done for function test_readv @@ -123,12 +123,12 @@ [eva] computing for function printf_va_3 <- test_recvmsg <- main. Called from tests/libc/socket.c:95. [eva] using specification for function printf_va_3 -[eva] tests/libc/socket.c:95: - function printf_va_3: precondition valid_read_string(format) got status valid. -[eva:alarm] tests/libc/socket.c:95: Warning: - function printf_va_3: precondition valid_read_nstring(param1, 3) got status unknown. [eva:alarm] tests/libc/socket.c:95: Warning: function printf_va_3: precondition valid_read_nstring(param0, 2) got status unknown. +[eva:alarm] tests/libc/socket.c:95: Warning: + function printf_va_3: precondition valid_read_nstring(param1, 3) got status unknown. +[eva] tests/libc/socket.c:95: + function printf_va_3: precondition valid_read_string(format) got status valid. [eva] Done for function printf_va_3 [eva] Recording results for test_recvmsg [eva] Done for function test_recvmsg diff --git a/tests/libc/oracle/socket.1.res.oracle b/tests/libc/oracle/socket.1.res.oracle index eb0bfef77cb0ccd765bf162598cac8399cb3dbbf..b20c456d6a35250afb73bcd9284f7990ba95e33f 100644 --- a/tests/libc/oracle/socket.1.res.oracle +++ b/tests/libc/oracle/socket.1.res.oracle @@ -59,10 +59,10 @@ [eva] computing for function printf_va_1 <- test_read <- main. Called from tests/libc/socket.c:62. [eva] using specification for function printf_va_1 -[eva] tests/libc/socket.c:62: - function printf_va_1: precondition valid_read_string(format) got status valid. [eva:alarm] tests/libc/socket.c:62: Warning: function printf_va_1: precondition valid_read_string(param0) got status unknown. +[eva] tests/libc/socket.c:62: + function printf_va_1: precondition valid_read_string(format) got status valid. [eva] Done for function printf_va_1 [eva] Recording results for test_read [eva] Done for function test_read @@ -93,12 +93,12 @@ [eva] computing for function printf_va_2 <- test_readv <- main. Called from tests/libc/socket.c:75. [eva] using specification for function printf_va_2 -[eva] tests/libc/socket.c:75: - function printf_va_2: precondition valid_read_string(format) got status valid. -[eva:alarm] tests/libc/socket.c:75: Warning: - function printf_va_2: precondition valid_read_nstring(param1, 3) got status unknown. [eva:alarm] tests/libc/socket.c:75: Warning: function printf_va_2: precondition valid_read_nstring(param0, 2) got status unknown. +[eva:alarm] tests/libc/socket.c:75: Warning: + function printf_va_2: precondition valid_read_nstring(param1, 3) got status unknown. +[eva] tests/libc/socket.c:75: + function printf_va_2: precondition valid_read_string(format) got status valid. [eva] Done for function printf_va_2 [eva] Recording results for test_readv [eva] Done for function test_readv @@ -123,12 +123,12 @@ [eva] computing for function printf_va_3 <- test_recvmsg <- main. Called from tests/libc/socket.c:95. [eva] using specification for function printf_va_3 -[eva] tests/libc/socket.c:95: - function printf_va_3: precondition valid_read_string(format) got status valid. -[eva:alarm] tests/libc/socket.c:95: Warning: - function printf_va_3: precondition valid_read_nstring(param1, 3) got status unknown. [eva:alarm] tests/libc/socket.c:95: Warning: function printf_va_3: precondition valid_read_nstring(param0, 2) got status unknown. +[eva:alarm] tests/libc/socket.c:95: Warning: + function printf_va_3: precondition valid_read_nstring(param1, 3) got status unknown. +[eva] tests/libc/socket.c:95: + function printf_va_3: precondition valid_read_string(format) got status valid. [eva] Done for function printf_va_3 [eva] Recording results for test_recvmsg [eva] Done for function test_recvmsg diff --git a/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle b/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle index 4e7341fa2833882844f02a7c4cec89db51521178..52bda4e41dd0c3ec64738ef4573ffae4a0d0bd01 100644 --- a/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle +++ b/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle @@ -42,8 +42,8 @@ int g1(int y) */ int printf_va_1(char const * restrict format); -/*@ requires valid_read_string(format); - requires valid_read_string(param1); +/*@ requires valid_read_string(param1); + requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), diff --git a/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle b/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle index 07068fa6a84f601508956deea91c33274fc2b04d..5fefd6a66162609554426a03a604eebcf2f22261 100644 --- a/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle +++ b/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle @@ -32,8 +32,8 @@ int g(int y) */ int printf_va_1(char const * restrict format); -/*@ requires valid_read_string(format); - requires valid_read_string(param1); +/*@ requires valid_read_string(param1); + requires valid_read_string(format); assigns \result, __fc_stdout->__fc_FILE_data; assigns \result \from (indirect: __fc_stdout->__fc_FILE_id), diff --git a/tests/value/oracle/cert_exp35_c.res.oracle b/tests/value/oracle/cert_exp35_c.res.oracle index a7a780f57972b4f743c0d4094e1b3b0d2ac55d82..18cbaa8b9d957f6fec96663cc5429f5cc2233f70 100644 --- a/tests/value/oracle/cert_exp35_c.res.oracle +++ b/tests/value/oracle/cert_exp35_c.res.oracle @@ -12,10 +12,10 @@ [eva] computing for function printf_va_1 <- main. Called from tests/value/cert_exp35_c.i:24. [eva] using specification for function printf_va_1 -[eva:alarm] tests/value/cert_exp35_c.i:24: Warning: - function printf_va_1: precondition valid_read_string(format) got status unknown. [eva:alarm] tests/value/cert_exp35_c.i:24: Warning: function printf_va_1: precondition valid_read_string(param0) got status unknown. +[eva:alarm] tests/value/cert_exp35_c.i:24: Warning: + function printf_va_1: precondition valid_read_string(format) got status unknown. [eva] Done for function printf_va_1 [eva] Recording results for main [eva] done for function main