From 902de9d6e39ea150e0970bc0cc0497cbe1b0a658 Mon Sep 17 00:00:00 2001 From: Jules Villard Date: Wed, 2 May 2018 08:38:07 -0700 Subject: [PATCH] [sil] make return value and type mandatory Summary: This simplifies the frontends and backends in most cases. Before this diff, returning `void` could be modelled either with a `None` return, or a dummy return variable with type `Tvoid`. Now it's always the latter. Reviewed By: sblackshear, dulmarod Differential Revision: D7832938 fbshipit-source-id: 0a403d1 --- infer/src/IR/Cfg.ml | 36 ++-- infer/src/IR/HilInstr.ml | 14 +- infer/src/IR/HilInstr.mli | 4 +- infer/src/IR/Sil.ml | 35 ++- infer/src/IR/Sil.mli | 6 +- infer/src/absint/PatternMatch.ml | 2 +- infer/src/backend/errdesc.ml | 6 +- infer/src/backend/preanal.ml | 8 +- infer/src/biabduction/Attribute.ml | 12 +- infer/src/biabduction/Attribute.mli | 2 +- infer/src/biabduction/Builtin.ml | 2 +- infer/src/biabduction/Builtin.mli | 2 +- infer/src/biabduction/BuiltinDefn.ml | 100 ++++----- infer/src/biabduction/SymExec.ml | 118 +++++------ infer/src/biabduction/SymExec.mli | 3 +- infer/src/biabduction/Tabulation.ml | 100 ++++----- infer/src/biabduction/Tabulation.mli | 4 +- .../src/bufferoverrun/bufferOverrunChecker.ml | 38 ++-- infer/src/checkers/Litho.ml | 16 +- infer/src/checkers/NullabilityCheck.ml | 8 +- infer/src/checkers/Ownership.ml | 24 +-- infer/src/checkers/annotationReachability.ml | 5 +- infer/src/checkers/control.ml | 10 +- infer/src/checkers/liveness.ml | 14 +- infer/src/clang/cTrans.ml | 74 +++++-- infer/src/clang/cTrans_utils.ml | 30 ++- infer/src/concurrency/RacerD.ml | 166 +++++++-------- infer/src/eradicate/typeCheck.ml | 15 +- infer/src/java/jTrans.ml | 60 ++++-- infer/src/java/jTransExn.ml | 4 +- infer/src/quandary/ClangTaintAnalysis.ml | 23 +- infer/src/quandary/JavaTaintAnalysis.ml | 8 +- infer/src/quandary/TaintAnalysis.ml | 27 ++- infer/src/quandary/TaintSpec.ml | 5 +- infer/src/unit/BoundedCallTreeTests.ml | 25 +-- infer/src/unit/TaintTests.ml | 6 +- infer/src/unit/analyzerTester.ml | 22 +- infer/src/unit/livenessTests.ml | 4 +- .../clang_translation/src/main.cpp.dot | 88 ++++---- .../src/main_default_root.cpp.dot | 88 ++++---- .../src/main_default_symlink.cpp.dot | 88 ++++---- .../src/main_symlink.cpp.dot | 88 ++++---- .../booleans/condition_as_param.c.dot | 2 +- .../conditional_operator/function_call.c.dot | 8 +- .../initialization/array_initlistexpr.c.dot | 4 +- .../c/frontend/unusual_stmts/asm.c.dot | 4 +- .../c/frontend/vaarg_expr/vaarg_expr.c.dot | 12 +- .../cpp/frontend/builtin/new.cpp.dot | 8 +- .../frontend/destructors/break_scope.cpp.dot | 200 +++++++++--------- .../destructors/call_destructor.cpp.dot | 2 +- .../destructors/call_on_delete.cpp.dot | 6 +- .../destructors/continue_scope.cpp.dot | 166 +++++++-------- .../destructors/destructor_bases.cpp.dot | 58 ++--- .../pseudo_destructor_expr.cpp.dot | 6 +- .../cpp/frontend/destructors/scope.cpp.dot | 86 ++++---- .../frontend/destructors/simple_decl.cpp.dot | 4 +- .../frontend/globals/global_const1.cpp.dot | 4 +- .../include_header/include_templ.cpp.dot | 4 +- .../frontend/initialization/init_list.cpp.dot | 24 +-- .../literals/scalar_value_init.cpp.dot | 8 +- .../cpp/frontend/loops/foreach1.cpp.dot | 32 +-- .../frontend/nestedoperators/union.cpp.dot | 2 +- .../frontend/vectors/shuffle_vector.cpp.dot | 2 +- .../cpp/shared/attributes/annotate.cpp.dot | 38 ++-- .../conditional/binary_conditional.cpp.dot | 42 ++-- .../constructors/constructor_array.cpp.dot | 16 +- .../constructor_default_arg.cpp.dot | 6 +- .../constructors/constructor_init.cpp.dot | 42 ++-- .../constructors/constructor_new.cpp.dot | 12 +- .../constructor_struct_init_list.cpp.dot | 2 +- .../constructor_with_body.cpp.dot | 12 +- .../constructors/copy_array_field.cpp.dot | 8 +- .../copy_move_constructor.cpp.dot | 60 +++--- .../constructors/default_field_init.cpp.dot | 8 +- .../shared/constructors/std_init_list.cpp.dot | 2 +- .../shared/constructors/temp_object.cpp.dot | 22 +- .../cpp/shared/exceptions/Exceptions.cpp.dot | 2 +- .../cpp/shared/lambda/lambda1.cpp.dot | 48 ++--- .../cpp/shared/methods/byvals.cpp.dot | 8 +- .../methods/conversion_operator.cpp.dot | 60 +++--- .../shared/methods/dereference_this.cpp.dot | 2 +- .../cpp/shared/methods/return_struct.cpp.dot | 10 +- .../shared/methods/virtual_methods.cpp.dot | 38 ++-- .../cpp/shared/namespace/namespace.cpp.dot | 12 +- .../cpp/shared/npe/method_call.cpp.dot | 2 +- .../member_access_from_return.cpp.dot | 2 +- .../cpp/shared/reference/ptr_mem.cpp.dot | 6 +- .../shared/reference/reference_field.cpp.dot | 74 +++---- .../reference/reference_struct_e2e.cpp.dot | 50 ++--- .../reference/reference_type_e2e.cpp.dot | 8 +- .../templates/class_specialization.cpp.dot | 12 +- .../cpp/shared/templates/function.cpp.dot | 12 +- .../cpp/shared/templates/method.cpp.dot | 32 +-- .../cpp/shared/types/inheritance.cpp.dot | 8 +- .../shared/types/inheritance_casts.cpp.dot | 24 +-- .../cpp/shared/types/return_struct.cpp.dot | 30 +-- .../types/struct_forward_declare.cpp.dot | 6 +- .../shared/types/struct_pass_by_value.cpp.dot | 36 ++-- .../codetoanalyze/java/tracing/issues.exp | 5 +- .../objc/frontend/block/retain_cycle.m.dot | 6 +- .../objc/frontend/block/static.m.dot | 20 +- .../objc/frontend/boxing/array.m.dot | 8 +- .../exceptions/ExceptionExample.m.dot | 4 +- .../PredefinedExprExample.m.dot | 6 +- .../objc/frontend/property/main_car.m.dot | 6 +- .../objc/frontend/self_static/Self.m.dot | 30 +-- .../objc/frontend/self_static/static.m.dot | 6 +- .../objc/frontend/types/void_call.m.dot | 8 +- .../annotations/nonnull_annotations.m.dot | 4 +- .../shared/block/Blocks_as_parameters.m.dot | 2 +- .../objc/shared/block/block-it.m.dot | 38 ++-- .../objc/shared/block/block_no_args.m.dot | 6 +- .../objc/shared/block/block_release.m.dot | 16 +- .../objc/shared/block/dispatch.m.dot | 36 ++-- .../objc/shared/block/dispatch_examples.m.dot | 42 ++-- .../objc/shared/block/dispatch_in_macro.m.dot | 2 +- .../shared/category_procdesc/EOCPerson.m.dot | 4 +- .../objc/shared/category_procdesc/main.c.dot | 4 +- .../AutoreleaseExample.m.dot | 6 +- .../MemoryLeakExample.m.dot | 78 +++---- .../RetainReleaseExample.m.dot | 6 +- .../TollBridgeExample.m.dot | 16 +- .../npe/Nonnull_attribute_example.m.dot | 2 +- .../objc/shared/property/GetterExample.m.dot | 4 +- .../shared/property/PropertyAttributes.m.dot | 6 +- .../shared/protocol_procdesc/Bicycle.m.dot | 12 +- .../objc/shared/protocol_procdesc/main.c.dot | 4 +- .../frontend/global_const/global_const.mm.dot | 2 +- 128 files changed, 1568 insertions(+), 1605 deletions(-) diff --git a/infer/src/IR/Cfg.ml b/infer/src/IR/Cfg.ml index 23da2efd0..638390ed6 100644 --- a/infer/src/IR/Cfg.ml +++ b/infer/src/IR/Cfg.ml @@ -117,7 +117,7 @@ let save_attributes source_file cfg = (** Inline a synthetic (access or bridge) method. *) -let inline_synthetic_method ret_id etl pdesc loc_call : Sil.instr option = +let inline_synthetic_method ((ret_id, _) as ret) etl pdesc loc_call : Sil.instr option = let modified = ref None in let found instr instr' = modified := Some instr' ; @@ -127,33 +127,27 @@ let inline_synthetic_method ret_id etl pdesc loc_call : Sil.instr option = "XX inline_synthetic_method instr': %a@." (Sil.pp_instr Pp.text) instr' in let do_instr _ instr = - match (instr, ret_id, etl) with - | ( Sil.Load (_, Exp.Lfield (Exp.Var _, fn, ft), bt, _) - , Some (ret_id, _) - , [(* getter for fields *) (e1, _)] ) -> + match (instr, etl) with + | Sil.Load (_, Exp.Lfield (Exp.Var _, fn, ft), bt, _), [(* getter for fields *) (e1, _)] -> let instr' = Sil.Load (ret_id, Exp.Lfield (e1, fn, ft), bt, loc_call) in found instr instr' - | Sil.Load (_, Exp.Lfield (Exp.Lvar pvar, fn, ft), bt, _), Some (ret_id, _), [] - when Pvar.is_global pvar -> + | Sil.Load (_, Exp.Lfield (Exp.Lvar pvar, fn, ft), bt, _), [] when Pvar.is_global pvar -> (* getter for static fields *) let instr' = Sil.Load (ret_id, Exp.Lfield (Exp.Lvar pvar, fn, ft), bt, loc_call) in found instr instr' - | Sil.Store (Exp.Lfield (_, fn, ft), bt, _, _), _, [(* setter for fields *) (e1, _); (e2, _)] -> + | Sil.Store (Exp.Lfield (_, fn, ft), bt, _, _), [(* setter for fields *) (e1, _); (e2, _)] -> let instr' = Sil.Store (Exp.Lfield (e1, fn, ft), bt, e2, loc_call) in found instr instr' - | Sil.Store (Exp.Lfield (Exp.Lvar pvar, fn, ft), bt, _, _), _, [(e1, _)] - when Pvar.is_global pvar -> + | Sil.Store (Exp.Lfield (Exp.Lvar pvar, fn, ft), bt, _, _), [(e1, _)] when Pvar.is_global pvar -> (* setter for static fields *) let instr' = Sil.Store (Exp.Lfield (Exp.Lvar pvar, fn, ft), bt, e1, loc_call) in found instr instr' - | Sil.Call (ret_id', Exp.Const (Const.Cfun pn), etl', _, cf), _, _ - when Bool.equal (is_none ret_id) (is_none ret_id') - && Int.equal (List.length etl') (List.length etl) -> - let instr' = Sil.Call (ret_id, Exp.Const (Const.Cfun pn), etl, loc_call, cf) in + | Sil.Call (_, Exp.Const (Const.Cfun pn), etl', _, cf), _ + when Int.equal (List.length etl') (List.length etl) -> + let instr' = Sil.Call (ret, Exp.Const (Const.Cfun pn), etl, loc_call, cf) in found instr instr' - | Sil.Call (ret_id', Exp.Const (Const.Cfun pn), etl', _, cf), _, _ - when Bool.equal (is_none ret_id) (is_none ret_id') - && Int.equal (List.length etl' + 1) (List.length etl) -> + | Sil.Call (_, Exp.Const (Const.Cfun pn), etl', _, cf), _ + when Int.equal (List.length etl' + 1) (List.length etl) -> let etl1 = match List.rev etl with (* remove last element *) @@ -162,7 +156,7 @@ let inline_synthetic_method ret_id etl pdesc loc_call : Sil.instr option = | [] -> assert false in - let instr' = Sil.Call (ret_id, Exp.Const (Const.Cfun pn), etl1, loc_call, cf) in + let instr' = Sil.Call (ret, Exp.Const (Const.Cfun pn), etl1, loc_call, cf) in found instr instr' | _ -> () @@ -174,14 +168,16 @@ let inline_synthetic_method ret_id etl pdesc loc_call : Sil.instr option = (** Find synthetic (access or bridge) Java methods in the procedure and inline them in the cfg. *) let proc_inline_synthetic_methods cfg pdesc : unit = let instr_inline_synthetic_method = function - | Sil.Call (ret_id, Exp.Const (Const.Cfun (Typ.Procname.Java java_pn as pn)), etl, loc, _) -> ( + | Sil.Call (ret_id_typ, Exp.Const (Const.Cfun (Typ.Procname.Java java_pn as pn)), etl, loc, _) + -> ( match Typ.Procname.Hash.find cfg pn with | pd -> let is_access = Typ.Procname.Java.is_access_method java_pn in let attributes = Procdesc.get_attributes pd in let is_synthetic = attributes.is_synthetic_method in let is_bridge = attributes.is_bridge_method in - if is_access || is_bridge || is_synthetic then inline_synthetic_method ret_id etl pd loc + if is_access || is_bridge || is_synthetic then + inline_synthetic_method ret_id_typ etl pd loc else None | exception Caml.Not_found -> None ) diff --git a/infer/src/IR/HilInstr.ml b/infer/src/IR/HilInstr.ml index 260c8d05f..8caaa941d 100644 --- a/infer/src/IR/HilInstr.ml +++ b/infer/src/IR/HilInstr.ml @@ -23,7 +23,7 @@ let pp_call fmt = function type t = | Assign of AccessExpression.t * HilExp.t * Location.t | Assume of HilExp.t * [`Then | `Else] * Sil.if_kind * Location.t - | Call of AccessPath.base option * call * HilExp.t list * CallFlags.t * Location.t + | Call of AccessPath.base * call * HilExp.t list * CallFlags.t * Location.t [@@deriving compare] let pp fmt = function @@ -31,10 +31,10 @@ let pp fmt = function F.fprintf fmt "%a := %a [%a]" AccessExpression.pp access_expr HilExp.pp exp Location.pp loc | Assume (exp, _, _, loc) -> F.fprintf fmt "assume %a [%a]" HilExp.pp exp Location.pp loc - | Call (ret_opt, call, actuals, _, loc) -> - let pp_ret fmt = Option.iter ~f:(F.fprintf fmt "%a := " AccessPath.pp_base) in + | Call (ret, call, actuals, _, loc) -> + let pp_ret fmt = F.fprintf fmt "%a := " AccessPath.pp_base in let pp_actuals fmt = PrettyPrintable.pp_collection ~pp_item:HilExp.pp fmt in - F.fprintf fmt "%a%a(%a) [%a]" pp_ret ret_opt pp_call call pp_actuals actuals Location.pp loc + F.fprintf fmt "%a%a(%a) [%a]" pp_ret ret pp_call call pp_actuals actuals Location.pp loc type translation = @@ -66,7 +66,7 @@ let of_sil ~include_array_indexes ~f_resolve_id (instr: Sil.instr) = (* do not need to add deref here as it is added implicitly in of_pvar by forgetting the & *) analyze_id_assignment (Var.of_pvar lhs_pvar) rhs_exp lhs_typ loc | Call - ( Some (ret_id, _) + ( (ret_id, _) , Const (Cfun callee_pname) , (target_exp, _) :: (Sizeof {typ= cast_typ}, _) :: _ , loc @@ -108,8 +108,8 @@ let of_sil ~include_array_indexes ~f_resolve_id (instr: Sil.instr) = "Non-assignable LHS expression %a at %a" Exp.pp lhs_exp Location.pp_file_pos loc in Instr (Assign (lhs_access_expr, exp_of_sil rhs_exp typ, loc)) - | Call (ret_opt, call_exp, formals, loc, call_flags) -> - let hil_ret = Option.map ~f:(fun (ret_id, ret_typ) -> (Var.of_id ret_id, ret_typ)) ret_opt in + | Call ((ret_id, ret_typ), call_exp, formals, loc, call_flags) -> + let hil_ret = (Var.of_id ret_id, ret_typ) in let hil_call = match exp_of_sil call_exp (Typ.mk Tvoid) with | Constant (Cfun procname) | Closure (procname, _) -> diff --git a/infer/src/IR/HilInstr.mli b/infer/src/IR/HilInstr.mli index 37d38e625..3ec1fbde5 100644 --- a/infer/src/IR/HilInstr.mli +++ b/infer/src/IR/HilInstr.mli @@ -18,8 +18,8 @@ type t = (** LHS access expression, RHS expression *) | Assume of HilExp.t * [`Then | `Else] * Sil.if_kind * Location.t (** Assumed expression, true_branch boolean, source of the assume (conditional, ternary, etc.) *) - | Call of AccessPath.base option * call * HilExp.t list * CallFlags.t * Location.t - (** Var to hold the return if it exists, call expression, formals *) + | Call of AccessPath.base * call * HilExp.t list * CallFlags.t * Location.t + (** Var to hold the return, call expression, formals *) [@@deriving compare] val pp : F.formatter -> t -> unit diff --git a/infer/src/IR/Sil.ml b/infer/src/IR/Sil.ml index ae7c0ad93..4d7f56381 100644 --- a/infer/src/IR/Sil.ml +++ b/infer/src/IR/Sil.ml @@ -46,9 +46,9 @@ type instr = [exp2] is the expression whose value is store. *) | Prune of Exp.t * Location.t * bool * if_kind (** prune the state based on [exp=1], the boolean indicates whether true branch *) - | Call of (Ident.t * Typ.t) option * Exp.t * (Exp.t * Typ.t) list * Location.t * CallFlags.t - (** [Call (ret_id, e_fun, arg_ts, loc, call_flags)] represents an instruction - [ret_id = e_fun(arg_ts);]. The return value is ignored when [ret_id = None]. *) + | Call of (Ident.t * Typ.t) * Exp.t * (Exp.t * Typ.t) list * Location.t * CallFlags.t + (** [Call ((ret_id, ret_typ), e_fun, arg_ts, loc, call_flags)] represents an instruction + [ret_id = e_fun(arg_ts);] *) | Nullify of Pvar.t * Location.t (** nullify stack variable *) | Abstract of Location.t (** apply abstraction *) | Remove_temps of Ident.t list * Location.t (** remove temporaries *) @@ -373,8 +373,8 @@ let instr_get_exps = function [e1; e2] | Prune (cond, _, _, _) -> [cond] - | Call (ret_id, e, _, _, _) -> - e :: Option.value_map ~f:(fun (id, _) -> [Exp.Var id]) ~default:[] ret_id + | Call ((id, _), e, _, _, _) -> + [e; Exp.Var id] | Nullify (pvar, _) -> [Exp.Lvar pvar] | Abstract _ -> @@ -414,8 +414,8 @@ let pp_instr pe0 f instr = Location.pp loc | Prune (cond, loc, true_branch, _) -> F.fprintf f "PRUNE(%a, %b); [%a]" (pp_exp_printenv pe) cond true_branch Location.pp loc - | Call (ret_id, e, arg_ts, loc, cf) -> - (match ret_id with None -> () | Some (id, _) -> F.fprintf f "%a=" Ident.pp id) ; + | Call ((id, _), e, arg_ts, loc, cf) -> + F.fprintf f "%a=" Ident.pp id ; F.fprintf f "%a(%a)%a [%a]" (pp_exp_printenv pe) e (Pp.comma_seq (pp_exp_typ pe)) arg_ts CallFlags.pp cf Location.pp loc @@ -433,14 +433,14 @@ let pp_instr pe0 f instr = let add_with_block_parameters_flag instr = match instr with - | Call (ret_id, Exp.Const (Const.Cfun pname), arg_ts, loc, cf) -> + | Call (ret_id_typ, Exp.Const (Const.Cfun pname), arg_ts, loc, cf) -> if List.exists ~f:(fun (exp, _) -> Exp.is_objc_block_closure exp) arg_ts && Typ.Procname.is_clang pname (* to be extended to other methods *) then let cf' = {cf with cf_with_block_parameters= true} in - Call (ret_id, Exp.Const (Const.Cfun pname), arg_ts, loc, cf') + Call (ret_id_typ, Exp.Const (Const.Cfun pname), arg_ts, loc, cf') else instr | _ -> instr @@ -1366,17 +1366,13 @@ let instr_sub_ids ~sub_id_binders f instr = if phys_equal lhs_exp' lhs_exp && phys_equal typ typ' && phys_equal rhs_exp' rhs_exp then instr else Store (lhs_exp', typ', rhs_exp', loc) - | Call (ret_id, fun_exp, actuals, call_flags, loc) -> + | Call (((id, typ) as ret_id_typ), fun_exp, actuals, call_flags, loc) -> let ret_id' = if sub_id_binders then - match ret_id with - | Some (id, typ) -> - let id' = sub_id id in - let typ' = sub_typ typ in - if Ident.equal id id' && phys_equal typ typ' then ret_id else Some (id', typ') - | None -> - None - else ret_id + let id' = sub_id id in + let typ' = sub_typ typ in + if Ident.equal id id' && phys_equal typ typ' then ret_id_typ else (id', typ') + else ret_id_typ in let fun_exp' = exp_sub_ids f fun_exp in let actuals' = @@ -1389,7 +1385,8 @@ let instr_sub_ids ~sub_id_binders f instr = else (actual', typ') ) actuals in - if phys_equal ret_id' ret_id && phys_equal fun_exp' fun_exp && phys_equal actuals' actuals + if + phys_equal ret_id' ret_id_typ && phys_equal fun_exp' fun_exp && phys_equal actuals' actuals then instr else Call (ret_id', fun_exp', actuals', call_flags, loc) | Prune (exp, loc, true_branch, if_kind) -> diff --git a/infer/src/IR/Sil.mli b/infer/src/IR/Sil.mli index a2a77abb8..dd1cd2db2 100644 --- a/infer/src/IR/Sil.mli +++ b/infer/src/IR/Sil.mli @@ -45,9 +45,9 @@ type instr = [exp2] is the expression whose value is store. *) | Prune of Exp.t * Location.t * bool * if_kind (** prune the state based on [exp=1], the boolean indicates whether true branch *) - | Call of (Ident.t * Typ.t) option * Exp.t * (Exp.t * Typ.t) list * Location.t * CallFlags.t - (** [Call (ret_id, e_fun, arg_ts, loc, call_flags)] represents an instruction - [ret_id = e_fun(arg_ts);]. The return value is ignored when [ret_id = None]. *) + | Call of (Ident.t * Typ.t) * Exp.t * (Exp.t * Typ.t) list * Location.t * CallFlags.t + (** [Call ((ret_id, ret_typ), e_fun, arg_ts, loc, call_flags)] represents an instruction + [ret_id = e_fun(arg_ts);] *) | Nullify of Pvar.t * Location.t (** nullify stack variable *) | Abstract of Location.t (** apply abstraction *) | Remove_temps of Ident.t list * Location.t (** remove temporaries *) diff --git a/infer/src/absint/PatternMatch.ml b/infer/src/absint/PatternMatch.ml index c991c58cb..fb3f03b89 100644 --- a/infer/src/absint/PatternMatch.ml +++ b/infer/src/absint/PatternMatch.ml @@ -118,7 +118,7 @@ let get_vararg_type_names tenv (call_node: Procdesc.Node.t) (ivar: Pvar.t) : str (* Is this the node creating ivar? *) let rec initializes_array instrs = match instrs with - | Sil.Call (Some (t1, _), Exp.Const (Const.Cfun pn), _, _, _) + | Sil.Call ((t1, _), Exp.Const (Const.Cfun pn), _, _, _) :: Sil.Store (Exp.Lvar iv, _, Exp.Var t2, _) :: is -> Pvar.equal ivar iv && Ident.equal t1 t2 && Typ.Procname.equal pn (Typ.Procname.from_string_c_fun "__new_array") diff --git a/infer/src/backend/errdesc.ml b/infer/src/backend/errdesc.ml index 7e27ce49d..91fd9f744 100644 --- a/infer/src/backend/errdesc.ml +++ b/infer/src/backend/errdesc.ml @@ -101,7 +101,7 @@ let find_in_node_or_preds start_node f_node_instr = let find_normal_variable_funcall (node: Procdesc.Node.t) (id: Ident.t) : (Exp.t * Exp.t list * Location.t * CallFlags.t) option = let find_declaration _ = function - | Sil.Call (Some (id0, _), fun_exp, args, loc, call_flags) when Ident.equal id id0 -> + | Sil.Call ((id0, _), fun_exp, args, loc, call_flags) when Ident.equal id id0 -> Some (fun_exp, List.map ~f:fst args, loc, call_flags) | _ -> None @@ -188,14 +188,14 @@ let rec find_normal_variable_load_ tenv (seen: Exp.Set.t) node id : DExp.t optio Sil.d_exp e ; L.d_ln () ) ; exp_lv_dexp_ tenv seen node e - | Sil.Call (Some (id0, _), Exp.Const (Const.Cfun pn), (e, _) :: _, _, _) + | Sil.Call ((id0, _), Exp.Const (Const.Cfun pn), (e, _) :: _, _, _) when Ident.equal id id0 && Typ.Procname.equal pn (Typ.Procname.from_string_c_fun "__cast") -> if verbose then ( L.d_str "find_normal_variable_load cast on " ; Sil.d_exp e ; L.d_ln () ) ; exp_rv_dexp_ tenv seen node e - | Sil.Call (Some (id0, _), (Exp.Const (Const.Cfun pname) as fun_exp), args, loc, call_flags) + | Sil.Call ((id0, _), (Exp.Const (Const.Cfun pname) as fun_exp), args, loc, call_flags) when Ident.equal id id0 -> if verbose then ( L.d_str "find_normal_variable_load function call " ; diff --git a/infer/src/backend/preanal.ml b/infer/src/backend/preanal.ml index 523b1f077..cde22f8aa 100644 --- a/infer/src/backend/preanal.ml +++ b/infer/src/backend/preanal.ml @@ -91,12 +91,8 @@ module NullifyTransferFunctions = struct match instr with | Sil.Load (lhs_id, _, _, _) -> (VarDomain.add (Var.of_id lhs_id) active_defs, to_nullify) - | Sil.Call (lhs_id, _, _, _, _) -> - let active_defs' = - Option.value_map - ~f:(fun (id, _) -> VarDomain.add (Var.of_id id) active_defs) - ~default:active_defs lhs_id - in + | Sil.Call ((id, _), _, _, _, _) -> + let active_defs' = VarDomain.add (Var.of_id id) active_defs in (active_defs', to_nullify) | Sil.Store (Exp.Lvar lhs_pvar, _, _, _) -> (VarDomain.add (Var.of_pvar lhs_pvar) active_defs, to_nullify) diff --git a/infer/src/biabduction/Attribute.ml b/infer/src/biabduction/Attribute.ml index 354177e0a..7e482bc1f 100644 --- a/infer/src/biabduction/Attribute.ml +++ b/infer/src/biabduction/Attribute.ml @@ -196,8 +196,8 @@ let rec nullify_exp_with_objc_null tenv prop exp = The annotations of the return type of the method get propagated to the return id, with the exception of when the return type is a struct, and we translate it as passing a reference to the method. *) -let mark_vars_as_undefined tenv prop ~ret_exp_opt ~undefined_actuals_by_ref callee_pname ret_annots - loc path_pos = +let mark_vars_as_undefined tenv prop ~ret_exp ~undefined_actuals_by_ref callee_pname ret_annots loc + path_pos = let mark_var_as_undefined ~annot exp prop = match exp with | Exp.Var _ | Lvar _ -> @@ -206,13 +206,7 @@ let mark_vars_as_undefined tenv prop ~ret_exp_opt ~undefined_actuals_by_ref call | _ -> prop in - let prop_with_ret_attr = - match ret_exp_opt with - | Some ret_exp -> - mark_var_as_undefined ~annot:ret_annots ret_exp prop - | None -> - prop - in + let prop_with_ret_attr = mark_var_as_undefined ~annot:ret_annots ret_exp prop in List.fold ~f:(fun prop id -> mark_var_as_undefined ~annot:[] id prop) ~init:prop_with_ret_attr undefined_actuals_by_ref diff --git a/infer/src/biabduction/Attribute.mli b/infer/src/biabduction/Attribute.mli index 6b23759a9..2c5953bed 100644 --- a/infer/src/biabduction/Attribute.mli +++ b/infer/src/biabduction/Attribute.mli @@ -77,7 +77,7 @@ val nullify_exp_with_objc_null : Tenv.t -> Prop.normal Prop.t -> Exp.t -> Prop.n remove the attribute and conjoin an equality to zero. *) val mark_vars_as_undefined : - Tenv.t -> Prop.normal Prop.t -> ret_exp_opt:Exp.t option -> undefined_actuals_by_ref:Exp.t list + Tenv.t -> Prop.normal Prop.t -> ret_exp:Exp.t -> undefined_actuals_by_ref:Exp.t list -> Typ.Procname.t -> Annot.Item.t -> Location.t -> PredSymb.path_pos -> Prop.normal Prop.t (** mark Exp.Var's or Exp.Lvar's as undefined *) diff --git a/infer/src/biabduction/Builtin.ml b/infer/src/biabduction/Builtin.ml index 3c32b73ac..299cf9142 100644 --- a/infer/src/biabduction/Builtin.ml +++ b/infer/src/biabduction/Builtin.ml @@ -18,7 +18,7 @@ type args = ; tenv: Tenv.t ; prop_: Prop.normal Prop.t ; path: Paths.Path.t - ; ret_id: (Ident.t * Typ.t) option + ; ret_id_typ: Ident.t * Typ.t ; args: (Exp.t * Typ.t) list ; proc_name: Typ.Procname.t ; loc: Location.t diff --git a/infer/src/biabduction/Builtin.mli b/infer/src/biabduction/Builtin.mli index 6acc72fda..58dbf6b6d 100644 --- a/infer/src/biabduction/Builtin.mli +++ b/infer/src/biabduction/Builtin.mli @@ -17,7 +17,7 @@ type args = ; tenv: Tenv.t ; prop_: Prop.normal Prop.t ; path: Paths.Path.t - ; ret_id: (Ident.t * Typ.t) option + ; ret_id_typ: Ident.t * Typ.t ; args: (Exp.t * Typ.t) list ; proc_name: Typ.Procname.t ; loc: Location.t diff --git a/infer/src/biabduction/BuiltinDefn.ml b/infer/src/biabduction/BuiltinDefn.ml index 42dbd9b93..0e2274f7c 100644 --- a/infer/src/biabduction/BuiltinDefn.ml +++ b/infer/src/biabduction/BuiltinDefn.ml @@ -17,10 +17,10 @@ module L = Logging type t = Builtin.registered (** model va_arg as always returning 0 *) -let execute___builtin_va_arg {Builtin.pdesc; tenv; prop_; path; ret_id; args; loc; exe_env} +let execute___builtin_va_arg {Builtin.pdesc; tenv; prop_; path; args; loc; exe_env} : Builtin.ret_typ = - match (args, ret_id) with - | [_; _; (lexp3, typ3)], _ -> + match args with + | [_; _; (lexp3, typ3)] -> let instr' = Sil.Store (lexp3, typ3, Exp.zero, loc) in SymExec.instrs ~mask_errors:true exe_env tenv pdesc [instr'] [(prop_, path)] | _ -> @@ -50,9 +50,7 @@ let extract_array_type typ = (** Return a result from a procedure call. *) -let return_result tenv e prop ret_id = - match ret_id with Some (ret_id, _) -> Prop.conjoin_eq tenv e (Exp.Var ret_id) prop | _ -> prop - +let return_result tenv e prop (ret_id, _) = Prop.conjoin_eq tenv e (Exp.Var ret_id) prop (* Add an array of typ pointed to by lexp to prop_ if it doesn't already exist *) (* Return the new prop and the array length *) @@ -101,21 +99,22 @@ let execute___require_allocated_array {Builtin.tenv; pdesc; prop_; path; args} : raise (Exceptions.Wrong_argument_number __POS__) -let execute___get_array_length {Builtin.tenv; pdesc; prop_; path; ret_id; args} : Builtin.ret_typ = +let execute___get_array_length {Builtin.tenv; pdesc; prop_; path; ret_id_typ; args} + : Builtin.ret_typ = match args with | [(lexp, typ)] -> ( match add_array_to_prop tenv pdesc prop_ lexp typ with | None -> [] | Some (len, prop) -> - [(return_result tenv len prop ret_id, path)] ) + [(return_result tenv len prop ret_id_typ, path)] ) | _ -> raise (Exceptions.Wrong_argument_number __POS__) -let execute___set_array_length {Builtin.tenv; pdesc; prop_; path; ret_id; args} : Builtin.ret_typ = - match (args, ret_id) with - | [(lexp, typ); (len, _)], None -> ( +let execute___set_array_length {Builtin.tenv; pdesc; prop_; path; args} : Builtin.ret_typ = + match args with + | [(lexp, typ); (len, _)] -> ( match add_array_to_prop tenv pdesc prop_ lexp typ with | None -> [] @@ -214,7 +213,7 @@ let create_type tenv n_lexp typ prop = else null_case @ non_null_case -let execute___get_type_of {Builtin.pdesc; tenv; prop_; path; ret_id; args} : Builtin.ret_typ = +let execute___get_type_of {Builtin.pdesc; tenv; prop_; path; ret_id_typ; args} : Builtin.ret_typ = match args with | [(lexp, typ)] -> let pname = Procdesc.get_proc_name pdesc in @@ -229,9 +228,9 @@ let execute___get_type_of {Builtin.pdesc; tenv; prop_; path; ret_id; args} : Bui in match hpred_opt with | Some texp -> - (return_result tenv texp prop ret_id, path) + (return_result tenv texp prop ret_id_typ, path) | None -> - (return_result tenv Exp.zero prop ret_id, path) + (return_result tenv Exp.zero prop ret_id_typ, path) in List.map ~f:aux props | _ -> @@ -259,7 +258,7 @@ let replace_ptsto_texp tenv prop root_e texp = Prop.normalize tenv prop'' -let execute___instanceof_cast ~instof {Builtin.pdesc; tenv; prop_; path; ret_id; args} +let execute___instanceof_cast ~instof {Builtin.pdesc; tenv; prop_; path; ret_id_typ; args} : Builtin.ret_typ = match args with | [(val1_, typ1); (texp2_, _)] -> @@ -276,7 +275,7 @@ let execute___instanceof_cast ~instof {Builtin.pdesc; tenv; prop_; path; ret_id; raise (Tabulation.create_cast_exception tenv __POS__ None texp1 texp2 val1) in let exe_one_prop prop = - if Exp.equal texp2 Exp.zero then [(return_result tenv Exp.zero prop ret_id, path)] + if Exp.equal texp2 Exp.zero then [(return_result tenv Exp.zero prop ret_id_typ, path)] else let res_opt = List.find @@ -297,7 +296,7 @@ let execute___instanceof_cast ~instof {Builtin.pdesc; tenv; prop_; path; ret_id; if Exp.equal texp1 texp1' then prop else replace_ptsto_texp tenv prop val1 texp1' in - [(return_result tenv res_e prop' ret_id, path)] + [(return_result tenv res_e prop' ret_id_typ, path)] in if instof then (* instanceof *) @@ -331,7 +330,7 @@ let execute___instanceof_cast ~instof {Builtin.pdesc; tenv; prop_; path; ret_id; | Some res -> res | None -> - [(return_result tenv val1 prop ret_id, path)] + [(return_result tenv val1 prop ret_id_typ, path)] in let props = create_type tenv val1 typ1 prop in List.concat_map ~f:exe_one_prop props @@ -363,10 +362,9 @@ let set_resource_attribute tenv prop path n_lexp loc ra_res = (** Set the attibute of the value as file *) -let execute___set_file_attribute {Builtin.tenv; pdesc; prop_; path; ret_id; args; loc} - : Builtin.ret_typ = - match (args, ret_id) with - | [(lexp, _)], _ -> +let execute___set_file_attribute {Builtin.tenv; pdesc; prop_; path; args; loc} : Builtin.ret_typ = + match args with + | [(lexp, _)] -> let pname = Procdesc.get_proc_name pdesc in let n_lexp, prop = check_arith_norm_exp tenv pname lexp prop_ in set_resource_attribute tenv prop path n_lexp loc PredSymb.Rfile @@ -376,10 +374,10 @@ let execute___set_file_attribute {Builtin.tenv; pdesc; prop_; path; ret_id; args (** Set the resource attribute of the first real argument of method as ignore, the first argument is assumed to be "this" *) -let execute___method_set_ignore_attribute {Builtin.tenv; pdesc; prop_; path; ret_id; args; loc} +let execute___method_set_ignore_attribute {Builtin.tenv; pdesc; prop_; path; args; loc} : Builtin.ret_typ = - match (args, ret_id) with - | [_; (lexp, _)], _ -> + match args with + | [_; (lexp, _)] -> let pname = Procdesc.get_proc_name pdesc in let n_lexp, prop = check_arith_norm_exp tenv pname lexp prop_ in set_resource_attribute tenv prop path n_lexp loc PredSymb.Rignore @@ -388,10 +386,9 @@ let execute___method_set_ignore_attribute {Builtin.tenv; pdesc; prop_; path; ret (** Set the attibute of the value as memory *) -let execute___set_mem_attribute {Builtin.tenv; pdesc; prop_; path; ret_id; args; loc} - : Builtin.ret_typ = - match (args, ret_id) with - | [(lexp, _)], _ -> +let execute___set_mem_attribute {Builtin.tenv; pdesc; prop_; path; args; loc} : Builtin.ret_typ = + match args with + | [(lexp, _)] -> let pname = Procdesc.get_proc_name pdesc in let n_lexp, prop = check_arith_norm_exp tenv pname lexp prop_ in set_resource_attribute tenv prop path n_lexp loc (PredSymb.Rmemory PredSymb.Mnew) @@ -538,7 +535,7 @@ let execute_free mk ?(mark_as_freed= true) {Builtin.pdesc; instr; tenv; prop_; p This should behave correctly most of the time. *) let execute_free_cf mk = execute_free mk ~mark_as_freed:false -let execute_alloc mk can_return_null {Builtin.pdesc; tenv; prop_; path; ret_id; args; loc} +let execute_alloc mk can_return_null {Builtin.pdesc; tenv; prop_; path; ret_id_typ; args; loc} : Builtin.ret_typ = let pname = Procdesc.get_proc_name pdesc in let rec evaluate_char_sizeof e = @@ -577,9 +574,7 @@ let execute_alloc mk can_return_null {Builtin.pdesc; tenv; prop_; path; ret_id; | _ -> raise (Exceptions.Wrong_argument_number __POS__) in - let ret_id = - match ret_id with Some (ret_id, _) -> ret_id | _ -> Ident.create_fresh Ident.kprimed - in + let ret_id = fst ret_id_typ in let size_exp', prop = let n_size_exp, prop = check_arith_norm_exp tenv pname size_exp prop_ in let n_size_exp' = evaluate_char_sizeof n_size_exp in @@ -672,18 +667,20 @@ let execute_pthread_create ({Builtin.tenv; prop_; path; args; exe_env} as builti let execute_skip {Builtin.prop_; path} : Builtin.ret_typ = [(prop_, path)] -let execute_scan_function skip_n_arguments ({Builtin.args} as call_args) : Builtin.ret_typ = +let execute_scan_function skip_n_arguments ({Builtin.args; ret_id_typ} as call_args) + : Builtin.ret_typ = match args with | _ when List.length args >= skip_n_arguments -> let varargs = ref args in varargs := List.drop !varargs skip_n_arguments ; - SymExec.unknown_or_scan_call ~is_scan:true ~reason:"execute scan function" None + SymExec.unknown_or_scan_call ~is_scan:true ~reason:"execute scan function" (snd ret_id_typ) Annot.Item.empty {call_args with args= !varargs} | _ -> raise (Exceptions.Wrong_argument_number __POS__) -let execute__unwrap_exception {Builtin.tenv; pdesc; prop_; path; ret_id; args} : Builtin.ret_typ = +let execute__unwrap_exception {Builtin.tenv; pdesc; prop_; path; ret_id_typ; args} + : Builtin.ret_typ = match args with | [(ret_exn, _)] -> ( @@ -691,7 +688,7 @@ let execute__unwrap_exception {Builtin.tenv; pdesc; prop_; path; ret_id; args} : let n_ret_exn, prop = check_arith_norm_exp tenv pname ret_exn prop_ in match n_ret_exn with | Exp.Exn exp -> - let prop_with_exn = return_result tenv exp prop ret_id in + let prop_with_exn = return_result tenv exp prop ret_id_typ in [(prop_with_exn, path)] | _ -> assert false ) @@ -699,19 +696,19 @@ let execute__unwrap_exception {Builtin.tenv; pdesc; prop_; path; ret_id; args} : raise (Exceptions.Wrong_argument_number __POS__) -let execute_return_first_argument {Builtin.tenv; pdesc; prop_; path; ret_id; args} +let execute_return_first_argument {Builtin.tenv; pdesc; prop_; path; ret_id_typ; args} : Builtin.ret_typ = match args with | (arg1_, _) :: _ -> let pname = Procdesc.get_proc_name pdesc in let arg1, prop = check_arith_norm_exp tenv pname arg1_ prop_ in - let prop' = return_result tenv arg1 prop ret_id in + let prop' = return_result tenv arg1 prop ret_id_typ in [(prop', path)] | _ -> raise (Exceptions.Wrong_argument_number __POS__) -let execute___split_get_nth {Builtin.tenv; pdesc; prop_; path; ret_id; args} : Builtin.ret_typ = +let execute___split_get_nth {Builtin.tenv; pdesc; prop_; path; ret_id_typ; args} : Builtin.ret_typ = match args with | [(lexp1, _); (lexp2, _); (lexp3, _)] -> ( @@ -727,7 +724,7 @@ let execute___split_get_nth {Builtin.tenv; pdesc; prop_; path; ret_id; args} : B let parts = Str.split (Str.regexp_string str2) str1 in let n_part = List.nth_exn parts n in let res = Exp.Const (Const.Cstr n_part) in - [(return_result tenv res prop ret_id, path)] + [(return_result tenv res prop ret_id_typ, path)] with Caml.Not_found -> assert false ) | _ -> [(prop, path)] ) @@ -782,7 +779,7 @@ let execute___assert_fail {Builtin.pdesc; tenv; prop_; path; args; loc; exe_env} let execute_objc_alloc_no_fail symb_state typ alloc_fun_opt - {Builtin.pdesc; tenv; ret_id; loc; exe_env} = + {Builtin.pdesc; tenv; ret_id_typ; loc; exe_env} = let alloc_fun = Exp.Const (Const.Cfun BuiltinDecl.__objc_alloc_no_fail) in let ptr_typ = Typ.mk (Tptr (typ, Typ.Pk_pointer)) in let sizeof_typ = Exp.Sizeof {typ; nbytes= None; dynamic_length= None; subtype= Subtype.exact} in @@ -794,20 +791,15 @@ let execute_objc_alloc_no_fail symb_state typ alloc_fun_opt [] in let alloc_instr = - Sil.Call (ret_id, alloc_fun, [(sizeof_typ, ptr_typ)] @ alloc_fun_exp, loc, CallFlags.default) + Sil.Call + (ret_id_typ, alloc_fun, [(sizeof_typ, ptr_typ)] @ alloc_fun_exp, loc, CallFlags.default) in SymExec.instrs exe_env tenv pdesc [alloc_instr] symb_state (* NSArray models *) let execute_objc_NSArray_alloc_no_fail builtin_args symb_state pname = - let ret_typ = - match builtin_args.Builtin.ret_id with - | Some (_, typ) -> - typ - | None -> - Typ.mk (Tptr (Typ.mk Tvoid, Pk_pointer)) - in + let ret_typ = snd builtin_args.Builtin.ret_id_typ in execute_objc_alloc_no_fail symb_state ret_typ (Some pname) builtin_args @@ -825,13 +817,7 @@ let execute_NSArray_arrayWithObjects builtin_args = (* NSDictionary models *) let execute_objc_NSDictionary_alloc_no_fail symb_state pname builtin_args = - let ret_typ = - match builtin_args.Builtin.ret_id with - | Some (_, typ) -> - typ - | None -> - Typ.mk (Tptr (Typ.mk Tvoid, Pk_pointer)) - in + let ret_typ = snd builtin_args.Builtin.ret_id_typ in execute_objc_alloc_no_fail symb_state ret_typ (Some pname) builtin_args diff --git a/infer/src/biabduction/SymExec.ml b/infer/src/biabduction/SymExec.ml index b6a6e2fbe..f98da7ed0 100644 --- a/infer/src/biabduction/SymExec.ml +++ b/infer/src/biabduction/SymExec.ml @@ -741,15 +741,11 @@ let force_objc_init_return_nil pdesc callee_pname tenv ret_id pre path receiver Typ.Procname.is_constructor callee_pname && receiver_self receiver pre && !Config.footprint && Typ.Procname.is_constructor current_pname then - match ret_id with - | Some (ret_id, _) -> - let propset = prune_ne tenv ~positive:false (Exp.Var ret_id) Exp.zero pre in - if Propset.is_empty propset then [] - else - let prop = List.hd_exn (Propset.to_proplist propset) in - [(prop, path)] - | _ -> - [] + let propset = prune_ne tenv ~positive:false (Exp.Var ret_id) Exp.zero pre in + if Propset.is_empty propset then [] + else + let prop = List.hd_exn (Propset.to_proplist propset) in + [(prop, path)] else [] @@ -783,15 +779,11 @@ let handle_objc_instance_method_call_or_skip pdesc tenv actual_pars path callee_ false in let add_objc_null_attribute_or_nullify_result prop = - match ret_id with - | Some (ret_id, _) -> ( - match Attribute.find_equal_formal_path tenv receiver prop with - | Some vfs -> - Attribute.add_or_replace tenv prop (Apred (Aobjc_null, [Exp.Var ret_id; vfs])) - | None -> - Prop.conjoin_eq tenv (Exp.Var ret_id) Exp.zero prop ) - | _ -> - prop + match Attribute.find_equal_formal_path tenv receiver prop with + | Some vfs -> + Attribute.add_or_replace tenv prop (Apred (Aobjc_null, [Exp.Var ret_id; vfs])) + | None -> + Prop.conjoin_eq tenv (Exp.Var ret_id) Exp.zero prop in if is_receiver_null then ( (* objective-c instance method with a null receiver just return objc_null(res). *) @@ -1075,7 +1067,7 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p instr_ in let skip_call ?(is_objc_instance_method= false) ~reason prop path callee_pname ret_annots loc - ret_id ret_typ_opt actual_args = + ret_id_typ ret_typ actual_args = let skip_res () = let exn = Exceptions.Skip_function (Localise.desc_skip_function callee_pname) in Reporting.log_info_deprecated current_pname exn ; @@ -1088,14 +1080,14 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p | Some summary -> let proc_name = Specs.get_proc_name summary in Tabulation.log_call_trace proc_name callee_pname ~reason loc Tabulation.CR_skip ) ; - unknown_or_scan_call ~is_scan:false ~reason ret_typ_opt ret_annots + unknown_or_scan_call ~is_scan:false ~reason ret_typ ret_annots Builtin. { pdesc= current_pdesc ; instr ; tenv ; prop_= prop ; path - ; ret_id + ; ret_id_typ ; args= actual_args ; proc_name= callee_pname ; loc @@ -1103,11 +1095,20 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p in if is_objc_instance_method then handle_objc_instance_method_call_or_skip current_pdesc tenv actual_args path callee_pname - prop ret_id skip_res + prop (fst ret_id_typ) skip_res else skip_res () in - let call_args prop_ proc_name args ret_id loc = - {Builtin.pdesc= current_pdesc; instr; tenv; prop_; path; ret_id; args; proc_name; loc; exe_env} + let call_args prop_ proc_name args ret_id_typ loc = + { Builtin.pdesc= current_pdesc + ; instr + ; tenv + ; prop_ + ; path + ; ret_id_typ + ; args + ; proc_name + ; loc + ; exe_env } in match instr with | Sil.Load (id, rhs_exp, typ, loc) -> @@ -1150,10 +1151,10 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p check_condition_always_true_false () ; let n_cond, prop = check_arith_norm_exp tenv current_pname cond prop__ in ret_old_path (Propset.to_proplist (prune tenv ~positive:true n_cond prop)) - | Sil.Call (ret_id, Exp.Const (Const.Cfun callee_pname), actual_params, loc, call_flags) -> ( + | Sil.Call (ret_id_typ, Exp.Const (Const.Cfun callee_pname), actual_params, loc, call_flags) -> ( match Builtin.get callee_pname with | Some exec_builtin -> - exec_builtin (call_args prop_ callee_pname actual_params ret_id loc) + exec_builtin (call_args prop_ callee_pname actual_params ret_id_typ loc) | None -> match callee_pname with | Java callee_pname_java when Config.dynamic_dispatch @@ -1161,7 +1162,7 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p let norm_prop, norm_args' = normalize_params tenv current_pname prop_ actual_params in let norm_args = call_constructor_url_update_args callee_pname norm_args' in let exec_skip_call ~reason skipped_pname ret_annots ret_type = - skip_call ~reason norm_prop path skipped_pname ret_annots loc ret_id (Some ret_type) + skip_call ~reason norm_prop path skipped_pname ret_annots loc ret_id_typ ret_type norm_args in let resolved_pname, resolved_summary_opt = @@ -1177,7 +1178,7 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p match reason_to_skip resolved_summary with | None -> proc_call exe_env resolved_summary - (call_args prop_ callee_pname norm_args ret_id loc) + (call_args prop_ callee_pname norm_args ret_id_typ loc) | Some reason -> let proc_attrs = Specs.get_attributes resolved_summary in let ret_annots, _ = proc_attrs.ProcAttributes.method_annotation in @@ -1191,7 +1192,7 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p in let exec_one_pname pname = let exec_skip_call ~reason ret_annots ret_type = - skip_call ~reason norm_prop path pname ret_annots loc ret_id (Some ret_type) + skip_call ~reason norm_prop path pname ret_annots loc ret_id_typ ret_type url_handled_args in match Ondemand.analyze_proc_name ~caller_pdesc:current_pdesc pname with @@ -1202,7 +1203,7 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p | Some callee_summary -> match reason_to_skip callee_summary with | None -> - let handled_args = call_args norm_prop pname url_handled_args ret_id loc in + let handled_args = call_args norm_prop pname url_handled_args ret_id_typ loc in proc_call exe_env callee_summary handled_args | Some reason -> let proc_attrs = Specs.get_attributes callee_summary in @@ -1234,18 +1235,17 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p in Logging.d_strln "Calling method specialized with blocks... " ; proc_call exe_env resolved_summary - (call_args prop_r resolved_pname n_extended_actual_params ret_id loc) + (call_args prop_r resolved_pname n_extended_actual_params ret_id_typ loc) | None -> (* Generic fun call with known name *) let resolved_summary_opt = Ondemand.analyze_proc_name ~caller_pdesc:current_pdesc resolved_pname in let callee_pdesc_opt = Ondemand.get_proc_desc resolved_pname in - let ret_typ_opt = Option.map ~f:Procdesc.get_ret_type callee_pdesc_opt in let sentinel_result = if Language.curr_language_is Clang then check_variadic_sentinel_if_present - (call_args prop_r callee_pname actual_params ret_id loc) + (call_args prop_r callee_pname actual_params ret_id_typ loc) else [(prop_r, path)] in let do_call (prop, path) = @@ -1276,11 +1276,11 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p | Some objc_accessor, _ -> (* If it's an ObjC getter or setter, call the builtin rather than skipping *) handle_objc_instance_method_call n_actual_params n_actual_params prop - tenv ret_id current_pdesc callee_pname loc path + tenv (fst ret_id_typ) current_pdesc callee_pname loc path (sym_exec_objc_accessor callee_pname objc_accessor ret_type) | None, true -> (* If it's an alloc model, call alloc rather than skipping *) - sym_exec_alloc_model exe_env callee_pname ret_type tenv ret_id + sym_exec_alloc_model exe_env callee_pname ret_type tenv ret_id_typ current_pdesc loc prop path | None, false -> let is_objc_instance_method = @@ -1288,17 +1288,17 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p attrs.ProcAttributes.clang_method_kind ProcAttributes.OBJC_INSTANCE in skip_call ~is_objc_instance_method ~reason prop path resolved_pname - ret_annots loc ret_id ret_typ_opt n_actual_params ) + ret_annots loc ret_id_typ ret_type n_actual_params ) | None -> - skip_call ~reason prop path resolved_pname ret_annots loc ret_id - ret_typ_opt n_actual_params ) + skip_call ~reason prop path resolved_pname ret_annots loc ret_id_typ + (snd ret_id_typ) n_actual_params ) | None -> proc_call exe_env (Option.value_exn resolved_summary_opt) - (call_args prop resolved_pname n_actual_params ret_id loc) + (call_args prop resolved_pname n_actual_params ret_id_typ loc) in List.concat_map ~f:do_call sentinel_result ) - | Sil.Call (ret_id, fun_exp, actual_params, loc, call_flags) -> + | Sil.Call (ret_id_typ, fun_exp, actual_params, loc, call_flags) -> (* Call via function pointer *) let prop_r, n_actual_params = normalize_params tenv current_pname prop_ actual_params in if @@ -1316,7 +1316,7 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p Sil.d_exp fun_exp ; L.d_strln ", returning undefined value." ; let callee_pname = Typ.Procname.from_string_c_fun "__function_pointer__" in - unknown_or_scan_call ~is_scan:false ~reason:"unresolved function pointer" None + unknown_or_scan_call ~is_scan:false ~reason:"unresolved function pointer" (snd ret_id_typ) Annot.Item.empty Builtin. { pdesc= current_pdesc @@ -1324,7 +1324,7 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_: Prop.normal Prop.t) p ; tenv ; prop_= prop_r ; path - ; ret_id + ; ret_id_typ ; args= n_actual_params ; proc_name= callee_pname ; loc @@ -1495,8 +1495,8 @@ and add_constraints_on_actuals_by_ref tenv caller_pdesc prop actuals_by_ref call (** execute a call for an unknown or scan function *) -and unknown_or_scan_call ~is_scan ~reason ret_type_option ret_annots - {Builtin.tenv; pdesc; prop_= pre; path; ret_id; args; proc_name= callee_pname; loc; instr} = +and unknown_or_scan_call ~is_scan ~reason ret_typ ret_annots + {Builtin.tenv; pdesc; prop_= pre; path; ret_id_typ; args; proc_name= callee_pname; loc; instr} = let remove_file_attribute prop = let do_exp p (e, _) = let do_attribute q atom = @@ -1553,13 +1553,9 @@ and unknown_or_scan_call ~is_scan ~reason ret_type_option ret_annots (* in Java, assume that skip functions close resources passed as params *) let pre_1 = if Typ.Procname.is_java callee_pname then remove_file_attribute pre else pre in let pre_2 = - match (ret_id, ret_type_option) with - | Some (ret_id, _), Some ret_typ -> - (* TODO(jjb): Should this use the type of ret_id, or ret_type from the procedure type? *) - add_constraints_on_retval tenv pdesc pre_1 (Exp.Var ret_id) ret_typ ~has_nonnull_annot - callee_pname loc - | _ -> - pre_1 + (* TODO(jjb): Should this use the type of ret_id, or ret_type from the procedure type? *) + add_constraints_on_retval tenv pdesc pre_1 (Exp.Var (fst ret_id_typ)) ret_typ + ~has_nonnull_annot callee_pname loc in add_constraints_on_actuals_by_ref tenv pdesc pre_2 actuals_by_ref callee_pname loc in @@ -1568,10 +1564,10 @@ and unknown_or_scan_call ~is_scan ~reason ret_type_option ret_annots else (* otherwise, add undefined attribute to retvals and actuals passed by ref *) let undefined_actuals_by_ref = List.map ~f:(fun (exp, _, _) -> exp) actuals_by_ref in - let ret_exp_opt = Option.map ~f:(fun (id, _) -> Exp.Var id) ret_id in + let ret_exp = Exp.Var (fst ret_id_typ) in let prop_with_undef_attr = let path_pos = State.get_path_pos () in - Attribute.mark_vars_as_undefined tenv pre_final ~ret_exp_opt ~undefined_actuals_by_ref + Attribute.mark_vars_as_undefined tenv pre_final ~ret_exp ~undefined_actuals_by_ref callee_pname ret_annots loc path_pos in let callee_loc_opt = @@ -1637,7 +1633,6 @@ and sym_exec_objc_getter field ret_typ tenv ret_id pdesc pname loc args prop = L.d_strln (F.sprintf "No custom getter found. Executing the ObjC builtin getter with ivar %s." (Typ.Fieldname.to_string field_name)) ; - let ret_id = match ret_id with Some (ret_id, _) -> ret_id | None -> assert false in match args with | [ ( lexp , ( ({Typ.desc= Tstruct struct_name} as typ) @@ -1689,7 +1684,8 @@ and sym_exec_objc_accessor callee_pname property_accesor ret_typ tenv ret_id pde f_accessor ret_typ tenv ret_id pdesc cur_pname loc args prop |> List.map ~f:(fun p -> (p, path)) -and sym_exec_alloc_model exe_env pname ret_typ tenv ret_id pdesc loc prop path : Builtin.ret_typ = +and sym_exec_alloc_model exe_env pname ret_typ tenv ret_id_typ pdesc loc prop path + : Builtin.ret_typ = let alloc_source_function_arg = (Exp.Const (Const.Cfun pname), Typ.mk Tvoid) in let args = let sizeof_exp = @@ -1699,14 +1695,14 @@ and sym_exec_alloc_model exe_env pname ret_typ tenv ret_id pdesc loc prop path : [exp; alloc_source_function_arg] in let alloc_fun = Exp.Const (Const.Cfun BuiltinDecl.malloc_no_fail) in - let alloc_instr = Sil.Call (ret_id, alloc_fun, args, loc, CallFlags.default) in + let alloc_instr = Sil.Call (ret_id_typ, alloc_fun, args, loc, CallFlags.default) in L.d_strln "No spec found, method should be model as alloc, executing alloc... " ; instrs exe_env tenv pdesc [alloc_instr] [(prop, path)] (** Perform symbolic execution for a function call *) and proc_call exe_env callee_summary - {Builtin.pdesc; tenv; prop_= pre; path; ret_id; args= actual_pars; loc} = + {Builtin.pdesc; tenv; prop_= pre; path; ret_id_typ; args= actual_pars; loc} = let caller_pname = Procdesc.get_proc_name pdesc in let callee_attrs = Specs.get_attributes callee_summary in let callee_pname = Specs.get_proc_name callee_summary in @@ -1750,13 +1746,13 @@ and proc_call exe_env callee_summary where the receiver is null and the semantics of the call is nop *) match (!Language.curr_language, callee_attrs.ProcAttributes.clang_method_kind) with | Language.Clang, ProcAttributes.OBJC_INSTANCE -> - handle_objc_instance_method_call actual_pars actual_params pre tenv ret_id pdesc callee_pname - loc path + handle_objc_instance_method_call actual_pars actual_params pre tenv (fst ret_id_typ) pdesc + callee_pname loc path (Tabulation.exe_function_call exe_env callee_summary) | _ -> (* non-objective-c method call. Standard tabulation *) - Tabulation.exe_function_call exe_env callee_summary tenv ret_id pdesc callee_pname loc - actual_params pre path + Tabulation.exe_function_call exe_env callee_summary tenv (fst ret_id_typ) pdesc callee_pname + loc actual_params pre path (** perform symbolic execution for a single prop, and check for junk *) diff --git a/infer/src/biabduction/SymExec.mli b/infer/src/biabduction/SymExec.mli index 824616524..7dd6e98d0 100644 --- a/infer/src/biabduction/SymExec.mli +++ b/infer/src/biabduction/SymExec.mli @@ -28,8 +28,7 @@ val diverge : Prop.normal Prop.t -> Paths.Path.t -> (Prop.normal Prop.t * Paths. val proc_call : Exe_env.t -> Specs.summary -> Builtin.t -val unknown_or_scan_call : - is_scan:bool -> reason:string -> Typ.t option -> Annot.Item.t -> Builtin.t +val unknown_or_scan_call : is_scan:bool -> reason:string -> Typ.t -> Annot.Item.t -> Builtin.t val check_variadic_sentinel : ?fails_on_nil:bool -> int -> int * int -> Builtin.t diff --git a/infer/src/biabduction/Tabulation.ml b/infer/src/biabduction/Tabulation.ml index 7f690536a..a83c85e20 100644 --- a/infer/src/biabduction/Tabulation.ml +++ b/infer/src/biabduction/Tabulation.ml @@ -909,29 +909,15 @@ let combine tenv ret_id (posts: ('a Prop.t * Paths.Path.t) list) actual_pre path | None -> post_p2 | Some iter' -> - match (fst (Prop.prop_iter_current tenv iter'), ret_id) with - | Sil.Hpointsto (_, Sil.Eexp (e', inst), _), _ when exp_is_exn e' -> + match fst (Prop.prop_iter_current tenv iter') with + | Sil.Hpointsto (_, Sil.Eexp (e', inst), _) when exp_is_exn e' -> (* resuls is an exception: set in caller *) let p = Prop.prop_iter_remove_curr_then_to_prop tenv iter' in prop_set_exn tenv caller_pname p (Sil.Eexp (e', inst)) - | Sil.Hpointsto (_, Sil.Eexp (e', _), _), Some (id, _) -> + | Sil.Hpointsto (_, Sil.Eexp (e', _), _) -> let p = Prop.prop_iter_remove_curr_then_to_prop tenv iter' in - Prop.conjoin_eq tenv e' (Exp.Var id) p - | Sil.Hpointsto (_, Sil.Estruct (ftl, _), _), _ - when Int.equal (List.length ftl) (if is_none ret_id then 0 else 1) -> - (* TODO(jjb): Is this case dead? *) - let rec do_ftl_ids p = function - | [], None -> - p - | (_, Sil.Eexp (e', _)) :: ftl', Some (ret_id, _) -> - let p' = Prop.conjoin_eq tenv e' (Exp.Var ret_id) p in - do_ftl_ids p' (ftl', None) - | _ -> - p - in - let p = Prop.prop_iter_remove_curr_then_to_prop tenv iter' in - do_ftl_ids p (ftl, ret_id) - | Sil.Hpointsto _, _ -> + Prop.conjoin_eq tenv e' (Exp.Var ret_id) p + | Sil.Hpointsto _ -> (* returning nothing or unexpected sexp, turning into nondet *) Prop.prop_iter_remove_curr_then_to_prop tenv iter' | _ -> @@ -988,38 +974,36 @@ let mk_actual_precondition tenv prop actual_params formal_params = Prop.normalize tenv actual_pre -let mk_posts tenv ret_id_opt prop callee_pname posts = - if is_none ret_id_opt then posts - else - let mk_getter_idempotent posts = - (* if we have seen a previous call to the same function, only use specs whose return value +let mk_posts tenv prop callee_pname posts = + let mk_getter_idempotent posts = + (* if we have seen a previous call to the same function, only use specs whose return value is consistent with constraints on the return value of the previous call w.r.t to nullness. meant to eliminate false NPE warnings from the common "if (get() != null) get().something()" pattern *) - let last_call_ret_non_null = + let last_call_ret_non_null = + List.exists + ~f:(function + | Sil.Apred (Aretval (pname, _), [exp]) when Typ.Procname.equal callee_pname pname -> + Prover.check_disequal tenv prop exp Exp.zero + | _ -> + false) + (Attribute.get_all prop) + in + if last_call_ret_non_null then + let returns_null prop = List.exists ~f:(function - | Sil.Apred (Aretval (pname, _), [exp]) when Typ.Procname.equal callee_pname pname -> - Prover.check_disequal tenv prop exp Exp.zero + | Sil.Hpointsto (Exp.Lvar pvar, Sil.Eexp (e, _), _) when Pvar.is_return pvar -> + Prover.check_equal tenv (Prop.normalize tenv prop) e Exp.zero | _ -> false) - (Attribute.get_all prop) + prop.Prop.sigma in - if last_call_ret_non_null then - let returns_null prop = - List.exists - ~f:(function - | Sil.Hpointsto (Exp.Lvar pvar, Sil.Eexp (e, _), _) when Pvar.is_return pvar -> - Prover.check_equal tenv (Prop.normalize tenv prop) e Exp.zero - | _ -> - false) - prop.Prop.sigma - in - List.filter ~f:(fun (prop, _) -> not (returns_null prop)) posts - else posts - in - if Config.idempotent_getters && Language.curr_language_is Java then mk_getter_idempotent posts + List.filter ~f:(fun (prop, _) -> not (returns_null prop)) posts else posts + in + if Config.idempotent_getters && Language.curr_language_is Java then mk_getter_idempotent posts + else posts (** Check if actual_pre * missing_footprint |- false *) @@ -1108,10 +1092,10 @@ let add_missing_field_to_tenv ~missing_sigma exe_env caller_tenv callee_pname hp (** Perform symbolic execution for a single spec *) -let exe_spec exe_env tenv ret_id_opt (n, nspecs) caller_pdesc callee_pname loc prop path_pre +let exe_spec exe_env tenv ret_id (n, nspecs) caller_pdesc callee_pname loc prop path_pre (spec: Prop.exposed Specs.spec) actual_params formal_params : abduction_res = let caller_pname = Procdesc.get_proc_name caller_pdesc in - let posts = mk_posts tenv ret_id_opt prop callee_pname spec.Specs.posts in + let posts = mk_posts tenv prop callee_pname spec.Specs.posts in let actual_pre = mk_actual_precondition tenv prop actual_params formal_params in let spec_pre = Specs.Jprop.to_prop spec.Specs.pre in L.d_strln ("EXECUTING SPEC " ^ string_of_int n ^ "/" ^ string_of_int nspecs) ; @@ -1172,7 +1156,7 @@ let exe_spec exe_env tenv ret_id_opt (n, nspecs) caller_pdesc callee_pname loc p in let report_valid_res split = match - combine tenv ret_id_opt posts actual_pre path_pre split caller_pdesc callee_pname loc + combine tenv ret_id posts actual_pre path_pre split caller_pdesc callee_pname loc with | None -> Invalid_res Cannot_combine @@ -1413,21 +1397,19 @@ let exe_call_postprocess tenv ret_id trace_call callee_pname callee_attrs loc re (Config.idempotent_getters && Language.curr_language_is Java && is_likely_getter callee_pname) || returns_nullable ret_annot in - match ret_id with - | Some (ret_id, _) when should_add_ret_attr () -> - (* add attribute to remember what function call a return id came from *) - let ret_var = Exp.Var ret_id in - let mark_id_as_retval (p, path) = - let att_retval = PredSymb.Aretval (callee_pname, ret_annot) in - (Attribute.add tenv p att_retval [ret_var], path) - in - List.map ~f:mark_id_as_retval res - | _ -> - res + if should_add_ret_attr () then + (* add attribute to remember what function call a return id came from *) + let ret_var = Exp.Var ret_id in + let mark_id_as_retval (p, path) = + let att_retval = PredSymb.Aretval (callee_pname, ret_annot) in + (Attribute.add tenv p att_retval [ret_var], path) + in + List.map ~f:mark_id_as_retval res + else res (** Execute the function call and return the list of results with return value *) -let exe_function_call exe_env callee_summary tenv ret_id_opt caller_pdesc callee_pname loc +let exe_function_call exe_env callee_summary tenv ret_id caller_pdesc callee_pname loc actual_params prop path = let callee_attrs = Specs.get_attributes callee_summary in let caller_pname = Procdesc.get_proc_name caller_pdesc in @@ -1441,8 +1423,8 @@ let exe_function_call exe_env callee_summary tenv ret_id_opt caller_pdesc callee Prop.d_prop prop ; L.d_ln () ; let exe_one_spec (n, spec) = - exe_spec exe_env tenv ret_id_opt (n, nspecs) caller_pdesc callee_pname loc prop path spec + exe_spec exe_env tenv ret_id (n, nspecs) caller_pdesc callee_pname loc prop path spec actual_params formal_params in let results = List.map ~f:exe_one_spec spec_list in - exe_call_postprocess tenv ret_id_opt trace_call callee_pname callee_attrs loc results + exe_call_postprocess tenv ret_id trace_call callee_pname callee_attrs loc results diff --git a/infer/src/biabduction/Tabulation.mli b/infer/src/biabduction/Tabulation.mli index 811cc338b..b2fb2cb6d 100644 --- a/infer/src/biabduction/Tabulation.mli +++ b/infer/src/biabduction/Tabulation.mli @@ -47,7 +47,7 @@ val lookup_custom_errors : 'a Prop.t -> string option (** search in prop contains an error state *) val exe_function_call : - Exe_env.t -> Specs.summary -> Tenv.t -> (Ident.t * Typ.t) option -> Procdesc.t -> Typ.Procname.t - -> Location.t -> (Exp.t * Typ.t) list -> Prop.normal Prop.t -> Paths.Path.t + Exe_env.t -> Specs.summary -> Tenv.t -> Ident.t -> Procdesc.t -> Typ.Procname.t -> Location.t + -> (Exp.t * Typ.t) list -> Prop.normal Prop.t -> Paths.Path.t -> (Prop.normal Prop.t * Paths.Path.t) list (** Execute the function call and return the list of results with return value *) diff --git a/infer/src/bufferoverrun/bufferOverrunChecker.ml b/infer/src/bufferoverrun/bufferOverrunChecker.ml index ec11b3eca..cff0c21a8 100644 --- a/infer/src/bufferoverrun/bufferOverrunChecker.ml +++ b/infer/src/bufferoverrun/bufferOverrunChecker.ml @@ -133,18 +133,15 @@ module TransferFunctions (CFG : ProcCfg.S) = struct let reachable_locs = Dom.Mem.get_reachable_locs_from locs callee_exit_mem in PowLoc.fold copy (PowLoc.inter new_locs reachable_locs) mem in - match ret with - | Some (id, _) -> - let ret_loc = Loc.of_pvar (Pvar.get_ret_pvar callee_pname) in - let ret_val = Dom.Mem.find_heap ret_loc callee_exit_mem in - let ret_var = Loc.of_var (Var.of_id id) in - let add_ret_alias l = Dom.Mem.load_alias id l mem in - let mem = Option.value_map ret_alias ~default:mem ~f:add_ret_alias in - Dom.Val.subst ret_val subst_map location |> Dom.Val.add_trace_elem (Trace.Return location) - |> Fn.flip (Dom.Mem.add_stack ret_var) mem - |> copy_reachable_new_locs_from (Dom.Val.get_all_locs ret_val) - | None -> - mem + let id = fst ret in + let ret_loc = Loc.of_pvar (Pvar.get_ret_pvar callee_pname) in + let ret_val = Dom.Mem.find_heap ret_loc callee_exit_mem in + let ret_var = Loc.of_var (Var.of_id id) in + let add_ret_alias l = Dom.Mem.load_alias id l mem in + let mem = Option.value_map ret_alias ~default:mem ~f:add_ret_alias in + Dom.Val.subst ret_val subst_map location |> Dom.Val.add_trace_elem (Trace.Return location) + |> Fn.flip (Dom.Mem.add_stack ret_var) mem + |> copy_reachable_new_locs_from (Dom.Val.get_all_locs ret_val) let instantiate_param tenv pdesc params callee_entry_mem callee_exit_mem subst_map location mem = @@ -187,8 +184,8 @@ module TransferFunctions (CFG : ProcCfg.S) = struct let instantiate_mem - : Tenv.t -> (Ident.t * Typ.t) option -> Procdesc.t option -> Typ.Procname.t - -> (Exp.t * Typ.t) list -> Dom.Mem.astate -> Dom.Summary.t -> Location.t -> Dom.Mem.astate = + : Tenv.t -> Ident.t * Typ.t -> Procdesc.t option -> Typ.Procname.t -> (Exp.t * Typ.t) list + -> Dom.Mem.astate -> Dom.Summary.t -> Location.t -> Dom.Mem.astate = fun tenv ret callee_pdesc callee_pname params caller_mem summary location -> let callee_entry_mem = Dom.Summary.get_input summary in let callee_exit_mem = Dom.Summary.get_output summary in @@ -252,7 +249,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct match Models.Call.dispatch callee_pname params with | Some {Models.exec} -> let node_hash = CFG.hash node in - let model_env = Models.mk_model_env callee_pname node_hash location tenv ?ret in + let model_env = Models.mk_model_env callee_pname node_hash location tenv ~ret in exec model_env mem | None -> match Summary.read_summary pdesc callee_pname with @@ -263,13 +260,10 @@ module TransferFunctions (CFG : ProcCfg.S) = struct L.(debug BufferOverrun Verbose) "/!\\ Unknown call to %a at %a@\n" Typ.Procname.pp callee_pname Location.pp location ; - match ret with - | None -> - mem - | Some (id, _) -> - let val_unknown = Dom.Val.unknown_from ~callee_pname ~location in - Dom.Mem.add_stack (Loc.of_id id) val_unknown mem - |> Dom.Mem.add_heap Loc.unknown val_unknown ) + let id = fst ret in + let val_unknown = Dom.Val.unknown_from ~callee_pname ~location in + Dom.Mem.add_stack (Loc.of_id id) val_unknown mem + |> Dom.Mem.add_heap Loc.unknown val_unknown ) | Declare_locals (locals, location) -> (* array allocation in stack e.g., int arr[10] *) let node_hash = CFG.hash node in diff --git a/infer/src/checkers/Litho.ml b/infer/src/checkers/Litho.ml index 567239b4d..e5a8e89a4 100644 --- a/infer/src/checkers/Litho.ml +++ b/infer/src/checkers/Litho.ml @@ -195,7 +195,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct type extras = ProcData.no_extras - let apply_callee_summary summary_opt caller_pname ret_opt actuals astate = + let apply_callee_summary summary_opt caller_pname ret_id_typ actuals astate = match summary_opt with | Some summary -> (* TODO: append paths if the footprint access path is an actual path instead of a var *) @@ -212,11 +212,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct None ) | None -> if Var.is_return var then - match ret_opt with - | Some ret -> - Some (Domain.LocalAccessPath.make (ret, []) caller_pname) - | None -> - assert false + Some (Domain.LocalAccessPath.make (ret_id_typ, []) caller_pname) else None in Domain.substitute ~f_sub summary |> Domain.join astate @@ -228,7 +224,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct let caller_pname = Procdesc.get_proc_name proc_data.pdesc in match instr with | Call - ( (Some return_base as ret_opt) + ( return_base , Direct (Typ.Procname.Java java_callee_procname as callee_procname) , (HilExp.AccessExpression receiver_ae :: _ as actuals) , _ @@ -259,10 +255,10 @@ module TransferFunctions (CFG : ProcCfg.S) = struct Domain.add return_access_path return_calls astate else (* treat it like a normal call *) - apply_callee_summary summary caller_pname ret_opt actuals astate - | Call (ret_opt, Direct callee_procname, actuals, _, _) -> + apply_callee_summary summary caller_pname return_base actuals astate + | Call (ret_id_typ, Direct callee_procname, actuals, _, _) -> let summary = Summary.read_summary proc_data.pdesc callee_procname in - apply_callee_summary summary caller_pname ret_opt actuals astate + apply_callee_summary summary caller_pname ret_id_typ actuals astate | Assign (lhs_ae, HilExp.AccessExpression rhs_ae, _) -> ( (* creating an alias for the rhs binding; assume all reads will now occur through the diff --git a/infer/src/checkers/NullabilityCheck.ml b/infer/src/checkers/NullabilityCheck.ml index 78953ab9d..a0a5f1754 100644 --- a/infer/src/checkers/NullabilityCheck.ml +++ b/infer/src/checkers/NullabilityCheck.ml @@ -261,7 +261,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct is_pointer_subtype tenv rhs_typ lhs_typ in match instr with - | Call (Some ret_var, Direct callee_pname, _, _, _) + | Call (ret_var, Direct callee_pname, _, _, _) when NullCheckedPname.mem callee_pname checked_pnames -> (* Do not report nullable when the method has already been checked for null *) remove_nullable_ap (ret_var, []) astate @@ -270,7 +270,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct assume_pnames_notnull (AccessExpression.to_access_path receiver) astate | Call (_, Direct callee_pname, _, _, _) when is_blacklisted_method callee_pname -> astate - | Call (Some ret_var, Direct callee_pname, _, _, loc) + | Call (ret_var, Direct callee_pname, _, _, loc) when Annotations.pname_has_return_annot callee_pname ~attrs_of_pname:lookup_local_attributes Annotations.ia_is_nullable -> let call_site = CallSite.make callee_pname loc in @@ -281,7 +281,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct | Call (_, Direct callee_pname, args, _, loc) when is_objc_container_add_method callee_pname -> check_nil_in_objc_container proc_data loc args astate | Call - ( Some ((_, ret_typ) as ret_var) + ( ((_, ret_typ) as ret_var) , Direct callee_pname , HilExp.AccessExpression receiver :: _ , _ @@ -293,7 +293,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct | Some (_, call_sites) -> (* Objective C method will return nil when called on a nil receiver *) add_nullable_ap (ret_var, []) call_sites astate ) - | Call (Some ret_var, _, _, _, _) -> + | Call (ret_var, _, _, _, _) -> remove_nullable_ap (ret_var, []) astate | Assign (lhs_access_expr, rhs, loc) -> ( diff --git a/infer/src/checkers/Ownership.ml b/infer/src/checkers/Ownership.ml index c83ac4f63..0f6615c71 100644 --- a/infer/src/checkers/Ownership.ml +++ b/infer/src/checkers/Ownership.ml @@ -224,31 +224,27 @@ module TransferFunctions (CFG : ProcCfg.S) = struct Option.some_if (is_aggregate base) base - let acquire_ownership call_exp return_opt actuals loc summary astate = + let acquire_ownership call_exp return_base actuals loc summary astate = match call_exp with | HilInstr.Direct pname -> (* TODO: support new[], malloc, others? *) if Typ.Procname.equal pname BuiltinDecl.__new then let astate' = Domain.actuals_add_reads actuals loc summary astate in - match return_opt with - | Some return_base -> - Some (Domain.add return_base CapabilityDomain.Owned astate') - | None -> - Some astate' + Some (Domain.add return_base CapabilityDomain.Owned astate') else if Typ.Procname.equal pname BuiltinDecl.__placement_new then - match (List.rev actuals, return_opt) with - | HilExp.AccessExpression (Base placement_base) :: other_actuals, Some return_base -> + match List.rev actuals with + | HilExp.AccessExpression (Base placement_base) :: other_actuals -> (* placement new creates an alias between return var and placement var. model as return borrowing from placement *) Domain.actuals_add_reads other_actuals loc summary astate |> Domain.add placement_base CapabilityDomain.Owned |> Domain.borrow_vars return_base (VarSet.singleton placement_base) |> Option.some - | _ :: other_actuals, Some return_base -> + | _ :: other_actuals -> Domain.actuals_add_reads other_actuals loc summary astate |> Domain.add return_base CapabilityDomain.Owned |> Option.some | _ -> - L.die InternalError "Placement new without placement or return in %a %a" - Typ.Procname.pp pname Location.pp loc + L.die InternalError "Placement new without placement in %a %a" Typ.Procname.pp pname + Location.pp loc else if Typ.Procname.is_constructor pname then match actuals with | HilExp.AccessExpression (AccessExpression.AddressOf access_expression) :: other_actuals @@ -327,8 +323,8 @@ module TransferFunctions (CFG : ProcCfg.S) = struct (* invoking a lambda; check that it's captured vars are valid *) Domain.check_var_lifetime lhs_base loc summary astate ; astate - | Call (ret_opt, call_exp, actuals, _, loc) -> ( - match acquire_ownership call_exp ret_opt actuals loc summary astate with + | Call (ret_id_typ, call_exp, actuals, _, loc) -> ( + match acquire_ownership call_exp ret_id_typ actuals loc summary astate with | Some astate' -> astate' | None -> @@ -337,7 +333,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct Domain.empty else let astate' = Domain.actuals_add_reads actuals loc summary astate in - match ret_opt with Some base -> Domain.remove base astate' | None -> astate' ) + Domain.remove ret_id_typ astate' ) | Assume (assume_exp, _, _, loc) -> Domain.exp_add_reads assume_exp loc summary astate diff --git a/infer/src/checkers/annotationReachability.ml b/infer/src/checkers/annotationReachability.ml index 7c3fa6271..d7eb6d7e3 100644 --- a/infer/src/checkers/annotationReachability.ml +++ b/infer/src/checkers/annotationReachability.ml @@ -10,7 +10,6 @@ open! IStd open! AbstractDomain.Types module F = Format -module L = Logging module MF = MarkupFormatter let dummy_constructor_annot = "__infer_is_constructor" @@ -421,7 +420,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct let exec_instr astate {ProcData.pdesc; tenv} _ = function - | Sil.Call (Some (id, _), Const (Cfun callee_pname), _, _, _) when is_unlikely callee_pname -> + | Sil.Call ((id, _), Const (Cfun callee_pname), _, _, _) when is_unlikely callee_pname -> Domain.add_tracking_var (Var.of_id id) astate | Sil.Call (_, Const (Cfun callee_pname), _, call_loc, _) -> let caller_pname = Procdesc.get_proc_name pdesc in @@ -436,8 +435,6 @@ module TransferFunctions (CFG : ProcCfg.S) = struct Domain.remove_tracking_var (Var.of_pvar pvar) astate | Sil.Prune (exp, _, _, _) when prunes_tracking_var astate exp -> Domain.stop_tracking astate - | Sil.Call (None, _, _, _, _) -> - L.(die InternalError) "Expecting a return identifier" | _ -> astate diff --git a/infer/src/checkers/control.ml b/infer/src/checkers/control.ml index aa9633854..d007647c4 100644 --- a/infer/src/checkers/control.ml +++ b/infer/src/checkers/control.ml @@ -61,13 +61,9 @@ module TransferFunctionsDataDeps (CFG : ProcCfg.S) = struct Exp.program_vars exp_lhs |> Sequence.fold ~init:astate' ~f:(fun astate_acc pvar -> add_data_dep_exp (Var.of_pvar pvar) exp_rhs astate_acc ) - | Sil.Call (lhs, _, arg_list, _, _) -> ( - match lhs with - | Some (id, _) -> - List.fold_left arg_list ~init:astate ~f:(fun astate_acc (exp, _) -> - add_data_dep_exp (Var.of_id id) exp astate_acc ) - | None -> - astate ) + | Sil.Call ((id, _), _, arg_list, _, _) -> + List.fold_left arg_list ~init:astate ~f:(fun astate_acc (exp, _) -> + add_data_dep_exp (Var.of_id id) exp astate_acc ) | Sil.Prune _ | Declare_locals _ | Remove_temps _ | Abstract _ | Nullify _ -> astate diff --git a/infer/src/checkers/liveness.ml b/infer/src/checkers/liveness.ml index 52e9012a6..533bd5db9 100644 --- a/infer/src/checkers/liveness.ml +++ b/infer/src/checkers/liveness.ml @@ -68,11 +68,9 @@ module TransferFunctions (CFG : ProcCfg.S) = struct exp_add_live lhs_exp astate |> exp_add_live rhs_exp | Sil.Prune (exp, _, _, _) -> exp_add_live exp astate - | Sil.Call (ret_id, call_exp, actuals, _, _) -> - Option.value_map - ~f:(fun (ret_id, _) -> Domain.remove (Var.of_id ret_id) astate) - ~default:astate ret_id - |> exp_add_live call_exp |> add_live_actuals actuals call_exp + | Sil.Call ((ret_id, _), call_exp, actuals, _, _) -> + Domain.remove (Var.of_id ret_id) astate |> exp_add_live call_exp + |> add_live_actuals actuals call_exp | Sil.Declare_locals _ | Remove_temps _ | Abstract _ | Nullify _ -> astate @@ -176,11 +174,7 @@ let checker {Callbacks.tenv; summary; proc_desc} : Specs.summary = when should_report pvar typ live_vars captured_by_ref_vars && not (is_sentinel_exp rhs_exp) -> log_report pvar typ loc | Sil.Call - ( None - , Exp.Const (Cfun (Typ.Procname.ObjC_Cpp _ as pname)) - , (Exp.Lvar pvar, typ) :: _ - , loc - , _ ) + (_, Exp.Const (Cfun (Typ.Procname.ObjC_Cpp _ as pname)), (Exp.Lvar pvar, typ) :: _, loc, _) when Typ.Procname.is_constructor pname && should_report pvar typ live_vars captured_by_ref_vars -> log_report pvar typ loc diff --git a/infer/src/clang/cTrans.ml b/infer/src/clang/cTrans.ml index cec0febfb..b3d58a5dc 100644 --- a/infer/src/clang/cTrans.ml +++ b/infer/src/clang/cTrans.ml @@ -214,10 +214,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s let create_call_instr trans_state (return_type: Typ.t) function_sil params_sil sil_loc call_flags ~is_objc_method = - let ret_id = - if Typ.equal_desc return_type.desc Typ.Tvoid then None - else Some (Ident.create_fresh Ident.knormal, return_type) - in + let ret_id_typ = (Ident.create_fresh Ident.knormal, return_type) in let ret_id', params, initd_exps, ret_exps = (* Assumption: should_add_return_param will return true only for struct types *) if CMethod_trans.should_add_return_param return_type ~is_objc_method then @@ -251,9 +248,16 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s (* value doesn't work good anyway. This may need to be revisited later*) let ret_param = (var_exp, param_type) in let ret_exp = (var_exp, return_type) in - (None, params_sil @ [ret_param], [var_exp], [ret_exp]) + ( (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + , params_sil @ [ret_param] + , [var_exp] + , [ret_exp] ) else - (ret_id, params_sil, [], match ret_id with Some (i, t) -> [(Exp.Var i, t)] | None -> []) + ( ret_id_typ + , params_sil + , [] + , let i, t = ret_id_typ in + [(Exp.Var i, t)] ) in let call_instr = Sil.Call (ret_id', function_sil, params, sil_loc, call_flags) in let call_instr' = Sil.add_with_block_parameters_flag call_instr in @@ -1031,7 +1035,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s builtin | None -> let act_params = - let params = List.tl_exn (collect_exprs result_trans_subexprs) in + let params = List.tl (collect_exprs result_trans_subexprs) |> Option.value ~default:[] in if Int.equal (List.length params) (List.length params_stmt) then params else (* FIXME(t21762295) this is reachable *) @@ -2184,7 +2188,12 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s let call_instr = let call_exp = Exp.Const (Const.Cfun BuiltinDecl.__set_array_length) in let actuals = [array_exp_typ; dynlength_exp_typ] in - Sil.Call (None, call_exp, actuals, sil_loc, CallFlags.default) + Sil.Call + ( (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + , call_exp + , actuals + , sil_loc + , CallFlags.default ) in let call_trans_result = {empty_res_trans with instrs= [call_instr]} in let res_trans = @@ -2829,7 +2838,12 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s "WARNING: There should be one expression to delete. @\n" in let call_instr = - Sil.Call (None, Exp.Const (Const.Cfun fname), [exp], sil_loc, CallFlags.default) + Sil.Call + ( (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + , Exp.Const (Const.Cfun fname) + , [exp] + , sil_loc + , CallFlags.default ) in let call_res_trans = {empty_res_trans with instrs= [call_instr]} in let all_res_trans = @@ -2906,7 +2920,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s let exp = match res_trans_stmt.exps with [e] -> e | _ -> assert false in let args = [exp; (sizeof_expr, Typ.mk Tvoid)] in let ret_id = Ident.create_fresh Ident.knormal in - let call = Sil.Call (Some (ret_id, cast_type), builtin, args, sil_loc, CallFlags.default) in + let call = Sil.Call ((ret_id, cast_type), builtin, args, sil_loc, CallFlags.default) in let res_ex = Exp.Var ret_id in let res_trans_dynamic_cast = {empty_res_trans with instrs= [call]} in let all_res_trans = [res_trans_stmt; res_trans_dynamic_cast] in @@ -2925,7 +2939,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s assert false - and call_function_with_args instr_name pname trans_state stmt_info stmts = + and call_function_with_args instr_name pname trans_state stmt_info ret_typ stmts = let sil_loc = CLocation.get_sil_location stmt_info trans_state.context in let trans_state_pri = PriorityNode.try_claim_priority_node trans_state stmt_info in let trans_state_param = {trans_state_pri with succ_nodes= []} in @@ -2934,7 +2948,10 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s in let params = collect_exprs res_trans_subexpr_list in let sil_fun = Exp.Const (Const.Cfun pname) in - let call_instr = Sil.Call (None, sil_fun, params, sil_loc, CallFlags.default) in + let call_instr = + Sil.Call + ((Ident.create_fresh Ident.knormal, ret_typ), sil_fun, params, sil_loc, CallFlags.default) + in let res_trans_call = {empty_res_trans with instrs= [call_instr]; exps= []} in let all_res_trans = res_trans_subexpr_list @ [res_trans_call] in let res_trans_to_parent = @@ -2944,18 +2961,19 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s {res_trans_to_parent with exps= res_trans_call.exps} - and gccAsmStmt_trans trans_state = + and gccAsmStmt_trans trans_state stmt_info stmts = let pname = Typ.Procname.from_string_c_fun CFrontend_config.infer_skip_gcc_asm_stmt in - call_function_with_args "GCCAsmStmt" pname trans_state + call_function_with_args "GCCAsmStmt" pname trans_state stmt_info (Typ.mk Tvoid) stmts - and genericSelectionExprUnknown_trans trans_state = + and genericSelectionExprUnknown_trans trans_state stmt_info stmts = let pname = Typ.Procname.from_string_c_fun CFrontend_config.infer_generic_selection_expr in - call_function_with_args "GenericSelectionExpr" pname trans_state + call_function_with_args "GenericSelectionExpr" pname trans_state stmt_info (Typ.mk Tvoid) stmts - and objc_cxx_throw_trans trans_state = - call_function_with_args "ObjCCPPThrow" BuiltinDecl.objc_cpp_throw trans_state + and objc_cxx_throw_trans trans_state stmt_info stmts = + call_function_with_args "ObjCCPPThrow" BuiltinDecl.objc_cpp_throw trans_state stmt_info + (Typ.mk Tvoid) stmts and cxxPseudoDestructorExpr_trans () = @@ -2990,7 +3008,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s let ret_exp = Exp.Var ret_id in let field_exp = Exp.Lfield (ret_exp, field_name, typ) in let args = type_info_objc :: (field_exp, void_typ) :: res_trans_subexpr.exps in - let call_instr = Sil.Call (Some (ret_id, typ), sil_fun, args, sil_loc, CallFlags.default) in + let call_instr = Sil.Call ((ret_id, typ), sil_fun, args, sil_loc, CallFlags.default) in let res_trans_call = {empty_res_trans with instrs= [call_instr]; exps= [(ret_exp, typ)]} in let all_res_trans = [res_trans_subexpr; res_trans_call] in let res_trans_to_parent = @@ -3013,7 +3031,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s let sil_fun = Exp.Const (Const.Cfun fun_name) in let ret_id = Ident.create_fresh Ident.knormal in let ret_exp = Exp.Var ret_id in - let call_instr = Sil.Call (Some (ret_id, typ), sil_fun, params, sil_loc, CallFlags.default) in + let call_instr = Sil.Call ((ret_id, typ), sil_fun, params, sil_loc, CallFlags.default) in let res_trans_call = {empty_res_trans with instrs= [call_instr]; exps= [(ret_exp, typ)]} in let all_res_trans = res_trans_subexpr_list @ [res_trans_call] in let res_trans_to_parent = @@ -3094,8 +3112,8 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s (** no-op translated for unsupported instructions that will at least translate subexpressions *) - and skip_unimplemented ~reason trans_state stmts = - call_function_with_args reason BuiltinDecl.__infer_skip trans_state stmts + and skip_unimplemented ~reason trans_state ret_typ stmts = + call_function_with_args reason BuiltinDecl.__infer_skip trans_state ret_typ stmts (** Translates a clang instruction into SIL instructions. It takes a a [trans_state] containing @@ -3426,11 +3444,21 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s | SEHTryStmt _ | ShuffleVectorExpr _ | DefaultStmt _ -> + let stmt_info, stmts, ret_typ = + match Clang_ast_proj.get_expr_tuple instr with + | Some (stmt_info, stmts, expr_info) -> + let ret_typ = + CType_decl.get_type_from_expr_info expr_info trans_state.context.tenv + in + (stmt_info, stmts, ret_typ) + | None -> + (stmt_info, stmts, Typ.mk Tvoid) + in skip_unimplemented ~reason: (Printf.sprintf "unimplemented construct: %s" (Clang_ast_proj.get_stmt_kind_string instr)) - trans_state stmt_info stmts + trans_state stmt_info ret_typ stmts (** Function similar to instruction function, but it takes C++ constructor initializer as diff --git a/infer/src/clang/cTrans_utils.ml b/infer/src/clang/cTrans_utils.ml index 659b3fe78..e44c1d2ec 100644 --- a/infer/src/clang/cTrans_utils.ml +++ b/infer/src/clang/cTrans_utils.ml @@ -346,7 +346,7 @@ let create_alloc_instrs ~alloc_builtin ?size_exp ?placement_args_exps sil_loc fu let exp = (sizeof_exp, Typ.mk (Tint Typ.IULong)) in match placement_args_exps with Some args -> exp :: args | None -> [exp] in - let ret_id_typ = Some (ret_id, function_type) in + let ret_id_typ = (ret_id, function_type) in let stmt_call = Sil.Call (ret_id_typ, Exp.Const (Const.Cfun alloc_builtin), args, sil_loc, CallFlags.default) in @@ -377,7 +377,7 @@ let objc_new_trans trans_state ~alloc_builtin loc stmt_info cls_name function_ty in CMethod_trans.create_external_procdesc trans_state.context.CContext.cfg pname method_kind None ; let args = [(alloc_ret_exp, alloc_ret_type)] in - let ret_id_typ = Some (init_ret_id, alloc_ret_type) in + let ret_id_typ = (init_ret_id, alloc_ret_type) in let init_stmt_call = Sil.Call (ret_id_typ, Exp.Const (Const.Cfun pname), args, loc, call_flags) in @@ -427,7 +427,12 @@ let cpp_new_trans sil_loc function_type size_exp placement_args_exps = let create_call_to_free_cf sil_loc exp typ = let pname = BuiltinDecl.__free_cf in let stmt_call = - Sil.Call (None, Exp.Const (Const.Cfun pname), [(exp, typ)], sil_loc, CallFlags.default) + Sil.Call + ( (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + , Exp.Const (Const.Cfun pname) + , [(exp, typ)] + , sil_loc + , CallFlags.default ) in stmt_call @@ -486,7 +491,14 @@ let cast_operation cast_kind exps cast_typ sil_loc = let trans_assertion_failure sil_loc (context: CContext.t) = let assert_fail_builtin = Exp.Const (Const.Cfun BuiltinDecl.__infer_fail) in let args = [(Exp.Const (Const.Cstr Config.default_failure_name), Typ.mk Tvoid)] in - let call_instr = Sil.Call (None, assert_fail_builtin, args, sil_loc, CallFlags.default) in + let call_instr = + Sil.Call + ( (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + , assert_fail_builtin + , args + , sil_loc + , CallFlags.default ) + in let exit_node = Procdesc.get_exit_node (CContext.get_procdesc context) and failure_node = Nodes.create_node (Procdesc.Node.Stmt_node "Assertion failure") [call_instr] sil_loc context @@ -526,11 +538,11 @@ let trans_replace_with_deref_first_arg sil_loc params_trans_res ~cxx_method_call match params_trans_res with | _ :: fst_arg_res :: _ when not cxx_method_call -> fst_arg_res - | ({exps= _method_exp :: this_exp} as fst_arg_res) :: _ when cxx_method_call -> - (* method_deref_trans uses different format to store first argument - it stores - two things in exps: [method_exp; this_exp]. - We need to get rid of first exp before calling dereference_value_from_result *) - {fst_arg_res with exps= this_exp} + | ({exps= _method_exp :: rest} as fst_arg_res) :: _ when cxx_method_call -> + (* method_deref_trans uses a different format to store the first argument: it stores the + [method_exp] first. We need to get rid of first exp before calling + dereference_value_from_result *) + {fst_arg_res with exps= rest} | _ -> assert false in diff --git a/infer/src/concurrency/RacerD.ml b/infer/src/concurrency/RacerD.ml index a2fc64bff..67c3ebd46 100644 --- a/infer/src/concurrency/RacerD.ml +++ b/infer/src/concurrency/RacerD.ml @@ -57,36 +57,32 @@ module TransferFunctions (CFG : ProcCfg.S) = struct Domain.OwnershipDomain.add lhs_access_path ownership_value ownership - let propagate_return ret_opt ret_ownership ret_attributes actuals + let propagate_return return ret_ownership ret_attributes actuals {Domain.ownership; attribute_map} = let open Domain in - match ret_opt with - | None -> - (ownership, attribute_map) - | Some ret -> - let ret_access_path = (ret, []) in - let get_ownership formal_index acc = - match List.nth actuals formal_index with - | Some (HilExp.AccessExpression access_expr) -> - let actual_ap = AccessExpression.to_access_path access_expr in - OwnershipDomain.get_owned actual_ap ownership |> OwnershipAbstractValue.join acc - | Some (HilExp.Constant _) -> - acc - | _ -> - OwnershipAbstractValue.unowned - in - let ownership' = - match ret_ownership with - | OwnershipAbstractValue.Owned | Unowned -> - OwnershipDomain.add ret_access_path ret_ownership ownership - | OwnershipAbstractValue.OwnedIf formal_indexes -> - let actuals_ownership = - IntSet.fold get_ownership formal_indexes OwnershipAbstractValue.owned - in - OwnershipDomain.add ret_access_path actuals_ownership ownership - in - let attribute_map' = AttributeMapDomain.add ret_access_path ret_attributes attribute_map in - (ownership', attribute_map') + let ret_access_path = (return, []) in + let get_ownership formal_index acc = + match List.nth actuals formal_index with + | Some (HilExp.AccessExpression access_expr) -> + let actual_ap = AccessExpression.to_access_path access_expr in + OwnershipDomain.get_owned actual_ap ownership |> OwnershipAbstractValue.join acc + | Some (HilExp.Constant _) -> + acc + | _ -> + OwnershipAbstractValue.unowned + in + let ownership' = + match ret_ownership with + | OwnershipAbstractValue.Owned | Unowned -> + OwnershipDomain.add ret_access_path ret_ownership ownership + | OwnershipAbstractValue.OwnedIf formal_indexes -> + let actuals_ownership = + IntSet.fold get_ownership formal_indexes OwnershipAbstractValue.owned + in + OwnershipDomain.add ret_access_path actuals_ownership ownership + in + let attribute_map' = AttributeMapDomain.add ret_access_path ret_attributes attribute_map in + (ownership', attribute_map') (* we don't want to warn on accesses to the field if it is (a) thread-confined, or @@ -397,11 +393,9 @@ module TransferFunctions (CFG : ProcCfg.S) = struct (instr: HilInstr.t) = let open Domain in let open RacerDConfig in - let add_base ret_opt wps = - match ret_opt with Some vt -> StabilityDomain.add_path (vt, []) wps | _ -> wps - in + let add_base ret_base wps = StabilityDomain.add_path (ret_base, []) wps in match instr with - | Call ((Some ret_base as rt), Direct procname, actuals, _, loc) + | Call (ret_base, Direct procname, actuals, _, loc) when Models.acquires_ownership procname tenv -> let accesses = add_reads actuals loc astate.accesses astate.locks astate.threads astate.ownership @@ -412,11 +406,10 @@ module TransferFunctions (CFG : ProcCfg.S) = struct in (* Record all actuals as wobbly paths *) let wobbly_paths = - StabilityDomain.add_wobbly_actuals actuals astate.wobbly_paths |> add_base rt + StabilityDomain.add_wobbly_actuals actuals astate.wobbly_paths |> add_base ret_base in {astate with accesses; ownership; wobbly_paths} - | Call (ret_opt, Direct callee_pname, actuals, call_flags, loc) - -> ( + | Call (ret_access_path, Direct callee_pname, actuals, call_flags, loc) -> let accesses_with_unannotated_calls = add_unannotated_call_access callee_pname actuals call_flags loc tenv ~locks:astate.locks ~threads:astate.threads astate.accesses proc_data @@ -426,7 +419,8 @@ module TransferFunctions (CFG : ProcCfg.S) = struct astate.ownership proc_data in let wobbly_paths = - StabilityDomain.add_wobbly_actuals actuals astate.wobbly_paths |> add_base ret_opt + StabilityDomain.add_wobbly_actuals actuals astate.wobbly_paths + |> add_base ret_access_path in let astate = {astate with accesses; wobbly_paths} in let astate = @@ -435,18 +429,12 @@ module TransferFunctions (CFG : ProcCfg.S) = struct {astate with threads= ThreadsDomain.AnyThread} | MainThread -> {astate with threads= ThreadsDomain.AnyThreadButSelf} - | MainThreadIfTrue -> ( - match ret_opt with - | Some ret_access_path -> - let attribute_map = - AttributeMapDomain.add_attribute (ret_access_path, []) - (Choice Choice.OnMainThread) astate.attribute_map - in - {astate with attribute_map} - | None -> - L.(die InternalError) - "Procedure %a specified as returning boolean, but returns nothing" - Typ.Procname.pp callee_pname ) + | MainThreadIfTrue -> + let attribute_map = + AttributeMapDomain.add_attribute (ret_access_path, []) (Choice Choice.OnMainThread) + astate.attribute_map + in + {astate with attribute_map} | UnknownThread -> astate in @@ -473,18 +461,12 @@ module TransferFunctions (CFG : ProcCfg.S) = struct { astate with locks= LocksDomain.remove_lock astate.locks ; threads= update_for_lock_use astate.threads } - | LockedIfTrue -> ( - match ret_opt with - | Some ret_access_path -> - let attribute_map = - AttributeMapDomain.add_attribute (ret_access_path, []) (Choice Choice.LockHeld) - astate.attribute_map - in - {astate with attribute_map; threads= update_for_lock_use astate.threads} - | None -> - L.(die InternalError) - "Procedure %a specified as returning boolean, but returns nothing" - Typ.Procname.pp callee_pname ) + | LockedIfTrue -> + let attribute_map = + AttributeMapDomain.add_attribute (ret_access_path, []) (Choice Choice.LockHeld) + astate.attribute_map + in + {astate with attribute_map; threads= update_for_lock_use astate.threads} | NoEffect -> let summary_opt = get_summary pdesc callee_pname actuals loc tenv astate in let callee_pdesc = extras callee_pname in @@ -512,7 +494,8 @@ module TransferFunctions (CFG : ProcCfg.S) = struct loc in let ownership, attribute_map = - propagate_return ret_opt return_ownership return_attributes actuals astate + propagate_return ret_access_path return_ownership return_attributes actuals + astate in (* Remapping wobble paths; also bases that are not in caller's wobbly paths, i.e., callee's locals *) let callee_wps_rebased = @@ -533,8 +516,8 @@ module TransferFunctions (CFG : ProcCfg.S) = struct not call_flags.cf_interface && List.is_empty actuals in if Models.is_box callee_pname then - match (ret_opt, actuals) with - | Some ret, HilExp.AccessExpression actual_access_expr :: _ -> + match actuals with + | HilExp.AccessExpression actual_access_expr :: _ -> let actual_ap = AccessExpression.to_access_path actual_access_expr in if AttributeMapDomain.has_attribute actual_ap Functional @@ -542,7 +525,7 @@ module TransferFunctions (CFG : ProcCfg.S) = struct then (* TODO: check for constants, which are functional? *) let attribute_map = - AttributeMapDomain.add_attribute (ret, []) Functional + AttributeMapDomain.add_attribute (ret_access_path, []) Functional astate.attribute_map in {astate with attribute_map} @@ -550,39 +533,32 @@ module TransferFunctions (CFG : ProcCfg.S) = struct | _ -> astate else if should_assume_returns_ownership call_flags actuals then - match ret_opt with - | Some ret -> - let ownership = - OwnershipDomain.add (ret, []) OwnershipAbstractValue.owned - astate.ownership - in - {astate with ownership} - | None -> - astate + let ownership = + OwnershipDomain.add (ret_access_path, []) OwnershipAbstractValue.owned + astate.ownership + in + {astate with ownership} else astate in - match ret_opt with - | Some ret -> - let add_if_annotated predicate attribute attribute_map = - if PatternMatch.override_exists predicate tenv callee_pname then - AttributeMapDomain.add_attribute (ret, []) attribute attribute_map - else attribute_map - in - let attribute_map = - add_if_annotated Models.is_functional Functional astate_callee.attribute_map - in - let ownership = - if - PatternMatch.override_exists - (Models.has_return_annot Annotations.ia_is_returns_ownership) - tenv callee_pname - then - OwnershipDomain.add (ret, []) OwnershipAbstractValue.owned astate_callee.ownership - else astate_callee.ownership - in - {astate_callee with ownership; attribute_map} - | _ -> - astate_callee ) + let add_if_annotated predicate attribute attribute_map = + if PatternMatch.override_exists predicate tenv callee_pname then + AttributeMapDomain.add_attribute (ret_access_path, []) attribute attribute_map + else attribute_map + in + let attribute_map = + add_if_annotated Models.is_functional Functional astate_callee.attribute_map + in + let ownership = + if + PatternMatch.override_exists + (Models.has_return_annot Annotations.ia_is_returns_ownership) + tenv callee_pname + then + OwnershipDomain.add (ret_access_path, []) OwnershipAbstractValue.owned + astate_callee.ownership + else astate_callee.ownership + in + {astate_callee with ownership; attribute_map} | Assign (lhs_access_expr, rhs_exp, loc) -> let lhs_access_path = AccessExpression.to_access_path lhs_access_expr in let rhs_accesses = diff --git a/infer/src/eradicate/typeCheck.ml b/infer/src/eradicate/typeCheck.ml index 39091923d..f2f72e96a 100644 --- a/infer/src/eradicate/typeCheck.ml +++ b/infer/src/eradicate/typeCheck.ml @@ -494,19 +494,19 @@ let typecheck_instr tenv ext calls_this checks (node: Procdesc.Node.t) idenv get typestate1 in check_field_assign () ; typestate2 - | Sil.Call (Some (id, _), Exp.Const (Const.Cfun pn), [(_, typ)], loc, _) + | Sil.Call ((id, _), Exp.Const (Const.Cfun pn), [(_, typ)], loc, _) when Typ.Procname.equal pn BuiltinDecl.__new || Typ.Procname.equal pn BuiltinDecl.__new_array -> TypeState.add_id id (typ, TypeAnnotation.const AnnotatedSignature.Nullable false TypeOrigin.New, [loc]) typestate (* new never returns null *) - | Sil.Call (Some (id, _), Exp.Const (Const.Cfun pn), (e, typ) :: _, loc, _) + | Sil.Call ((id, _), Exp.Const (Const.Cfun pn), (e, typ) :: _, loc, _) when Typ.Procname.equal pn BuiltinDecl.__cast -> typecheck_expr_for_errors typestate e loc ; let e', typestate' = convert_complex_exp_to_pvar node false e typestate loc in (* cast copies the type of the first argument *) TypeState.add_id id (typecheck_expr_simple typestate' e' typ TypeOrigin.ONone loc) typestate' - | Sil.Call (Some (id, _), Exp.Const (Const.Cfun pn), [(array_exp, t)], loc, _) + | Sil.Call ((id, _), Exp.Const (Const.Cfun pn), [(array_exp, t)], loc, _) when Typ.Procname.equal pn BuiltinDecl.__get_array_length -> let _, ta, _ = typecheck_expr find_canonical_duplicate calls_this checks tenv node instr_ref curr_pdesc @@ -525,7 +525,7 @@ let typecheck_instr tenv ext calls_this checks (node: Procdesc.Node.t) idenv get | Sil.Call (_, Exp.Const (Const.Cfun pn), _, _, _) when BuiltinDecl.is_declared pn -> typestate (* skip othe builtins *) | Sil.Call - ( ret_id + ( ret_id_typ , Exp.Const (Const.Cfun (Typ.Procname.Java callee_pname_java as callee_pname)) , etl_ , loc @@ -577,11 +577,8 @@ let typecheck_instr tenv ext calls_this checks (node: Procdesc.Node.t) idenv get in let do_return (ret_ta, ret_typ) loc' typestate' = let mk_return_range () = (ret_typ, ret_ta, [loc']) in - match ret_id with - | None -> - typestate' - | Some (id, _) -> - TypeState.add_id id (mk_return_range ()) typestate' + let id = fst ret_id_typ in + TypeState.add_id id (mk_return_range ()) typestate' in (* Handle Preconditions.checkNotNull. *) let do_preconditions_check_not_null parameter_num ~is_vararg typestate' = diff --git a/infer/src/java/jTrans.ml b/infer/src/java/jTrans.ml index 6ea7ae1f5..38806b699 100644 --- a/infer/src/java/jTrans.ml +++ b/infer/src/java/jTrans.ml @@ -504,8 +504,7 @@ let rec expression (context: JContext.t) pc expr = let ret_id = Ident.create_fresh Ident.knormal in let ret_typ = Typ.mk (Tint IInt) in let call_instr = - Sil.Call - (Some (ret_id, ret_typ), builtin_get_array_length, args, loc, CallFlags.default) + Sil.Call ((ret_id, ret_typ), builtin_get_array_length, args, loc, CallFlags.default) in (instrs @ [deref; call_instr], Exp.Var ret_id, type_of_expr) | JBir.Conv conv -> @@ -534,7 +533,7 @@ let rec expression (context: JContext.t) pc expr = let args = [(sil_ex, type_of_ex); (sizeof_expr, Typ.mk Tvoid)] in let ret_id = Ident.create_fresh Ident.knormal in let call = - Sil.Call (Some (ret_id, Typ.mk (Tint IBool)), builtin, args, loc, CallFlags.default) + Sil.Call ((ret_id, Typ.mk (Tint IBool)), builtin, args, loc, CallFlags.default) in let res_ex = Exp.Var ret_id in (instrs @ [call], res_ex, type_of_expr) ) @@ -667,15 +666,20 @@ let method_invocation (context: JContext.t) loc pc var_opt cn ms sil_obj_opt exp in let call_ret_instrs sil_var = let ret_id = Ident.create_fresh Ident.knormal in - let call_instr = - Sil.Call (Some (ret_id, return_type), callee_fun, call_args, loc, call_flags) - in + let call_instr = Sil.Call ((ret_id, return_type), callee_fun, call_args, loc, call_flags) in let set_instr = Sil.Store (Exp.Lvar sil_var, return_type, Exp.Var ret_id, loc) in instrs @ [call_instr; set_instr] in match var_opt with | None -> - let call_instr = Sil.Call (None, callee_fun, call_args, loc, call_flags) in + let call_instr = + Sil.Call + ( (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + , callee_fun + , call_args + , loc + , call_flags ) + in instrs @ [call_instr] | Some var -> let sil_var = JContext.set_pvar context var return_type in @@ -712,7 +716,12 @@ let method_invocation (context: JContext.t) loc pc var_opt cn ms sil_obj_opt exp && not (PatternMatch.supertype_exists tenv is_non_resource_closeable typename) -> let set_file_attr = let set_builtin = Exp.Const (Const.Cfun BuiltinDecl.__set_file_attribute) in - Sil.Call (None, set_builtin, [exp], loc, CallFlags.default) + Sil.Call + ( (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + , set_builtin + , [exp] + , loc + , CallFlags.default ) in (* Exceptions thrown in the constructor should prevent adding the resource attribute *) call_instrs @ [set_file_attr] @@ -721,7 +730,12 @@ let method_invocation (context: JContext.t) loc pc var_opt cn ms sil_obj_opt exp when is_close callee_procname -> let set_mem_attr = let set_builtin = Exp.Const (Const.Cfun BuiltinDecl.__set_mem_attribute) in - Sil.Call (None, set_builtin, [exp], loc, CallFlags.default) + Sil.Call + ( (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + , set_builtin + , [exp] + , loc + , CallFlags.default ) in (* Exceptions thrown in the close method should not prevent the resource from being *) (* considered as closed *) @@ -798,7 +812,12 @@ let assume_not_null loc sil_expr = let not_null_expr = Exp.BinOp (Binop.Ne, sil_expr, Exp.null) in let assume_call_flag = {CallFlags.default with CallFlags.cf_noreturn= true} in let call_args = [(not_null_expr, Typ.mk (Tint Typ.IBool))] in - Sil.Call (None, builtin_infer_assume, call_args, loc, assume_call_flag) + Sil.Call + ( (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + , builtin_infer_assume + , call_args + , loc + , assume_call_flag ) let instruction (context: JContext.t) pc instr : translation = @@ -816,7 +835,14 @@ let instruction (context: JContext.t) pc instr : translation = let trans_monitor_enter_exit context expr pc loc builtin node_desc = let instrs, sil_expr, sil_type = expression context pc expr in let builtin_const = Exp.Const (Const.Cfun builtin) in - let instr = Sil.Call (None, builtin_const, [(sil_expr, sil_type)], loc, CallFlags.default) in + let instr = + Sil.Call + ( (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + , builtin_const + , [(sil_expr, sil_type)] + , loc + , CallFlags.default ) + in let typ_no_ptr = match sil_type.Typ.desc with Typ.Tptr (typ, _) -> typ | _ -> sil_type in let deref_instr = create_sil_deref sil_expr typ_no_ptr loc in let node_kind = Procdesc.Node.Stmt_node node_desc in @@ -934,7 +960,7 @@ let instruction (context: JContext.t) pc instr : translation = let args = [(sizeof_exp, class_type)] in let ret_id = Ident.create_fresh Ident.knormal in let new_instr = - Sil.Call (Some (ret_id, class_type), builtin_new, args, loc, CallFlags.default) + Sil.Call ((ret_id, class_type), builtin_new, args, loc, CallFlags.default) in let constr_ms = JBasics.make_ms JConfig.constructor_name constr_type_list None in let constr_procname, call_instrs = @@ -957,7 +983,7 @@ let instruction (context: JContext.t) pc instr : translation = let call_args = [(array_size, array_type)] in let ret_id = Ident.create_fresh Ident.knormal in let call_instr = - Sil.Call (Some (ret_id, array_type), builtin_new_array, call_args, loc, CallFlags.default) + Sil.Call ((ret_id, array_type), builtin_new_array, call_args, loc, CallFlags.default) in let set_instr = Sil.Store (Exp.Lvar array_name, array_type, Exp.Var ret_id, loc) in let node_kind = Procdesc.Node.Stmt_node "method_body" in @@ -1056,7 +1082,7 @@ let instruction (context: JContext.t) pc instr : translation = let args = [(sizeof_exp, class_type)] in let ret_id = Ident.create_fresh Ident.knormal in let new_instr = - Sil.Call (Some (ret_id, class_type), builtin_new, args, loc, CallFlags.default) + Sil.Call ((ret_id, class_type), builtin_new, args, loc, CallFlags.default) in let constr_ms = JBasics.make_ms JConfig.constructor_name [] None in let _, call_instrs = @@ -1114,7 +1140,7 @@ let instruction (context: JContext.t) pc instr : translation = let args = [(sizeof_exp, class_type)] in let ret_id = Ident.create_fresh Ident.knormal in let new_instr = - Sil.Call (Some (ret_id, ret_type), builtin_new, args, loc, CallFlags.default) + Sil.Call ((ret_id, ret_type), builtin_new, args, loc, CallFlags.default) in let constr_ms = JBasics.make_ms JConfig.constructor_name [] None in let _, call_instrs = @@ -1138,7 +1164,7 @@ let instruction (context: JContext.t) pc instr : translation = in let check_cast = Exp.Const (Const.Cfun BuiltinDecl.__instanceof) in let args = [(sil_expr, sil_type); (sizeof_expr, Typ.mk Tvoid)] in - let call = Sil.Call (Some (ret_id, ret_type), check_cast, args, loc, CallFlags.default) in + let call = Sil.Call ((ret_id, ret_type), check_cast, args, loc, CallFlags.default) in let res_ex = Exp.Var ret_id in let is_instance_node = let check_is_false = Exp.BinOp (Binop.Ne, res_ex, Exp.zero) in @@ -1159,7 +1185,7 @@ let instruction (context: JContext.t) pc instr : translation = let args = [(sizeof_exp, class_type)] in let ret_id = Ident.create_fresh Ident.knormal in let new_instr = - Sil.Call (Some (ret_id, ret_type), builtin_new, args, loc, CallFlags.default) + Sil.Call ((ret_id, ret_type), builtin_new, args, loc, CallFlags.default) in let constr_ms = JBasics.make_ms JConfig.constructor_name [] None in let _, call_instrs = diff --git a/infer/src/java/jTransExn.ml b/infer/src/java/jTransExn.ml index 3e475224d..3c7bbe5bd 100644 --- a/infer/src/java/jTransExn.ml +++ b/infer/src/java/jTransExn.ml @@ -40,7 +40,7 @@ let translate_exceptions (context: JContext.t) exit_nodes get_body_nodes handler let instr_unwrap_ret_val = let unwrap_builtin = Exp.Const (Const.Cfun BuiltinDecl.__unwrap_exception) in Sil.Call - ( Some (id_exn_val, ret_type) + ( (id_exn_val, ret_type) , unwrap_builtin , [(Exp.Var id_ret_val, ret_type)] , loc @@ -86,7 +86,7 @@ let translate_exceptions (context: JContext.t) exit_nodes get_body_nodes handler , Typ.mk Tvoid ) ] in Sil.Call - ( Some (id_instanceof, Typ.mk (Tint IBool)) + ( (id_instanceof, Typ.mk (Tint IBool)) , instanceof_builtin , args , loc diff --git a/infer/src/quandary/ClangTaintAnalysis.ml b/infer/src/quandary/ClangTaintAnalysis.ml index a97cb263f..d4c7a2b2f 100644 --- a/infer/src/quandary/ClangTaintAnalysis.ml +++ b/infer/src/quandary/ClangTaintAnalysis.ml @@ -22,18 +22,19 @@ include TaintAnalysis.Make (struct assert false - let handle_unknown_call pname ret_typ_opt actuals _ = - let handle_generic_unknown ret_typ_opt actuals = - match (ret_typ_opt, List.rev actuals) with - | Some _, _ -> + let handle_unknown_call pname ret_typ actuals _ = + let handle_generic_unknown ret_typ actuals = + match ((ret_typ.Typ.desc : Typ.desc), List.rev actuals) with + (* everything but Tvoid*) + | (Tint _ | Tfloat _ | Tfun _ | Tptr (_, _) | Tstruct _ | TVar _ | Tarray _), _ -> (* propagate taint from actuals to return value *) [TaintSpec.Propagate_to_return] - | None, [] -> + | Tvoid, [] -> [] - | None, _ when Typ.Procname.is_constructor pname -> + | Tvoid, _ when Typ.Procname.is_constructor pname -> (* "this" is always the first arg of a constructor; propagate taint there *) [TaintSpec.Propagate_to_receiver] - | None, HilExp.AccessExpression access_expr :: _ -> ( + | Tvoid, HilExp.AccessExpression access_expr :: _ -> ( match AccessExpression.to_access_path access_expr with | (Var.ProgramVar pvar, {desc= Typ.Tptr (_, Typ.Pk_pointer)}), [] when Pvar.is_frontend_tmp pvar -> @@ -44,7 +45,7 @@ include TaintAnalysis.Make (struct [TaintSpec.Propagate_to_actual actual_index] | _ -> [TaintSpec.Propagate_to_receiver] ) - | None, _ -> + | Tvoid, _ -> (* no return value; propagate taint from actuals to receiver *) [TaintSpec.Propagate_to_receiver] in @@ -70,7 +71,7 @@ include TaintAnalysis.Make (struct (* don't propagate taint for strlen *) [] | _ -> - handle_generic_unknown ret_typ_opt actuals + handle_generic_unknown ret_typ actuals (* treat folly functions as unknown library code. we often specify folly functions as sinks, @@ -80,7 +81,7 @@ include TaintAnalysis.Make (struct to write models for these functions or treat them as unknown *) let models_matcher = QualifiedCppName.Match.of_fuzzy_qual_names ["folly"] - let get_model pname ret_typ_opt actuals tenv summary = + let get_model pname ret_typ actuals tenv summary = (* hack for default C++ constructors, which get translated as an empty body (and will thus have an empty summary). We don't want that because we want to be able to propagate taint from comstructor parameters to the constructed object. so we treat the empty constructor @@ -94,7 +95,7 @@ include TaintAnalysis.Make (struct when is_default_constructor pname || QualifiedCppName.Match.match_qualifiers models_matcher (Typ.Procname.get_qualifiers pname) -> - Some (handle_unknown_call pname ret_typ_opt actuals tenv) + Some (handle_unknown_call pname ret_typ actuals tenv) | _ -> None diff --git a/infer/src/quandary/JavaTaintAnalysis.ml b/infer/src/quandary/JavaTaintAnalysis.ml index 3e2e7864a..819697d7f 100644 --- a/infer/src/quandary/JavaTaintAnalysis.ml +++ b/infer/src/quandary/JavaTaintAnalysis.ml @@ -23,7 +23,7 @@ include TaintAnalysis.Make (struct assert false - let handle_unknown_call pname ret_typ_opt actuals tenv = + let handle_unknown_call pname ret_typ actuals tenv = let get_receiver_typ tenv = function | HilExp.AccessExpression access_expr -> AccessPath.get_typ (AccessExpression.to_access_path access_expr) tenv @@ -46,7 +46,7 @@ include TaintAnalysis.Make (struct match ( Typ.Procname.Java.get_class_name java_pname , Typ.Procname.Java.get_method java_pname - , ret_typ_opt ) + , ret_typ ) with | "android.content.Intent", ("putExtra" | "putExtras"), _ -> (* don't care about tainted extras. instead. we'll check that result of getExtra is @@ -54,11 +54,11 @@ include TaintAnalysis.Make (struct [] | _ when Typ.Procname.is_constructor pname -> [TaintSpec.Propagate_to_receiver] - | _, _, (Some {Typ.desc= Tvoid | Tint _ | Tfloat _} | None) when not is_static -> + | _, _, {Typ.desc= Tvoid | Tint _ | Tfloat _} when not is_static -> (* for instance methods with a non-Object return value, propagate the taint to the receiver *) [TaintSpec.Propagate_to_receiver] - | classname, _, Some {Typ.desc= Tptr _ | Tstruct _} -> ( + | classname, _, {Typ.desc= Tptr _ | Tstruct _} -> ( match actuals with | receiver_exp :: _ when not is_static && types_match (get_receiver_typ tenv receiver_exp) classname tenv -> diff --git a/infer/src/quandary/TaintAnalysis.ml b/infer/src/quandary/TaintAnalysis.ml index 6c35008d2..34fba5ac7 100644 --- a/infer/src/quandary/TaintAnalysis.ml +++ b/infer/src/quandary/TaintAnalysis.ml @@ -535,7 +535,7 @@ module Make (TaintSpecification : TaintSpec.S) = struct |> add_sinks_for_access_path lhs_access_expr loc |> exec_write lhs_access_expr rhs_exp | Assume (assume_exp, _, _, loc) -> add_sources_sinks_for_exp assume_exp loc astate - | Call (ret_opt, Direct called_pname, actuals, call_flags, callee_loc) -> + | Call (ret_ap, Direct called_pname, actuals, call_flags, callee_loc) -> let astate = List.fold ~f:(fun acc exp -> add_sources_sinks_for_exp exp callee_loc acc) @@ -588,19 +588,18 @@ module Make (TaintSpecification : TaintSpec.S) = struct TaintDomain.add_trace access_path pruned_trace access_tree in let handle_model_ astate_acc propagation = - match (propagation, actuals, ret_opt) with - | _, [], _ -> + match (propagation, actuals) with + | _, [] -> astate_acc - | TaintSpec.Propagate_to_return, actuals, Some ret_ap -> + | TaintSpec.Propagate_to_return, actuals -> propagate_to_access_path (AccessPath.Abs.Abstracted (ret_ap, [])) actuals astate_acc | ( TaintSpec.Propagate_to_receiver - , AccessExpression receiver_ae :: (_ :: _ as other_actuals) - , _ ) -> + , AccessExpression receiver_ae :: (_ :: _ as other_actuals) ) -> propagate_to_access_path (AccessPath.Abs.Abstracted (AccessExpression.to_access_path receiver_ae)) other_actuals astate_acc - | TaintSpec.Propagate_to_actual actual_index, _, _ -> ( + | TaintSpec.Propagate_to_actual actual_index, _ -> ( match List.nth actuals actual_index with | Some (HilExp.AccessExpression actual_ae) -> propagate_to_access_path @@ -639,14 +638,14 @@ module Make (TaintSpecification : TaintSpec.S) = struct access_tree ) | _ -> let model = - TaintSpecification.handle_unknown_call callee_pname (Option.map ~f:snd ret_opt) - actuals proc_data.tenv + TaintSpecification.handle_unknown_call callee_pname (snd ret_ap) actuals + proc_data.tenv in handle_model callee_pname access_tree model in let dummy_ret_opt = - match ret_opt with - | None when not (Typ.Procname.is_java called_pname) -> ( + match ret_ap with + | _, {Typ.desc= Tvoid} when not (Typ.Procname.is_java called_pname) -> ( match (* the C++ frontend handles returns of non-pointers by adding a dummy pass-by-reference variable as the last actual, then returning the value by @@ -662,7 +661,7 @@ module Make (TaintSpecification : TaintSpec.S) = struct | _ -> None ) | _ -> - ret_opt + Some ret_ap in let analyze_call astate_acc callee_pname = let call_site = CallSite.make callee_pname callee_loc in @@ -698,10 +697,10 @@ module Make (TaintSpecification : TaintSpec.S) = struct | None -> handle_unknown_call callee_pname astate_with_source | Some summary -> - let ret_typ_opt = Option.map ~f:snd ret_opt in + let ret_typ = snd ret_ap in let access_tree = TaintSpecification.of_summary_access_tree summary in match - TaintSpecification.get_model callee_pname ret_typ_opt actuals proc_data.tenv + TaintSpecification.get_model callee_pname ret_typ actuals proc_data.tenv access_tree with | Some model -> diff --git a/infer/src/quandary/TaintSpec.ml b/infer/src/quandary/TaintSpec.ml index d3add8f22..86f896fb8 100644 --- a/infer/src/quandary/TaintSpec.ml +++ b/infer/src/quandary/TaintSpec.ml @@ -24,13 +24,12 @@ module type S = sig module AccessTree : module type of AccessTree.Make (Trace) (AccessTree.DefaultConfig) - val handle_unknown_call : - Typ.Procname.t -> Typ.t option -> HilExp.t list -> Tenv.t -> action list + val handle_unknown_call : Typ.Procname.t -> Typ.t -> HilExp.t list -> Tenv.t -> action list (** return a summary for handling an unknown call at the given site with the given return type and actuals *) val get_model : - Typ.Procname.t -> Typ.t option -> HilExp.t list -> Tenv.t -> AccessTree.t -> action list option + Typ.Procname.t -> Typ.t -> HilExp.t list -> Tenv.t -> AccessTree.t -> action list option (** returns a model that should be used for the given (procname, return type, actuals, summary) instead of using the summary for the procname *) diff --git a/infer/src/unit/BoundedCallTreeTests.ml b/infer/src/unit/BoundedCallTreeTests.ml index dd257cf93..73451bbd4 100644 --- a/infer/src/unit/BoundedCallTreeTests.ml +++ b/infer/src/unit/BoundedCallTreeTests.ml @@ -20,7 +20,7 @@ let tests = let f_proc_name = Typ.Procname.from_string_c_fun "f" in let g_proc_name = Typ.Procname.from_string_c_fun "g" in let g_args = [(Exp.Const (Const.Cint IntLit.one), Typ.mk (Tint IInt))] in - let g_ret_id = Some (ident_of_str "r", Typ.mk (Tint IInt)) in + let g_return = (ident_of_str "r", Typ.mk (Tint IInt)) in let class_name = "com.example.SomeClass" in let file_name = "SomeClass.java" in let trace = @@ -45,41 +45,42 @@ let tests = let caller_baz_name = Typ.Procname.from_string_c_fun "baz" in let test_list_from_foo = [ ( "on_call_add_proc_name" - , [make_call ~procname:f_proc_name None []; (* means f() *) invariant "{ f }"] ) + , [make_call ~procname:f_proc_name []; (* means f() *) invariant "{ f }"] ) ; ( "on_call_add_proc_name_w_args" - , [make_call ~procname:g_proc_name g_ret_id g_args; (* means r = a.g(1) *) invariant "{ g }"] - ) + , [ make_call ~procname:g_proc_name ~return:g_return g_args + ; (* means r = a.g(1) *) + invariant "{ g }" ] ) ; ( "handle_two_proc_calls" - , [ make_call ~procname:f_proc_name None [] + , [ make_call ~procname:f_proc_name [] ; invariant "{ f }" - ; make_call ~procname:g_proc_name g_ret_id g_args + ; make_call ~procname:g_proc_name ~return:g_return g_args ; invariant "{ f, g }" ] ) ; ( "dont_record_procs_twice" - , [ make_call ~procname:f_proc_name None [] + , [ make_call ~procname:f_proc_name [] ; invariant "{ f }" - ; make_call ~procname:f_proc_name None [] + ; make_call ~procname:f_proc_name [] ; invariant "{ f }" ] ) ] |> TestInterpreter.create_tests ~test_pname:caller_foo_name ~initial:BoundedCallTree.Domain.empty extras in let test_list_from_bar = [ ( "on_call_anywhere_on_stack_add_proc_name" - , [make_call ~procname:f_proc_name None []; (* means f() *) invariant "{ f }"] ) ] + , [make_call ~procname:f_proc_name []; (* means f() *) invariant "{ f }"] ) ] |> TestInterpreter.create_tests ~test_pname:caller_bar_name extras ~initial in let test_list_from_baz = [ ( "ignore_procs_unrelated_to_trace" - , [make_call ~procname:f_proc_name None []; (* means f() *) invariant "{ }"] ) ] + , [make_call ~procname:f_proc_name []; (* means f() *) invariant "{ }"] ) ] |> TestInterpreter.create_tests ~test_pname:caller_baz_name extras ~initial in let test_list_multiple_traces_from_foo = [ ( "on_call_add_proc_name_in_any_stack_1" - , [make_call ~procname:f_proc_name None []; (* means f() *) invariant "{ f }"] ) ] + , [make_call ~procname:f_proc_name []; (* means f() *) invariant "{ f }"] ) ] |> TestInterpreter.create_tests ~test_pname:caller_foo_name multi_trace_extras ~initial in let test_list_multiple_traces_from_bar = [ ( "on_call_add_proc_name_in_any_stack_2" - , [make_call ~procname:f_proc_name None []; (* means f() *) invariant "{ f }"] ) ] + , [make_call ~procname:f_proc_name []; (* means f() *) invariant "{ f }"] ) ] |> TestInterpreter.create_tests ~test_pname:caller_bar_name multi_trace_extras ~initial in let test_list = diff --git a/infer/src/unit/TaintTests.ml b/infer/src/unit/TaintTests.ml index dbfddfdc5..12e51f89a 100644 --- a/infer/src/unit/TaintTests.ml +++ b/infer/src/unit/TaintTests.ml @@ -101,15 +101,15 @@ let tests = in let assign_to_source ret_str = let procname = Typ.Procname.from_string_c_fun "SOURCE" in - make_call ~procname (Some (ident_of_str ret_str, dummy_typ)) [] + make_call ~procname ~return:(ident_of_str ret_str, dummy_typ) [] in let assign_to_non_source ret_str = let procname = Typ.Procname.from_string_c_fun "NON-SOURCE" in - make_call ~procname (Some (ident_of_str ret_str, dummy_typ)) [] + make_call ~procname ~return:(ident_of_str ret_str, dummy_typ) [] in let call_sink_with_exp exp = let procname = Typ.Procname.from_string_c_fun "SINK" in - make_call ~procname None [(exp, dummy_typ)] + make_call ~procname [(exp, dummy_typ)] in let call_sink actual_str = call_sink_with_exp (Exp.Var (ident_of_str actual_str)) in let assign_id_to_field root_str fld_str rhs_id_str = diff --git a/infer/src/unit/analyzerTester.ml b/infer/src/unit/analyzerTester.ml index b69fa951d..b2b710e7b 100644 --- a/infer/src/unit/analyzerTester.ml +++ b/infer/src/unit/analyzerTester.ml @@ -52,7 +52,7 @@ module StructuredSil = struct let pp_structured_program = pp_structured_instr_list - let dummy_typ = Typ.mk Tvoid + let dummy_typ = Typ.mk (Tint IUChar) let dummy_loc = Location.dummy @@ -76,9 +76,16 @@ module StructuredSil = struct let make_set ~rhs_typ ~lhs_exp ~rhs_exp = Cmd (Sil.Store (lhs_exp, rhs_typ, rhs_exp, dummy_loc)) - let make_call ?(procname= dummy_procname) ret_id args = + let make_call ?(procname= dummy_procname) ?return:return_opt args = + let ret_id_typ = + match return_opt with + | Some ret_id_typ -> + ret_id_typ + | None -> + (Ident.create_fresh Ident.knormal, Typ.mk Tvoid) + in let call_exp = Exp.Const (Const.Cfun procname) in - Cmd (Sil.Call (ret_id, call_exp, args, dummy_loc, CallFlags.default)) + Cmd (Sil.Call (ret_id_typ, call_exp, args, dummy_loc, CallFlags.default)) let make_store ~rhs_typ root_exp fld_str ~rhs_exp = @@ -138,13 +145,10 @@ module StructuredSil = struct make_set ~rhs_typ ~lhs_exp ~rhs_exp - let call_unknown ret_id_str_opt arg_strs = + let call_unknown ?return arg_strs = let args = List.map ~f:(fun param_str -> (var_of_str param_str, dummy_typ)) arg_strs in - let ret_id = Option.map ~f:(fun (str, typ) -> (ident_of_str str, typ)) ret_id_str_opt in - make_call ret_id args - - - let call_unknown_no_ret arg_strs = call_unknown None arg_strs + let return = Option.map return ~f:(fun (str, typ) -> (ident_of_str str, typ)) in + make_call ?return args end module Make (CFG : ProcCfg.S with type node = Procdesc.Node.t) (T : TransferFunctions.MakeSIL) = diff --git a/infer/src/unit/livenessTests.ml b/infer/src/unit/livenessTests.ml index 3bf2f1458..a4e7e35a3 100644 --- a/infer/src/unit/livenessTests.ml +++ b/infer/src/unit/livenessTests.ml @@ -54,10 +54,10 @@ let tests = , [assert_empty; var_assign_int "x" 1; invariant "{ x }"; If (var_of_str "x", [], [])] ) ; ( "while_exp_live" , [assert_empty; var_assign_int "x" 1; invariant "{ x }"; While (var_of_str "x", [])] ) - ; ("call_params_live", [invariant "{ b, a, c }"; call_unknown_no_ret ["a"; "b"; "c"]]) + ; ("call_params_live", [invariant "{ b, a, c }"; call_unknown ["a"; "b"; "c"]]) ; ( "dead_after_call_with_retval" , [ assert_empty - ; call_unknown (Some ("y", Typ.mk (Tint IInt))) [] + ; call_unknown ~return:("y", Typ.mk (Tint IInt)) [] ; invariant "{ y$0 }" ; id_assign_id "x" "y" ] ) ; ( "closure_captured_live" diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot index 1196dd3a2..2263c6e12 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_2" [label="2: Exit std::atomic_flag_clear \n " color=yellow style=filled] -"atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 967, column 51]\n _=*n$0:std::atomic_flag [line 967, column 51]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 967, column 51]\n " shape="box"] +"atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 967, column 51]\n _=*n$0:std::atomic_flag [line 967, column 51]\n n$2=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 967, column 51]\n " shape="box"] "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" -> "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_2" ; @@ -18,7 +18,7 @@ digraph cfg { "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_2" [label="2: Exit std::atomic_flag_clear \n " color=yellow style=filled] -"atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 966, column 60]\n _=*n$0:std::atomic_flag [line 966, column 60]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 966, column 60]\n " shape="box"] +"atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 966, column 60]\n _=*n$0:std::atomic_flag [line 966, column 60]\n n$2=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 966, column 60]\n " shape="box"] "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" -> "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_2" ; @@ -29,7 +29,7 @@ digraph cfg { "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_2" [label="2: Exit std::atomic_flag_clear_explicit \n " color=yellow style=filled] -"atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 973, column 3]\n _=*n$0:std::atomic_flag [line 973, column 3]\n n$2=*&mo:int [line 973, column 12]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 973, column 3]\n " shape="box"] +"atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 973, column 3]\n _=*n$0:std::atomic_flag [line 973, column 3]\n n$2=*&mo:int [line 973, column 12]\n n$3=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 973, column 3]\n " shape="box"] "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" -> "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_2" ; @@ -40,7 +40,7 @@ digraph cfg { "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_2" [label="2: Exit std::atomic_flag_clear_explicit \n " color=yellow style=filled] -"atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 970, column 3]\n _=*n$0:std::atomic_flag [line 970, column 3]\n n$2=*&mo:int [line 970, column 12]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 970, column 3]\n " shape="box"] +"atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 970, column 3]\n _=*n$0:std::atomic_flag [line 970, column 3]\n n$2=*&mo:int [line 970, column 12]\n n$3=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 970, column 3]\n " shape="box"] "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" -> "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_2" ; @@ -120,27 +120,27 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction \n _=*&s:std::basic_string,std::allocator> [line 24, column 1]\n _fun_std::basic_string,std::allocator>_~basic_string(&s:std::basic_string,std::allocator>*) [line 24, column 1]\n _=*&x:int* [line 24, column 1]\n _fun_std::shared_ptr_~shared_ptr(&x:int**) [line 24, column 1]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction \n _=*&s:std::basic_string,std::allocator> [line 24, column 1]\n n$1=_fun_std::basic_string,std::allocator>_~basic_string(&s:std::basic_string,std::allocator>*) [line 24, column 1]\n _=*&x:int* [line 24, column 1]\n n$3=_fun_std::shared_ptr_~shared_ptr(&x:int**) [line 24, column 1]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n _fun_std::basic_string,std::allocator>_basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 22, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$4=_fun_std::basic_string,std::allocator>_basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 22, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n _fun_std::shared_ptr_shared_ptr(&x:int**) [line 21, column 24]\n n$2=*&x:int* [line 21, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$6=_fun_std::shared_ptr_shared_ptr(&x:int**) [line 21, column 24]\n n$5=*&x:int* [line 21, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$3=_fun_external::fun(1:int) [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$4=_fun_internal_exclude::fun(1:int) [line 19, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 19, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$5=_fun_internal::fun(1:int) [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -331,7 +331,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_2" ; @@ -342,7 +342,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned short [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned short) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned short [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned short) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_2" ; @@ -353,7 +353,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_2" ; @@ -364,7 +364,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:short [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:short) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:short [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:short) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_2" ; @@ -375,7 +375,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_2" ; @@ -386,7 +386,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:signed char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:signed char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:signed char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:signed char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_2" ; @@ -397,7 +397,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_2" ; @@ -408,7 +408,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_2" ; @@ -419,7 +419,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_2" ; @@ -430,7 +430,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_2" ; @@ -441,7 +441,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned int [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned int) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned int [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned int) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_2" ; @@ -452,7 +452,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_2" ; @@ -463,7 +463,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_2" ; @@ -474,7 +474,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:int [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:int) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:int [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:int) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" ; @@ -485,11 +485,11 @@ digraph cfg { "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n _fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$2=*&this:int** [line 180, column 19]\n _=*n$2:int* [line 180, column 19]\n _fun_std::shared_ptr_reset(n$2:int**,null:int*) [line 180, column 19]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$3=*&this:int** [line 180, column 19]\n _=*n$3:int* [line 180, column 19]\n n$5=_fun_std::shared_ptr_reset(n$3:int**,null:int*) [line 180, column 19]\n " shape="box"] "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; @@ -500,7 +500,7 @@ digraph cfg { "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 408, column 50]\n n$1=*&d:unsigned short [line 408, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned short) [line 408, column 50]\n " shape="box"] +"atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 408, column 50]\n n$1=*&d:unsigned short [line 408, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned short) [line 408, column 50]\n " shape="box"] "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" -> "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_2" ; @@ -511,7 +511,7 @@ digraph cfg { "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 472, column 50]\n n$1=*&d:char [line 472, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 472, column 50]\n " shape="box"] +"atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 472, column 50]\n n$1=*&d:char [line 472, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 472, column 50]\n " shape="box"] "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" -> "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_2" ; @@ -522,7 +522,7 @@ digraph cfg { "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 444, column 50]\n n$1=*&d:unsigned long [line 444, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long) [line 444, column 50]\n " shape="box"] +"atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 444, column 50]\n n$1=*&d:unsigned long [line 444, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long) [line 444, column 50]\n " shape="box"] "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" -> "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_2" ; @@ -533,7 +533,7 @@ digraph cfg { "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 399, column 50]\n n$1=*&d:short [line 399, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:short) [line 399, column 50]\n " shape="box"] +"atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 399, column 50]\n n$1=*&d:short [line 399, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:short) [line 399, column 50]\n " shape="box"] "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" -> "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_2" ; @@ -544,7 +544,7 @@ digraph cfg { "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 435, column 50]\n n$1=*&d:long [line 435, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long) [line 435, column 50]\n " shape="box"] +"atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 435, column 50]\n n$1=*&d:long [line 435, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long) [line 435, column 50]\n " shape="box"] "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" -> "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_2" ; @@ -555,7 +555,7 @@ digraph cfg { "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 417, column 50]\n n$1=*&d:int [line 417, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:int) [line 417, column 50]\n " shape="box"] +"atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 417, column 50]\n n$1=*&d:int [line 417, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:int) [line 417, column 50]\n " shape="box"] "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" -> "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_2" ; @@ -566,7 +566,7 @@ digraph cfg { "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 390, column 50]\n n$1=*&d:unsigned char [line 390, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned char) [line 390, column 50]\n " shape="box"] +"atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 390, column 50]\n n$1=*&d:unsigned char [line 390, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned char) [line 390, column 50]\n " shape="box"] "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" -> "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_2" ; @@ -577,7 +577,7 @@ digraph cfg { "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 481, column 50]\n n$1=*&d:char [line 481, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 481, column 50]\n " shape="box"] +"atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 481, column 50]\n n$1=*&d:char [line 481, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 481, column 50]\n " shape="box"] "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" -> "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_2" ; @@ -588,7 +588,7 @@ digraph cfg { "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 381, column 50]\n n$1=*&d:signed char [line 381, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:signed char) [line 381, column 50]\n " shape="box"] +"atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 381, column 50]\n n$1=*&d:signed char [line 381, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:signed char) [line 381, column 50]\n " shape="box"] "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" -> "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_2" ; @@ -599,7 +599,7 @@ digraph cfg { "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 372, column 50]\n n$1=*&d:char [line 372, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 372, column 50]\n " shape="box"] +"atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 372, column 50]\n n$1=*&d:char [line 372, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 372, column 50]\n " shape="box"] "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" -> "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_2" ; @@ -610,7 +610,7 @@ digraph cfg { "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 490, column 50]\n n$1=*&d:char [line 490, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 490, column 50]\n " shape="box"] +"atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 490, column 50]\n n$1=*&d:char [line 490, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 490, column 50]\n " shape="box"] "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" -> "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_2" ; @@ -621,7 +621,7 @@ digraph cfg { "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 426, column 50]\n n$1=*&d:unsigned int [line 426, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned int) [line 426, column 50]\n " shape="box"] +"atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 426, column 50]\n n$1=*&d:unsigned int [line 426, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned int) [line 426, column 50]\n " shape="box"] "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" -> "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_2" ; @@ -632,7 +632,7 @@ digraph cfg { "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 463, column 50]\n n$1=*&d:unsigned long long [line 463, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long long) [line 463, column 50]\n " shape="box"] +"atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 463, column 50]\n n$1=*&d:unsigned long long [line 463, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long long) [line 463, column 50]\n " shape="box"] "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" -> "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_2" ; @@ -643,7 +643,7 @@ digraph cfg { "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 453, column 50]\n n$1=*&d:long long [line 453, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long long) [line 453, column 50]\n " shape="box"] +"atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 453, column 50]\n n$1=*&d:long long [line 453, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long long) [line 453, column 50]\n " shape="box"] "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" -> "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" ; @@ -709,7 +709,7 @@ digraph cfg { "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_2" [label="2: Exit std::shared_ptr_reset \n " color=yellow style=filled] -"reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 238, column 15]\n n$1=*&p:int* [line 238, column 42]\n _fun_std::shared_ptr_model_set(n$0:void const **,n$1:void*) [line 238, column 5]\n " shape="box"] +"reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 238, column 15]\n n$1=*&p:int* [line 238, column 42]\n n$2=_fun_std::shared_ptr_model_set(n$0:void const **,n$1:void*) [line 238, column 5]\n " shape="box"] "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" -> "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_2" ; @@ -720,11 +720,11 @@ digraph cfg { "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_2" [label="2: Exit std::shared_ptr_shared_ptr \n " color=yellow style=filled] -"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 99, column 15]\n _fun_std::shared_ptr_model_set(n$0:void const **,null:int) [line 99, column 5]\n " shape="box"] +"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 99, column 15]\n n$1=_fun_std::shared_ptr_model_set(n$0:void const **,null:int) [line 99, column 5]\n " shape="box"] "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_2" ; -"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" [label="4: Constructor Init \n n$1=*&this:int** [line 99, column 42]\n _fun_std::std__shared_ptr_std__shared_ptr(n$1:int**) [line 98, column 13]\n n$2=*n$1:int* [line 98, column 13]\n " shape="box"] +"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" [label="4: Constructor Init \n n$2=*&this:int** [line 99, column 42]\n n$4=_fun_std::std__shared_ptr_std__shared_ptr(n$2:int**) [line 98, column 13]\n n$3=*n$2:int* [line 98, column 13]\n " shape="box"] "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" ; @@ -773,7 +773,7 @@ digraph cfg { "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_2" [label="2: Exit std::shared_ptr_~shared_ptr \n " color=yellow style=filled] -"~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n _fun_std::shared_ptr___infer_inner_destructor_~shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] +"~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n n$2=_fun_std::shared_ptr___infer_inner_destructor_~shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" -> "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_2" ; diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot index 1196dd3a2..2263c6e12 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_2" [label="2: Exit std::atomic_flag_clear \n " color=yellow style=filled] -"atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 967, column 51]\n _=*n$0:std::atomic_flag [line 967, column 51]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 967, column 51]\n " shape="box"] +"atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 967, column 51]\n _=*n$0:std::atomic_flag [line 967, column 51]\n n$2=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 967, column 51]\n " shape="box"] "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" -> "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_2" ; @@ -18,7 +18,7 @@ digraph cfg { "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_2" [label="2: Exit std::atomic_flag_clear \n " color=yellow style=filled] -"atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 966, column 60]\n _=*n$0:std::atomic_flag [line 966, column 60]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 966, column 60]\n " shape="box"] +"atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 966, column 60]\n _=*n$0:std::atomic_flag [line 966, column 60]\n n$2=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 966, column 60]\n " shape="box"] "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" -> "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_2" ; @@ -29,7 +29,7 @@ digraph cfg { "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_2" [label="2: Exit std::atomic_flag_clear_explicit \n " color=yellow style=filled] -"atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 973, column 3]\n _=*n$0:std::atomic_flag [line 973, column 3]\n n$2=*&mo:int [line 973, column 12]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 973, column 3]\n " shape="box"] +"atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 973, column 3]\n _=*n$0:std::atomic_flag [line 973, column 3]\n n$2=*&mo:int [line 973, column 12]\n n$3=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 973, column 3]\n " shape="box"] "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" -> "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_2" ; @@ -40,7 +40,7 @@ digraph cfg { "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_2" [label="2: Exit std::atomic_flag_clear_explicit \n " color=yellow style=filled] -"atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 970, column 3]\n _=*n$0:std::atomic_flag [line 970, column 3]\n n$2=*&mo:int [line 970, column 12]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 970, column 3]\n " shape="box"] +"atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 970, column 3]\n _=*n$0:std::atomic_flag [line 970, column 3]\n n$2=*&mo:int [line 970, column 12]\n n$3=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 970, column 3]\n " shape="box"] "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" -> "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_2" ; @@ -120,27 +120,27 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction \n _=*&s:std::basic_string,std::allocator> [line 24, column 1]\n _fun_std::basic_string,std::allocator>_~basic_string(&s:std::basic_string,std::allocator>*) [line 24, column 1]\n _=*&x:int* [line 24, column 1]\n _fun_std::shared_ptr_~shared_ptr(&x:int**) [line 24, column 1]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction \n _=*&s:std::basic_string,std::allocator> [line 24, column 1]\n n$1=_fun_std::basic_string,std::allocator>_~basic_string(&s:std::basic_string,std::allocator>*) [line 24, column 1]\n _=*&x:int* [line 24, column 1]\n n$3=_fun_std::shared_ptr_~shared_ptr(&x:int**) [line 24, column 1]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n _fun_std::basic_string,std::allocator>_basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 22, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$4=_fun_std::basic_string,std::allocator>_basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 22, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n _fun_std::shared_ptr_shared_ptr(&x:int**) [line 21, column 24]\n n$2=*&x:int* [line 21, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$6=_fun_std::shared_ptr_shared_ptr(&x:int**) [line 21, column 24]\n n$5=*&x:int* [line 21, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$3=_fun_external::fun(1:int) [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$4=_fun_internal_exclude::fun(1:int) [line 19, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 19, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$5=_fun_internal::fun(1:int) [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -331,7 +331,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_2" ; @@ -342,7 +342,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned short [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned short) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned short [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned short) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_2" ; @@ -353,7 +353,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_2" ; @@ -364,7 +364,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:short [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:short) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:short [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:short) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_2" ; @@ -375,7 +375,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_2" ; @@ -386,7 +386,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:signed char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:signed char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:signed char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:signed char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_2" ; @@ -397,7 +397,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_2" ; @@ -408,7 +408,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_2" ; @@ -419,7 +419,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_2" ; @@ -430,7 +430,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_2" ; @@ -441,7 +441,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned int [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned int) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned int [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned int) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_2" ; @@ -452,7 +452,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_2" ; @@ -463,7 +463,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_2" ; @@ -474,7 +474,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:int [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:int) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:int [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:int) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" ; @@ -485,11 +485,11 @@ digraph cfg { "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n _fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$2=*&this:int** [line 180, column 19]\n _=*n$2:int* [line 180, column 19]\n _fun_std::shared_ptr_reset(n$2:int**,null:int*) [line 180, column 19]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$3=*&this:int** [line 180, column 19]\n _=*n$3:int* [line 180, column 19]\n n$5=_fun_std::shared_ptr_reset(n$3:int**,null:int*) [line 180, column 19]\n " shape="box"] "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; @@ -500,7 +500,7 @@ digraph cfg { "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 408, column 50]\n n$1=*&d:unsigned short [line 408, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned short) [line 408, column 50]\n " shape="box"] +"atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 408, column 50]\n n$1=*&d:unsigned short [line 408, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned short) [line 408, column 50]\n " shape="box"] "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" -> "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_2" ; @@ -511,7 +511,7 @@ digraph cfg { "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 472, column 50]\n n$1=*&d:char [line 472, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 472, column 50]\n " shape="box"] +"atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 472, column 50]\n n$1=*&d:char [line 472, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 472, column 50]\n " shape="box"] "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" -> "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_2" ; @@ -522,7 +522,7 @@ digraph cfg { "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 444, column 50]\n n$1=*&d:unsigned long [line 444, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long) [line 444, column 50]\n " shape="box"] +"atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 444, column 50]\n n$1=*&d:unsigned long [line 444, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long) [line 444, column 50]\n " shape="box"] "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" -> "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_2" ; @@ -533,7 +533,7 @@ digraph cfg { "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 399, column 50]\n n$1=*&d:short [line 399, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:short) [line 399, column 50]\n " shape="box"] +"atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 399, column 50]\n n$1=*&d:short [line 399, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:short) [line 399, column 50]\n " shape="box"] "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" -> "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_2" ; @@ -544,7 +544,7 @@ digraph cfg { "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 435, column 50]\n n$1=*&d:long [line 435, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long) [line 435, column 50]\n " shape="box"] +"atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 435, column 50]\n n$1=*&d:long [line 435, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long) [line 435, column 50]\n " shape="box"] "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" -> "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_2" ; @@ -555,7 +555,7 @@ digraph cfg { "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 417, column 50]\n n$1=*&d:int [line 417, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:int) [line 417, column 50]\n " shape="box"] +"atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 417, column 50]\n n$1=*&d:int [line 417, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:int) [line 417, column 50]\n " shape="box"] "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" -> "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_2" ; @@ -566,7 +566,7 @@ digraph cfg { "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 390, column 50]\n n$1=*&d:unsigned char [line 390, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned char) [line 390, column 50]\n " shape="box"] +"atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 390, column 50]\n n$1=*&d:unsigned char [line 390, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned char) [line 390, column 50]\n " shape="box"] "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" -> "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_2" ; @@ -577,7 +577,7 @@ digraph cfg { "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 481, column 50]\n n$1=*&d:char [line 481, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 481, column 50]\n " shape="box"] +"atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 481, column 50]\n n$1=*&d:char [line 481, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 481, column 50]\n " shape="box"] "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" -> "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_2" ; @@ -588,7 +588,7 @@ digraph cfg { "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 381, column 50]\n n$1=*&d:signed char [line 381, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:signed char) [line 381, column 50]\n " shape="box"] +"atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 381, column 50]\n n$1=*&d:signed char [line 381, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:signed char) [line 381, column 50]\n " shape="box"] "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" -> "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_2" ; @@ -599,7 +599,7 @@ digraph cfg { "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 372, column 50]\n n$1=*&d:char [line 372, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 372, column 50]\n " shape="box"] +"atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 372, column 50]\n n$1=*&d:char [line 372, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 372, column 50]\n " shape="box"] "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" -> "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_2" ; @@ -610,7 +610,7 @@ digraph cfg { "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 490, column 50]\n n$1=*&d:char [line 490, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 490, column 50]\n " shape="box"] +"atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 490, column 50]\n n$1=*&d:char [line 490, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 490, column 50]\n " shape="box"] "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" -> "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_2" ; @@ -621,7 +621,7 @@ digraph cfg { "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 426, column 50]\n n$1=*&d:unsigned int [line 426, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned int) [line 426, column 50]\n " shape="box"] +"atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 426, column 50]\n n$1=*&d:unsigned int [line 426, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned int) [line 426, column 50]\n " shape="box"] "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" -> "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_2" ; @@ -632,7 +632,7 @@ digraph cfg { "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 463, column 50]\n n$1=*&d:unsigned long long [line 463, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long long) [line 463, column 50]\n " shape="box"] +"atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 463, column 50]\n n$1=*&d:unsigned long long [line 463, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long long) [line 463, column 50]\n " shape="box"] "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" -> "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_2" ; @@ -643,7 +643,7 @@ digraph cfg { "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 453, column 50]\n n$1=*&d:long long [line 453, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long long) [line 453, column 50]\n " shape="box"] +"atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 453, column 50]\n n$1=*&d:long long [line 453, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long long) [line 453, column 50]\n " shape="box"] "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" -> "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" ; @@ -709,7 +709,7 @@ digraph cfg { "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_2" [label="2: Exit std::shared_ptr_reset \n " color=yellow style=filled] -"reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 238, column 15]\n n$1=*&p:int* [line 238, column 42]\n _fun_std::shared_ptr_model_set(n$0:void const **,n$1:void*) [line 238, column 5]\n " shape="box"] +"reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 238, column 15]\n n$1=*&p:int* [line 238, column 42]\n n$2=_fun_std::shared_ptr_model_set(n$0:void const **,n$1:void*) [line 238, column 5]\n " shape="box"] "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" -> "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_2" ; @@ -720,11 +720,11 @@ digraph cfg { "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_2" [label="2: Exit std::shared_ptr_shared_ptr \n " color=yellow style=filled] -"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 99, column 15]\n _fun_std::shared_ptr_model_set(n$0:void const **,null:int) [line 99, column 5]\n " shape="box"] +"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 99, column 15]\n n$1=_fun_std::shared_ptr_model_set(n$0:void const **,null:int) [line 99, column 5]\n " shape="box"] "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_2" ; -"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" [label="4: Constructor Init \n n$1=*&this:int** [line 99, column 42]\n _fun_std::std__shared_ptr_std__shared_ptr(n$1:int**) [line 98, column 13]\n n$2=*n$1:int* [line 98, column 13]\n " shape="box"] +"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" [label="4: Constructor Init \n n$2=*&this:int** [line 99, column 42]\n n$4=_fun_std::std__shared_ptr_std__shared_ptr(n$2:int**) [line 98, column 13]\n n$3=*n$2:int* [line 98, column 13]\n " shape="box"] "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" ; @@ -773,7 +773,7 @@ digraph cfg { "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_2" [label="2: Exit std::shared_ptr_~shared_ptr \n " color=yellow style=filled] -"~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n _fun_std::shared_ptr___infer_inner_destructor_~shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] +"~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n n$2=_fun_std::shared_ptr___infer_inner_destructor_~shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" -> "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_2" ; diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot index 1196dd3a2..2263c6e12 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_2" [label="2: Exit std::atomic_flag_clear \n " color=yellow style=filled] -"atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 967, column 51]\n _=*n$0:std::atomic_flag [line 967, column 51]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 967, column 51]\n " shape="box"] +"atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 967, column 51]\n _=*n$0:std::atomic_flag [line 967, column 51]\n n$2=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 967, column 51]\n " shape="box"] "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" -> "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_2" ; @@ -18,7 +18,7 @@ digraph cfg { "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_2" [label="2: Exit std::atomic_flag_clear \n " color=yellow style=filled] -"atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 966, column 60]\n _=*n$0:std::atomic_flag [line 966, column 60]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 966, column 60]\n " shape="box"] +"atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 966, column 60]\n _=*n$0:std::atomic_flag [line 966, column 60]\n n$2=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 966, column 60]\n " shape="box"] "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" -> "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_2" ; @@ -29,7 +29,7 @@ digraph cfg { "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_2" [label="2: Exit std::atomic_flag_clear_explicit \n " color=yellow style=filled] -"atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 973, column 3]\n _=*n$0:std::atomic_flag [line 973, column 3]\n n$2=*&mo:int [line 973, column 12]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 973, column 3]\n " shape="box"] +"atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 973, column 3]\n _=*n$0:std::atomic_flag [line 973, column 3]\n n$2=*&mo:int [line 973, column 12]\n n$3=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 973, column 3]\n " shape="box"] "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" -> "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_2" ; @@ -40,7 +40,7 @@ digraph cfg { "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_2" [label="2: Exit std::atomic_flag_clear_explicit \n " color=yellow style=filled] -"atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 970, column 3]\n _=*n$0:std::atomic_flag [line 970, column 3]\n n$2=*&mo:int [line 970, column 12]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 970, column 3]\n " shape="box"] +"atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 970, column 3]\n _=*n$0:std::atomic_flag [line 970, column 3]\n n$2=*&mo:int [line 970, column 12]\n n$3=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 970, column 3]\n " shape="box"] "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" -> "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_2" ; @@ -120,27 +120,27 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction \n _=*&s:std::basic_string,std::allocator> [line 24, column 1]\n _fun_std::basic_string,std::allocator>_~basic_string(&s:std::basic_string,std::allocator>*) [line 24, column 1]\n _=*&x:int* [line 24, column 1]\n _fun_std::shared_ptr_~shared_ptr(&x:int**) [line 24, column 1]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction \n _=*&s:std::basic_string,std::allocator> [line 24, column 1]\n n$1=_fun_std::basic_string,std::allocator>_~basic_string(&s:std::basic_string,std::allocator>*) [line 24, column 1]\n _=*&x:int* [line 24, column 1]\n n$3=_fun_std::shared_ptr_~shared_ptr(&x:int**) [line 24, column 1]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n _fun_std::basic_string,std::allocator>_basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 22, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$4=_fun_std::basic_string,std::allocator>_basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 22, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n _fun_std::shared_ptr_shared_ptr(&x:int**) [line 21, column 24]\n n$2=*&x:int* [line 21, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$6=_fun_std::shared_ptr_shared_ptr(&x:int**) [line 21, column 24]\n n$5=*&x:int* [line 21, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$3=_fun_external::fun(1:int) [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$4=_fun_internal_exclude::fun(1:int) [line 19, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 19, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$5=_fun_internal::fun(1:int) [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -331,7 +331,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_2" ; @@ -342,7 +342,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned short [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned short) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned short [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned short) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_2" ; @@ -353,7 +353,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_2" ; @@ -364,7 +364,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:short [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:short) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:short [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:short) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_2" ; @@ -375,7 +375,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_2" ; @@ -386,7 +386,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:signed char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:signed char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:signed char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:signed char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_2" ; @@ -397,7 +397,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_2" ; @@ -408,7 +408,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_2" ; @@ -419,7 +419,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_2" ; @@ -430,7 +430,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_2" ; @@ -441,7 +441,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned int [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned int) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned int [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned int) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_2" ; @@ -452,7 +452,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_2" ; @@ -463,7 +463,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_2" ; @@ -474,7 +474,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:int [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:int) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:int [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:int) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" ; @@ -485,11 +485,11 @@ digraph cfg { "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n _fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$2=*&this:int** [line 180, column 19]\n _=*n$2:int* [line 180, column 19]\n _fun_std::shared_ptr_reset(n$2:int**,null:int*) [line 180, column 19]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$3=*&this:int** [line 180, column 19]\n _=*n$3:int* [line 180, column 19]\n n$5=_fun_std::shared_ptr_reset(n$3:int**,null:int*) [line 180, column 19]\n " shape="box"] "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; @@ -500,7 +500,7 @@ digraph cfg { "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 408, column 50]\n n$1=*&d:unsigned short [line 408, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned short) [line 408, column 50]\n " shape="box"] +"atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 408, column 50]\n n$1=*&d:unsigned short [line 408, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned short) [line 408, column 50]\n " shape="box"] "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" -> "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_2" ; @@ -511,7 +511,7 @@ digraph cfg { "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 472, column 50]\n n$1=*&d:char [line 472, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 472, column 50]\n " shape="box"] +"atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 472, column 50]\n n$1=*&d:char [line 472, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 472, column 50]\n " shape="box"] "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" -> "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_2" ; @@ -522,7 +522,7 @@ digraph cfg { "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 444, column 50]\n n$1=*&d:unsigned long [line 444, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long) [line 444, column 50]\n " shape="box"] +"atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 444, column 50]\n n$1=*&d:unsigned long [line 444, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long) [line 444, column 50]\n " shape="box"] "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" -> "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_2" ; @@ -533,7 +533,7 @@ digraph cfg { "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 399, column 50]\n n$1=*&d:short [line 399, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:short) [line 399, column 50]\n " shape="box"] +"atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 399, column 50]\n n$1=*&d:short [line 399, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:short) [line 399, column 50]\n " shape="box"] "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" -> "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_2" ; @@ -544,7 +544,7 @@ digraph cfg { "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 435, column 50]\n n$1=*&d:long [line 435, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long) [line 435, column 50]\n " shape="box"] +"atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 435, column 50]\n n$1=*&d:long [line 435, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long) [line 435, column 50]\n " shape="box"] "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" -> "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_2" ; @@ -555,7 +555,7 @@ digraph cfg { "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 417, column 50]\n n$1=*&d:int [line 417, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:int) [line 417, column 50]\n " shape="box"] +"atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 417, column 50]\n n$1=*&d:int [line 417, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:int) [line 417, column 50]\n " shape="box"] "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" -> "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_2" ; @@ -566,7 +566,7 @@ digraph cfg { "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 390, column 50]\n n$1=*&d:unsigned char [line 390, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned char) [line 390, column 50]\n " shape="box"] +"atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 390, column 50]\n n$1=*&d:unsigned char [line 390, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned char) [line 390, column 50]\n " shape="box"] "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" -> "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_2" ; @@ -577,7 +577,7 @@ digraph cfg { "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 481, column 50]\n n$1=*&d:char [line 481, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 481, column 50]\n " shape="box"] +"atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 481, column 50]\n n$1=*&d:char [line 481, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 481, column 50]\n " shape="box"] "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" -> "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_2" ; @@ -588,7 +588,7 @@ digraph cfg { "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 381, column 50]\n n$1=*&d:signed char [line 381, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:signed char) [line 381, column 50]\n " shape="box"] +"atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 381, column 50]\n n$1=*&d:signed char [line 381, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:signed char) [line 381, column 50]\n " shape="box"] "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" -> "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_2" ; @@ -599,7 +599,7 @@ digraph cfg { "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 372, column 50]\n n$1=*&d:char [line 372, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 372, column 50]\n " shape="box"] +"atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 372, column 50]\n n$1=*&d:char [line 372, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 372, column 50]\n " shape="box"] "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" -> "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_2" ; @@ -610,7 +610,7 @@ digraph cfg { "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 490, column 50]\n n$1=*&d:char [line 490, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 490, column 50]\n " shape="box"] +"atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 490, column 50]\n n$1=*&d:char [line 490, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 490, column 50]\n " shape="box"] "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" -> "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_2" ; @@ -621,7 +621,7 @@ digraph cfg { "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 426, column 50]\n n$1=*&d:unsigned int [line 426, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned int) [line 426, column 50]\n " shape="box"] +"atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 426, column 50]\n n$1=*&d:unsigned int [line 426, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned int) [line 426, column 50]\n " shape="box"] "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" -> "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_2" ; @@ -632,7 +632,7 @@ digraph cfg { "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 463, column 50]\n n$1=*&d:unsigned long long [line 463, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long long) [line 463, column 50]\n " shape="box"] +"atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 463, column 50]\n n$1=*&d:unsigned long long [line 463, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long long) [line 463, column 50]\n " shape="box"] "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" -> "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_2" ; @@ -643,7 +643,7 @@ digraph cfg { "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 453, column 50]\n n$1=*&d:long long [line 453, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long long) [line 453, column 50]\n " shape="box"] +"atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 453, column 50]\n n$1=*&d:long long [line 453, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long long) [line 453, column 50]\n " shape="box"] "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" -> "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" ; @@ -709,7 +709,7 @@ digraph cfg { "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_2" [label="2: Exit std::shared_ptr_reset \n " color=yellow style=filled] -"reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 238, column 15]\n n$1=*&p:int* [line 238, column 42]\n _fun_std::shared_ptr_model_set(n$0:void const **,n$1:void*) [line 238, column 5]\n " shape="box"] +"reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 238, column 15]\n n$1=*&p:int* [line 238, column 42]\n n$2=_fun_std::shared_ptr_model_set(n$0:void const **,n$1:void*) [line 238, column 5]\n " shape="box"] "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" -> "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_2" ; @@ -720,11 +720,11 @@ digraph cfg { "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_2" [label="2: Exit std::shared_ptr_shared_ptr \n " color=yellow style=filled] -"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 99, column 15]\n _fun_std::shared_ptr_model_set(n$0:void const **,null:int) [line 99, column 5]\n " shape="box"] +"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 99, column 15]\n n$1=_fun_std::shared_ptr_model_set(n$0:void const **,null:int) [line 99, column 5]\n " shape="box"] "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_2" ; -"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" [label="4: Constructor Init \n n$1=*&this:int** [line 99, column 42]\n _fun_std::std__shared_ptr_std__shared_ptr(n$1:int**) [line 98, column 13]\n n$2=*n$1:int* [line 98, column 13]\n " shape="box"] +"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" [label="4: Constructor Init \n n$2=*&this:int** [line 99, column 42]\n n$4=_fun_std::std__shared_ptr_std__shared_ptr(n$2:int**) [line 98, column 13]\n n$3=*n$2:int* [line 98, column 13]\n " shape="box"] "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" ; @@ -773,7 +773,7 @@ digraph cfg { "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_2" [label="2: Exit std::shared_ptr_~shared_ptr \n " color=yellow style=filled] -"~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n _fun_std::shared_ptr___infer_inner_destructor_~shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] +"~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n n$2=_fun_std::shared_ptr___infer_inner_destructor_~shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" -> "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_2" ; diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot index 1196dd3a2..2263c6e12 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_2" [label="2: Exit std::atomic_flag_clear \n " color=yellow style=filled] -"atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 967, column 51]\n _=*n$0:std::atomic_flag [line 967, column 51]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 967, column 51]\n " shape="box"] +"atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 967, column 51]\n _=*n$0:std::atomic_flag [line 967, column 51]\n n$2=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 967, column 51]\n " shape="box"] "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_3" -> "atomic_flag_clear#std#17550914922100779771.d1fb16da8327178ccc23af6843a8ea0b_2" ; @@ -18,7 +18,7 @@ digraph cfg { "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_2" [label="2: Exit std::atomic_flag_clear \n " color=yellow style=filled] -"atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 966, column 60]\n _=*n$0:std::atomic_flag [line 966, column 60]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 966, column 60]\n " shape="box"] +"atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 966, column 60]\n _=*n$0:std::atomic_flag [line 966, column 60]\n n$2=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,5:int) [line 966, column 60]\n " shape="box"] "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_3" -> "atomic_flag_clear#std#8417018393663174481.295be794cdae89c82fc079ad828db14c_2" ; @@ -29,7 +29,7 @@ digraph cfg { "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_2" [label="2: Exit std::atomic_flag_clear_explicit \n " color=yellow style=filled] -"atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 973, column 3]\n _=*n$0:std::atomic_flag [line 973, column 3]\n n$2=*&mo:int [line 973, column 12]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 973, column 3]\n " shape="box"] +"atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 973, column 3]\n _=*n$0:std::atomic_flag [line 973, column 3]\n n$2=*&mo:int [line 973, column 12]\n n$3=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 973, column 3]\n " shape="box"] "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_3" -> "atomic_flag_clear_explicit#std#13508243229460098920.9096df62446733c75716182054ac50b0_2" ; @@ -40,7 +40,7 @@ digraph cfg { "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_2" [label="2: Exit std::atomic_flag_clear_explicit \n " color=yellow style=filled] -"atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 970, column 3]\n _=*n$0:std::atomic_flag [line 970, column 3]\n n$2=*&mo:int [line 970, column 12]\n _fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 970, column 3]\n " shape="box"] +"atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" [label="3: Call _fun_std::atomic_flag_clear \n n$0=*&f:std::atomic_flag* [line 970, column 3]\n _=*n$0:std::atomic_flag [line 970, column 3]\n n$2=*&mo:int [line 970, column 12]\n n$3=_fun_std::atomic_flag_clear(n$0:std::atomic_flag*,n$2:int) [line 970, column 3]\n " shape="box"] "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_3" -> "atomic_flag_clear_explicit#std#17643441563504553916.f821a0b7a94ce430273c34c2a0bc2777_2" ; @@ -120,27 +120,27 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction \n _=*&s:std::basic_string,std::allocator> [line 24, column 1]\n _fun_std::basic_string,std::allocator>_~basic_string(&s:std::basic_string,std::allocator>*) [line 24, column 1]\n _=*&x:int* [line 24, column 1]\n _fun_std::shared_ptr_~shared_ptr(&x:int**) [line 24, column 1]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction \n _=*&s:std::basic_string,std::allocator> [line 24, column 1]\n n$1=_fun_std::basic_string,std::allocator>_~basic_string(&s:std::basic_string,std::allocator>*) [line 24, column 1]\n _=*&x:int* [line 24, column 1]\n n$3=_fun_std::shared_ptr_~shared_ptr(&x:int**) [line 24, column 1]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n _fun_std::basic_string,std::allocator>_basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 22, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$4=_fun_std::basic_string,std::allocator>_basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 22, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n _fun_std::shared_ptr_shared_ptr(&x:int**) [line 21, column 24]\n n$2=*&x:int* [line 21, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$6=_fun_std::shared_ptr_shared_ptr(&x:int**) [line 21, column 24]\n n$5=*&x:int* [line 21, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$3=_fun_external::fun(1:int) [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$4=_fun_internal_exclude::fun(1:int) [line 19, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 19, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$5=_fun_internal::fun(1:int) [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -331,7 +331,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{2317220937806306842|constexpr}.d393fae7aac1307d35b11f21691789e9_2" ; @@ -342,7 +342,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned short [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned short) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned short [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned short) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{4789001703898296148|constexpr}.e708f3dd8e07f928f0136c58ce71aa77_2" ; @@ -353,7 +353,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{14753850656660515810|conste.316dccad2dcde8efca58b19fda679f20_2" ; @@ -364,7 +364,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:short [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:short) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:short [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:short) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{12484722408092055522|constexpr}.886571206f544c99c3746129fd658bc9_2" ; @@ -375,7 +375,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{8591773473555052674|constexpr}.726ea5334f7395b295f6ac7cd555d392_2" ; @@ -386,7 +386,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:signed char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:signed char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:signed char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:signed char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{9844392485801633554|constexpr}.6f8ca55944a0f4edf0c3180d150032cf_2" ; @@ -397,7 +397,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{16522029776639505920|constexpr}.39982a6970fd6e76224956305a5d7c79_2" ; @@ -408,7 +408,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{16659147243517555676|constexpr}.63a0b0e30efb12599ce5b737bbb89996_2" ; @@ -419,7 +419,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{2173708841126415188|constexpr}.18d3a9ecf5789e4e4e382f28729807c8_2" ; @@ -430,7 +430,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned long [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned long) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{14576619656228466890|constexpr}.f782c04753c7831667ca63ed4883ec25_2" ; @@ -441,7 +441,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned int [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned int) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned int [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned int) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{4588665662015601400|constexpr}.d5e8f3087b4e601b5439130cb84493b0_2" ; @@ -452,7 +452,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:unsigned char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:unsigned char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{812115561232181884|constexpr}.549c03fc14bf4fd6639150c4ad1efe18_2" ; @@ -463,7 +463,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:char [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:char) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{15428870764710756536|constexpr}.d0b34811c384e20ccfd3c64a11df4e0a_2" ; @@ -474,7 +474,7 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" [label="2: Exit std::__infer_atomic_integral___infer_atomic_integral \n " color=yellow style=filled] -"__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:int [line 187, column 60]\n _fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:int) [line 187, column 53]\n " shape="box"] +"__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" [label="3: Constructor Init \n n$0=*&this:std::__infer_atomic_integral* [line 187, column 53]\n n$1=*&d:int [line 187, column 60]\n n$2=_fun_std::__infer_atomic_base___infer_atomic_base(n$0:std::__infer_atomic_integral*,n$1:int) [line 187, column 53]\n " shape="box"] "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" ; @@ -485,11 +485,11 @@ digraph cfg { "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n _fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$2=*&this:int** [line 180, column 19]\n _=*n$2:int* [line 180, column 19]\n _fun_std::shared_ptr_reset(n$2:int**,null:int*) [line 180, column 19]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$3=*&this:int** [line 180, column 19]\n _=*n$3:int* [line 180, column 19]\n n$5=_fun_std::shared_ptr_reset(n$3:int**,null:int*) [line 180, column 19]\n " shape="box"] "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; @@ -500,7 +500,7 @@ digraph cfg { "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 408, column 50]\n n$1=*&d:unsigned short [line 408, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned short) [line 408, column 50]\n " shape="box"] +"atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 408, column 50]\n n$1=*&d:unsigned short [line 408, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned short) [line 408, column 50]\n " shape="box"] "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_3" -> "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_2" ; @@ -511,7 +511,7 @@ digraph cfg { "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 472, column 50]\n n$1=*&d:char [line 472, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 472, column 50]\n " shape="box"] +"atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 472, column 50]\n n$1=*&d:char [line 472, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 472, column 50]\n " shape="box"] "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_3" -> "atomic#atomic#std#{6824382166204133557|constexpr}.be44521bf079e2cb888037b21858e8e6_2" ; @@ -522,7 +522,7 @@ digraph cfg { "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 444, column 50]\n n$1=*&d:unsigned long [line 444, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long) [line 444, column 50]\n " shape="box"] +"atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 444, column 50]\n n$1=*&d:unsigned long [line 444, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long) [line 444, column 50]\n " shape="box"] "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_3" -> "atomic#atomic#std#{12678320818314302393|constexpr}.5cd3aac69014d4e49ff04061ee1f1526_2" ; @@ -533,7 +533,7 @@ digraph cfg { "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 399, column 50]\n n$1=*&d:short [line 399, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:short) [line 399, column 50]\n " shape="box"] +"atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 399, column 50]\n n$1=*&d:short [line 399, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:short) [line 399, column 50]\n " shape="box"] "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_3" -> "atomic#atomic#std#{17416607751267500557|constexpr}.44c96da43702ebbe4de34f6c26176ccb_2" ; @@ -544,7 +544,7 @@ digraph cfg { "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 435, column 50]\n n$1=*&d:long [line 435, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long) [line 435, column 50]\n " shape="box"] +"atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 435, column 50]\n n$1=*&d:long [line 435, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long) [line 435, column 50]\n " shape="box"] "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_3" -> "atomic#atomic#std#{11783391945814293231|constexpr}.22775463bf145a69731b3305dffc4bb3_2" ; @@ -555,7 +555,7 @@ digraph cfg { "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 417, column 50]\n n$1=*&d:int [line 417, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:int) [line 417, column 50]\n " shape="box"] +"atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 417, column 50]\n n$1=*&d:int [line 417, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:int) [line 417, column 50]\n " shape="box"] "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_3" -> "atomic#atomic#std#{10680712765411145881|constexpr}.b59b8272bcd92eac36f759f9bac15ee8_2" ; @@ -566,7 +566,7 @@ digraph cfg { "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 390, column 50]\n n$1=*&d:unsigned char [line 390, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned char) [line 390, column 50]\n " shape="box"] +"atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 390, column 50]\n n$1=*&d:unsigned char [line 390, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned char) [line 390, column 50]\n " shape="box"] "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_3" -> "atomic#atomic#std#{9349229583258484711|constexpr}.9cbc6c1bc35116267ee41b36d8d25cb8_2" ; @@ -577,7 +577,7 @@ digraph cfg { "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 481, column 50]\n n$1=*&d:char [line 481, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 481, column 50]\n " shape="box"] +"atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 481, column 50]\n n$1=*&d:char [line 481, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 481, column 50]\n " shape="box"] "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_3" -> "atomic#atomic#std#{8082860668582714463|constexpr}.dd2e5ecabe54fdef20aa889bb6f6f2e6_2" ; @@ -588,7 +588,7 @@ digraph cfg { "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 381, column 50]\n n$1=*&d:signed char [line 381, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:signed char) [line 381, column 50]\n " shape="box"] +"atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 381, column 50]\n n$1=*&d:signed char [line 381, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:signed char) [line 381, column 50]\n " shape="box"] "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_3" -> "atomic#atomic#std#{5346108577579494905|constexpr}.c15dd9aaf90a685e2a7f542bd251c605_2" ; @@ -599,7 +599,7 @@ digraph cfg { "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 372, column 50]\n n$1=*&d:char [line 372, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 372, column 50]\n " shape="box"] +"atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 372, column 50]\n n$1=*&d:char [line 372, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 372, column 50]\n " shape="box"] "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_3" -> "atomic#atomic#std#{1569576068982126765|constexpr}.65635696899f54c5a6d6629c8a6ecb24_2" ; @@ -610,7 +610,7 @@ digraph cfg { "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 490, column 50]\n n$1=*&d:char [line 490, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 490, column 50]\n " shape="box"] +"atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 490, column 50]\n n$1=*&d:char [line 490, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:char) [line 490, column 50]\n " shape="box"] "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_3" -> "atomic#atomic#std#{2209937568484024999|constexpr}.6cdd85274a8b59daa2beabef472c513a_2" ; @@ -621,7 +621,7 @@ digraph cfg { "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 426, column 50]\n n$1=*&d:unsigned int [line 426, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned int) [line 426, column 50]\n " shape="box"] +"atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 426, column 50]\n n$1=*&d:unsigned int [line 426, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned int) [line 426, column 50]\n " shape="box"] "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_3" -> "atomic#atomic#std#{10601848595505065591|constexpr}.a5e478d8ee519cb53e4dcde645e4dbe4_2" ; @@ -632,7 +632,7 @@ digraph cfg { "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 463, column 50]\n n$1=*&d:unsigned long long [line 463, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long long) [line 463, column 50]\n " shape="box"] +"atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 463, column 50]\n n$1=*&d:unsigned long long [line 463, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:unsigned long long) [line 463, column 50]\n " shape="box"] "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_3" -> "atomic#atomic#std#{8272996909294858201|constexpr}.4af18384f1b00a3d9942312d16de12f0_2" ; @@ -643,7 +643,7 @@ digraph cfg { "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" [label="2: Exit std::atomic_atomic \n " color=yellow style=filled] -"atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 453, column 50]\n n$1=*&d:long long [line 453, column 57]\n _fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long long) [line 453, column 50]\n " shape="box"] +"atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" [label="3: Constructor Init \n n$0=*&this:std::atomic* [line 453, column 50]\n n$1=*&d:long long [line 453, column 57]\n n$2=_fun_std::__infer_atomic_integral___infer_atomic_integral(n$0:std::atomic*,n$1:long long) [line 453, column 50]\n " shape="box"] "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" -> "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" ; @@ -709,7 +709,7 @@ digraph cfg { "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_2" [label="2: Exit std::shared_ptr_reset \n " color=yellow style=filled] -"reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 238, column 15]\n n$1=*&p:int* [line 238, column 42]\n _fun_std::shared_ptr_model_set(n$0:void const **,n$1:void*) [line 238, column 5]\n " shape="box"] +"reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 238, column 15]\n n$1=*&p:int* [line 238, column 42]\n n$2=_fun_std::shared_ptr_model_set(n$0:void const **,n$1:void*) [line 238, column 5]\n " shape="box"] "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_3" -> "reset#shared_ptr#std#(5124141554651620350).9719d311878ee7b168751a9cb4fd4371_2" ; @@ -720,11 +720,11 @@ digraph cfg { "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_2" [label="2: Exit std::shared_ptr_shared_ptr \n " color=yellow style=filled] -"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 99, column 15]\n _fun_std::shared_ptr_model_set(n$0:void const **,null:int) [line 99, column 5]\n " shape="box"] +"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" [label="3: Call _fun_std::shared_ptr_model_set \n n$0=*&this:int** [line 99, column 15]\n n$1=_fun_std::shared_ptr_model_set(n$0:void const **,null:int) [line 99, column 5]\n " shape="box"] "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_2" ; -"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" [label="4: Constructor Init \n n$1=*&this:int** [line 99, column 42]\n _fun_std::std__shared_ptr_std__shared_ptr(n$1:int**) [line 98, column 13]\n n$2=*n$1:int* [line 98, column 13]\n " shape="box"] +"shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" [label="4: Constructor Init \n n$2=*&this:int** [line 99, column 42]\n n$4=_fun_std::std__shared_ptr_std__shared_ptr(n$2:int**) [line 98, column 13]\n n$3=*n$2:int* [line 98, column 13]\n " shape="box"] "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" ; @@ -773,7 +773,7 @@ digraph cfg { "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_2" [label="2: Exit std::shared_ptr_~shared_ptr \n " color=yellow style=filled] -"~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n _fun_std::shared_ptr___infer_inner_destructor_~shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] +"~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" [label="3: Destruction \n n$0=*&this:int** [line 180, column 39]\n _=*n$0:int* [line 180, column 39]\n n$2=_fun_std::shared_ptr___infer_inner_destructor_~shared_ptr(n$0:int**) [line 180, column 39]\n " shape="box"] "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_3" -> "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/booleans/condition_as_param.c.dot b/infer/tests/codetoanalyze/c/frontend/booleans/condition_as_param.c.dot index 3e07eef4a..ebaf27d7e 100644 --- a/infer/tests/codetoanalyze/c/frontend/booleans/condition_as_param.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/booleans/condition_as_param.c.dot @@ -39,7 +39,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Call _fun_check \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 14, column 9]\n _fun_check(n$2:int) [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Call _fun_check \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 14, column 9]\n n$3=_fun_check(n$2:int) [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/function_call.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/function_call.c.dot index 1157b7587..7bbb4517b 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/function_call.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/function_call.c.dot @@ -28,7 +28,7 @@ digraph cfg { "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_7" -> "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_3" ; -"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_8" [label="8: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 12, column 27]\n n$1(1:int,2:int,3:int) [line 12, column 26]\n " shape="box"] +"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_8" [label="8: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 12, column 27]\n n$2=n$1(1:int,2:int,3:int) [line 12, column 26]\n " shape="box"] "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_8" -> "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_2" ; @@ -123,7 +123,7 @@ digraph cfg { "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_22" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_18" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_23" [label="23: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 15, column 4]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 15, column 25]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 15, column 36]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 15, column 47]\n n$1(n$3:int,n$5:int,n$7:int) [line 15, column 3]\n " shape="box"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_23" [label="23: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 15, column 4]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 15, column 25]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 15, column 36]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 15, column 47]\n n$8=n$1(n$3:int,n$5:int,n$7:int) [line 15, column 3]\n " shape="box"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_23" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_2" ; @@ -197,7 +197,7 @@ digraph cfg { "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_17" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_13" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_18" [label="18: Call _fun_some_f \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 18, column 33]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 18, column 44]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 18, column 55]\n _fun_some_f(n$1:int,n$3:int,n$5:int) [line 18, column 26]\n " shape="box"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_18" [label="18: Call _fun_some_f \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 18, column 33]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 18, column 44]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 18, column 55]\n n$6=_fun_some_f(n$1:int,n$3:int,n$5:int) [line 18, column 26]\n " shape="box"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_18" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_2" ; @@ -271,7 +271,7 @@ digraph cfg { "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_17" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_13" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_18" [label="18: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 20, column 27]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 20, column 48]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 20, column 62]\n n$1(n$3:int,2:int,n$5:int) [line 20, column 26]\n " shape="box"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_18" [label="18: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 20, column 27]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 20, column 48]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 20, column 62]\n n$6=n$1(n$3:int,2:int,n$5:int) [line 20, column 26]\n " shape="box"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_18" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/initialization/array_initlistexpr.c.dot b/infer/tests/codetoanalyze/c/frontend/initialization/array_initlistexpr.c.dot index c46257b80..a95c44ce1 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/array_initlistexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/array_initlistexpr.c.dot @@ -18,11 +18,11 @@ digraph cfg { "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_2" [label="2: Exit init_variable_array \n " color=yellow style=filled] -"init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_3" [label="3: Fallback node \n n$0=*&len:int [line 17, column 9]\n n$1=*&x:int [line 17, column 15]\n _fun___set_array_length(&a:int[_*4],((n$0 + n$1) + 1):int) [line 17, column 9]\n " shape="box"] +"init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_3" [label="3: Fallback node \n n$0=*&len:int [line 17, column 9]\n n$1=*&x:int [line 17, column 15]\n n$2=_fun___set_array_length(&a:int[_*4],((n$0 + n$1) + 1):int) [line 17, column 9]\n " shape="box"] "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_3" -> "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_2" ; -"init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_4" [label="4: DeclStmt \n n$2=*&len:int [line 16, column 15]\n *&x:int=(2 * n$2) [line 16, column 3]\n " shape="box"] +"init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_4" [label="4: DeclStmt \n n$3=*&len:int [line 16, column 15]\n *&x:int=(2 * n$3) [line 16, column 3]\n " shape="box"] "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_4" -> "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/unusual_stmts/asm.c.dot b/infer/tests/codetoanalyze/c/frontend/unusual_stmts/asm.c.dot index 681c7811a..0ed593a0d 100644 --- a/infer/tests/codetoanalyze/c/frontend/unusual_stmts/asm.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/unusual_stmts/asm.c.dot @@ -11,7 +11,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: GCCAsmStmt \n n$0=*&src:int [line 27, column 13]\n _fun___infer_skip_gcc_asm_stmt(&dst:int&,n$0:int) [line 23, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: GCCAsmStmt \n n$0=*&src:int [line 27, column 13]\n n$1=_fun___infer_skip_gcc_asm_stmt(&dst:int&,n$0:int) [line 23, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -30,7 +30,7 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: GCCAsmStmt \n _fun___infer_skip_gcc_asm_stmt(&x:int&,&y:int&,&z:int&,&h:int&,0:int) [line 15, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: GCCAsmStmt \n n$0=_fun___infer_skip_gcc_asm_stmt(&x:int&,&y:int&,&z:int&,&h:int&,0:int) [line 15, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/vaarg_expr/vaarg_expr.c.dot b/infer/tests/codetoanalyze/c/frontend/vaarg_expr/vaarg_expr.c.dot index 0ae7e2533..d17e37626 100644 --- a/infer/tests/codetoanalyze/c/frontend/vaarg_expr/vaarg_expr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/vaarg_expr/vaarg_expr.c.dot @@ -11,7 +11,7 @@ digraph cfg { "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_2" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" [label="4: Call _fun___builtin_va_end \n _fun___builtin_va_end(&valist:void*) [line 22, column 3]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" [label="4: Call _fun___builtin_va_end \n n$1=_fun___builtin_va_end(&valist:void*) [line 22, column 3]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" ; @@ -19,16 +19,16 @@ digraph cfg { "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" [label="6: BinaryOperatorStmt: EQ \n n$1=*&i:int [line 17, column 7]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" [label="6: BinaryOperatorStmt: EQ \n n$2=*&i:int [line 17, column 7]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" ; "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" [label="7: Prune (true branch, if) \n PRUNE((n$1 == 9), true); [line 17, column 7]\n " shape="invhouse"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" [label="7: Prune (true branch, if) \n PRUNE((n$2 == 9), true); [line 17, column 7]\n " shape="invhouse"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" [label="8: Prune (false branch, if) \n PRUNE(!(n$1 == 9), false); [line 17, column 7]\n " shape="invhouse"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" [label="8: Prune (false branch, if) \n PRUNE(!(n$2 == 9), false); [line 17, column 7]\n " shape="invhouse"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" ; @@ -40,11 +40,11 @@ digraph cfg { "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" [label="11: DeclStmt \n *&i:int=n$2 [line 15, column 3]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" [label="11: DeclStmt \n *&i:int=n$3 [line 15, column 3]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" [label="12: Call _fun___builtin_va_start \n _fun___builtin_va_start(&valist:void*,&x:int&) [line 14, column 3]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" [label="12: Call _fun___builtin_va_start \n n$4=_fun___builtin_va_start(&valist:void*,&x:int&) [line 14, column 3]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot index d6d402a71..906c8366c 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot @@ -18,15 +18,15 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call delete \n n$0=*&i:int* [line 14, column 10]\n _fun___delete(n$0:int*) [line 14, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call delete \n n$0=*&i:int* [line 14, column 10]\n n$1=_fun___delete(n$0:int*) [line 14, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: CXXNewExpr \n n$1=_fun___new(sizeof(t=int):unsigned long) [line 13, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: CXXNewExpr \n n$2=_fun___new(sizeof(t=int):unsigned long) [line 13, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$2=_fun___new(sizeof(t=int):unsigned long) [line 12, column 12]\n *&i:int*=n$2 [line 12, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$3=_fun___new(sizeof(t=int):unsigned long) [line 12, column 12]\n *&i:int*=n$3 [line 12, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; @@ -41,7 +41,7 @@ digraph cfg { "test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_2" [label="2: Exit test_placement \n " color=yellow style=filled] -"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" [label="3: DeclStmt \n n$2=*&ptr:void* [line 26, column 60]\n n$0=*&ptr2:int* [line 26, column 65]\n *&ptr2:int*=(n$0 + 1) [line 26, column 65]\n n$1=*&ptr2:int* [line 26, column 65]\n n$3=_fun___placement_new(sizeof(t=A):unsigned long,n$2:void*,n$1:void*) [line 26, column 55]\n _fun_A_A(n$3:A*) [line 26, column 73]\n *&p:A*=n$3 [line 26, column 45]\n " shape="box"] +"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" [label="3: DeclStmt \n n$2=*&ptr:void* [line 26, column 60]\n n$0=*&ptr2:int* [line 26, column 65]\n *&ptr2:int*=(n$0 + 1) [line 26, column 65]\n n$1=*&ptr2:int* [line 26, column 65]\n n$3=_fun___placement_new(sizeof(t=A):unsigned long,n$2:void*,n$1:void*) [line 26, column 55]\n n$4=_fun_A_A(n$3:A*) [line 26, column 73]\n *&p:A*=n$3 [line 26, column 45]\n " shape="box"] "test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" -> "test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot index fa847d983..9a502cfe8 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_2" [label="2: Exit break_scope::test_do_while \n " color=yellow style=filled] -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 91, column 1]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 91, column 1]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 91, column 1]\n n$1=_fun_break_scope::X_~X(&x1:break_scope::X*) [line 91, column 1]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_2" ; @@ -15,15 +15,15 @@ digraph cfg { "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_4" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_5" [label="5: Prune (true branch, do while) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(n$1, true); [line 90, column 12]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_5" [label="5: Prune (true branch, do while) \n n$2=*&a:_Bool [line 90, column 12]\n PRUNE(n$2, true); [line 90, column 12]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_5" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_4" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_6" [label="6: Prune (false branch, do while) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(!n$1, false); [line 90, column 12]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_6" [label="6: Prune (false branch, do while) \n n$2=*&a:_Bool [line 90, column 12]\n PRUNE(!n$2, false); [line 90, column 12]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_6" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_7" [label="7: Destruction \n _=*&x2:break_scope::X [line 90, column 3]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 90, column 3]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_7" [label="7: Destruction \n _=*&x2:break_scope::X [line 90, column 3]\n n$4=_fun_break_scope::X_~X(&x2:break_scope::X*) [line 90, column 3]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_7" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_5" ; @@ -32,55 +32,55 @@ digraph cfg { "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_8" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_7" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_9" [label="9: Prune (true branch, if) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(n$3, true); [line 84, column 9]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_9" [label="9: Prune (true branch, if) \n n$5=*&b:_Bool [line 84, column 9]\n PRUNE(n$5, true); [line 84, column 9]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_9" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_13" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" [label="10: Prune (false branch, if) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(!n$3, false); [line 84, column 9]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" [label="10: Prune (false branch, if) \n n$5=*&b:_Bool [line 84, column 9]\n PRUNE(!n$5, false); [line 84, column 9]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_11" [label="11: Destruction \n _=*&x3:break_scope::X [line 87, column 5]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 87, column 5]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_11" [label="11: Destruction \n _=*&x3:break_scope::X [line 87, column 5]\n n$7=_fun_break_scope::X_~X(&x3:break_scope::X*) [line 87, column 5]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_11" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_8" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_12" [label="12: Destruction \n _=*&x3:break_scope::X [line 86, column 7]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 86, column 7]\n _=*&x2:break_scope::X [line 86, column 7]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 86, column 7]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_12" [label="12: Destruction \n _=*&x3:break_scope::X [line 86, column 7]\n n$9=_fun_break_scope::X_~X(&x3:break_scope::X*) [line 86, column 7]\n _=*&x2:break_scope::X [line 86, column 7]\n n$11=_fun_break_scope::X_~X(&x2:break_scope::X*) [line 86, column 7]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_12" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_13" [label="13: DeclStmt \n _fun_break_scope::X_X(&x3:break_scope::X*) [line 85, column 9]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_13" [label="13: DeclStmt \n n$12=_fun_break_scope::X_X(&x3:break_scope::X*) [line 85, column 9]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_13" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_12" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_14" [label="14: Destruction \n _=*&x4:break_scope::X [line 89, column 5]\n _fun_break_scope::X_~X(&x4:break_scope::X*) [line 89, column 5]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_14" [label="14: Destruction \n _=*&x4:break_scope::X [line 89, column 5]\n n$14=_fun_break_scope::X_~X(&x4:break_scope::X*) [line 89, column 5]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_14" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_8" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" [label="15: DeclStmt \n _fun_break_scope::X_X(&x4:break_scope::X*) [line 88, column 9]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" [label="15: DeclStmt \n n$15=_fun_break_scope::X_X(&x4:break_scope::X*) [line 88, column 9]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_14" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" [label="16: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 83, column 7]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" [label="16: DeclStmt \n n$16=_fun_break_scope::X_X(&x2:break_scope::X*) [line 83, column 7]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_9" ; "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_17" [label="17: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 81, column 5]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_17" [label="17: DeclStmt \n n$17=_fun_break_scope::X_X(&x1:break_scope::X*) [line 81, column 5]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_17" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_4" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_1" [label="1: Start break_scope::test_for\nFormals: b:_Bool\nLocals: x2:break_scope::X it:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator 0$?%__sil_tmp__temp_return_n$6:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator x1:break_scope::X vector:break_scope::vec \n DECLARE_LOCALS(&return,&x2,&it,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmp__temp_return_n$6,&0$?%__sil_tmpSIL_materialize_temp__n$7,&x1,&vector); [line 57, column 1]\n " color=yellow style=filled] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_1" [label="1: Start break_scope::test_for\nFormals: b:_Bool\nLocals: x2:break_scope::X it:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$5:break_scope::iterator 0$?%__sil_tmp__temp_return_n$11:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$13:break_scope::iterator x1:break_scope::X vector:break_scope::vec \n DECLARE_LOCALS(&return,&x2,&it,&0$?%__sil_tmpSIL_materialize_temp__n$5,&0$?%__sil_tmp__temp_return_n$11,&0$?%__sil_tmpSIL_materialize_temp__n$13,&x1,&vector); [line 57, column 1]\n " color=yellow style=filled] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_1" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_17" ; "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_2" [label="2: Exit break_scope::test_for \n " color=yellow style=filled] -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_3" [label="3: Destruction \n _=*&x2:break_scope::X [line 66, column 1]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 66, column 1]\n _=*&vector:break_scope::vec [line 66, column 1]\n _fun_break_scope::vec_~vec(&vector:break_scope::vec*) [line 66, column 1]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_3" [label="3: Destruction \n _=*&x2:break_scope::X [line 66, column 1]\n n$1=_fun_break_scope::X_~X(&x2:break_scope::X*) [line 66, column 1]\n _=*&vector:break_scope::vec [line 66, column 1]\n n$3=_fun_break_scope::vec_~vec(&vector:break_scope::vec*) [line 66, column 1]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_3" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_2" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" [label="4: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 65, column 5]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" [label="4: DeclStmt \n n$4=_fun_break_scope::X_X(&x2:break_scope::X*) [line 65, column 5]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_3" ; @@ -88,25 +88,25 @@ digraph cfg { "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_5" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_6" [label="6: DeclStmt \n _=*&vector:break_scope::vec [line 59, column 22]\n _fun_break_scope::vec_begin(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator*) [line 59, column 22]\n _fun_break_scope::iterator_iterator(&it:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator&) [line 59, column 22]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_6" [label="6: DeclStmt \n _=*&vector:break_scope::vec [line 59, column 22]\n n$8=_fun_break_scope::vec_begin(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$5:break_scope::iterator*) [line 59, column 22]\n n$9=_fun_break_scope::iterator_iterator(&it:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$5:break_scope::iterator&) [line 59, column 22]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_6" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_5" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_7" [label="7: Call _fun_break_scope::iterator_operator++ \n _fun_break_scope::iterator_operator++(&it:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$6:break_scope::iterator*) [line 59, column 58]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_7" [label="7: Call _fun_break_scope::iterator_operator++ \n n$12=_fun_break_scope::iterator_operator++(&it:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$11:break_scope::iterator*) [line 59, column 58]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_7" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_5" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" [label="8: Call _fun_break_scope::iterator_operator!= \n _=*&vector:break_scope::vec [line 59, column 44]\n _fun_break_scope::vec_end(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator*) [line 59, column 44]\n n$10=_fun_break_scope::iterator_operator!=(&it:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator&) [line 59, column 38]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" [label="8: Call _fun_break_scope::iterator_operator!= \n _=*&vector:break_scope::vec [line 59, column 44]\n n$16=_fun_break_scope::vec_end(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$13:break_scope::iterator*) [line 59, column 44]\n n$17=_fun_break_scope::iterator_operator!=(&it:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$13:break_scope::iterator&) [line 59, column 38]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" ; "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$10, true); [line 59, column 38]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$17, true); [line 59, column 38]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" ; "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$10, false); [line 59, column 38]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$17, false); [line 59, column 38]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" ; @@ -114,38 +114,38 @@ digraph cfg { "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_11" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_7" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" [label="12: Prune (true branch, if) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(n$11, true); [line 60, column 9]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" [label="12: Prune (true branch, if) \n n$18=*&b:_Bool [line 60, column 9]\n PRUNE(n$18, true); [line 60, column 9]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_16" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" [label="13: Prune (false branch, if) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(!n$11, false); [line 60, column 9]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" [label="13: Prune (false branch, if) \n n$18=*&b:_Bool [line 60, column 9]\n PRUNE(!n$18, false); [line 60, column 9]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_11" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_14" [label="14: Destruction \n _=*&x1:break_scope::X [line 63, column 5]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 63, column 5]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_14" [label="14: Destruction \n _=*&x1:break_scope::X [line 63, column 5]\n n$20=_fun_break_scope::X_~X(&x1:break_scope::X*) [line 63, column 5]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_14" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_11" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_15" [label="15: Destruction \n _=*&x1:break_scope::X [line 62, column 7]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 62, column 7]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_15" [label="15: Destruction \n _=*&x1:break_scope::X [line 62, column 7]\n n$22=_fun_break_scope::X_~X(&x1:break_scope::X*) [line 62, column 7]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_15" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_16" [label="16: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 61, column 9]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_16" [label="16: DeclStmt \n n$23=_fun_break_scope::X_X(&x1:break_scope::X*) [line 61, column 9]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_16" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_15" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_17" [label="17: DeclStmt \n _fun_break_scope::vec_vec(&vector:break_scope::vec*) [line 58, column 7]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_17" [label="17: DeclStmt \n n$24=_fun_break_scope::vec_vec(&vector:break_scope::vec*) [line 58, column 7]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_17" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_6" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_1" [label="1: Start break_scope::test_for_range\nFormals: b:_Bool\nLocals: __end:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator __begin:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$6:break_scope::iterator 0$?%__sil_tmp__temp_return_n$11:break_scope::iterator x2:break_scope::X x:break_scope::X 0$?%__sil_tmpSIL_materialize_temp__n$16:break_scope::X __range:break_scope::vec& x1:break_scope::X vector:break_scope::vec \n DECLARE_LOCALS(&return,&__end,&0$?%__sil_tmpSIL_materialize_temp__n$2,&__begin,&0$?%__sil_tmpSIL_materialize_temp__n$6,&0$?%__sil_tmp__temp_return_n$11,&x2,&x,&0$?%__sil_tmpSIL_materialize_temp__n$16,&__range,&x1,&vector); [line 46, column 1]\n " color=yellow style=filled] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_1" [label="1: Start break_scope::test_for_range\nFormals: b:_Bool\nLocals: __end:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$4:break_scope::iterator __begin:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator 0$?%__sil_tmp__temp_return_n$17:break_scope::iterator x2:break_scope::X x:break_scope::X 0$?%__sil_tmpSIL_materialize_temp__n$26:break_scope::X __range:break_scope::vec& x1:break_scope::X vector:break_scope::vec \n DECLARE_LOCALS(&return,&__end,&0$?%__sil_tmpSIL_materialize_temp__n$4,&__begin,&0$?%__sil_tmpSIL_materialize_temp__n$10,&0$?%__sil_tmp__temp_return_n$17,&x2,&x,&0$?%__sil_tmpSIL_materialize_temp__n$26,&__range,&x1,&vector); [line 46, column 1]\n " color=yellow style=filled] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_1" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_20" ; "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_2" [label="2: Exit break_scope::test_for_range \n " color=yellow style=filled] -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 55, column 1]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 55, column 1]\n _=*&vector:break_scope::vec [line 55, column 1]\n _fun_break_scope::vec_~vec(&vector:break_scope::vec*) [line 55, column 1]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 55, column 1]\n n$1=_fun_break_scope::X_~X(&x1:break_scope::X*) [line 55, column 1]\n _=*&vector:break_scope::vec [line 55, column 1]\n n$3=_fun_break_scope::vec_~vec(&vector:break_scope::vec*) [line 55, column 1]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_2" ; @@ -153,28 +153,28 @@ digraph cfg { "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_4" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_5" [label="5: DeclStmt \n n$3=*&__range:break_scope::vec& [line 49, column 12]\n _=*n$3:break_scope::vec [line 49, column 12]\n _fun_break_scope::vec_end(n$3:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator*) [line 49, column 12]\n _fun_break_scope::iterator_iterator(&__end:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator&) [line 49, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_5" [label="5: DeclStmt \n n$5=*&__range:break_scope::vec& [line 49, column 12]\n _=*n$5:break_scope::vec [line 49, column 12]\n n$8=_fun_break_scope::vec_end(n$5:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$4:break_scope::iterator*) [line 49, column 12]\n n$9=_fun_break_scope::iterator_iterator(&__end:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$4:break_scope::iterator&) [line 49, column 12]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_5" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_4" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_6" [label="6: DeclStmt \n n$7=*&__range:break_scope::vec& [line 49, column 12]\n _=*n$7:break_scope::vec [line 49, column 12]\n _fun_break_scope::vec_begin(n$7:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$6:break_scope::iterator*) [line 49, column 12]\n _fun_break_scope::iterator_iterator(&__begin:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$6:break_scope::iterator&) [line 49, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_6" [label="6: DeclStmt \n n$11=*&__range:break_scope::vec& [line 49, column 12]\n _=*n$11:break_scope::vec [line 49, column 12]\n n$14=_fun_break_scope::vec_begin(n$11:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator*) [line 49, column 12]\n n$15=_fun_break_scope::iterator_iterator(&__begin:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator&) [line 49, column 12]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_6" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_5" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_7" [label="7: Call _fun_break_scope::iterator_operator++ \n _fun_break_scope::iterator_operator++(&__begin:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$11:break_scope::iterator*) [line 49, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_7" [label="7: Call _fun_break_scope::iterator_operator++ \n n$18=_fun_break_scope::iterator_operator++(&__begin:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$17:break_scope::iterator*) [line 49, column 12]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_7" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_4" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" [label="8: Call _fun_break_scope::iterator_operator!= \n n$12=_fun_break_scope::iterator_operator!=(&__begin:break_scope::iterator&,&__end:break_scope::iterator&) [line 49, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" [label="8: Call _fun_break_scope::iterator_operator!= \n n$19=_fun_break_scope::iterator_operator!=(&__begin:break_scope::iterator&,&__end:break_scope::iterator&) [line 49, column 12]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" ; "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$12, true); [line 49, column 12]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$19, true); [line 49, column 12]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$12, false); [line 49, column 12]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$19, false); [line 49, column 12]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" ; @@ -182,27 +182,27 @@ digraph cfg { "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_11" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_7" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" [label="12: Prune (true branch, if) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(n$13, true); [line 50, column 9]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" [label="12: Prune (true branch, if) \n n$20=*&b:_Bool [line 50, column 9]\n PRUNE(n$20, true); [line 50, column 9]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_16" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" [label="13: Prune (false branch, if) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(!n$13, false); [line 50, column 9]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" [label="13: Prune (false branch, if) \n n$20=*&b:_Bool [line 50, column 9]\n PRUNE(!n$20, false); [line 50, column 9]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_11" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_14" [label="14: Destruction \n _=*&x2:break_scope::X [line 53, column 5]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 53, column 5]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_14" [label="14: Destruction \n _=*&x2:break_scope::X [line 53, column 5]\n n$22=_fun_break_scope::X_~X(&x2:break_scope::X*) [line 53, column 5]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_14" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_11" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_15" [label="15: Destruction \n _=*&x2:break_scope::X [line 52, column 7]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 52, column 7]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_15" [label="15: Destruction \n _=*&x2:break_scope::X [line 52, column 7]\n n$24=_fun_break_scope::X_~X(&x2:break_scope::X*) [line 52, column 7]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_15" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_16" [label="16: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*,&x:break_scope::X&) [line 51, column 14]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_16" [label="16: DeclStmt \n n$25=_fun_break_scope::X_X(&x2:break_scope::X*,&x:break_scope::X&) [line 51, column 14]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_16" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_15" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" [label="17: DeclStmt \n _fun_break_scope::iterator_operator*(&__begin:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$16:break_scope::X*) [line 49, column 12]\n _fun_break_scope::X_X(&x:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$16:break_scope::X&) [line 49, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" [label="17: DeclStmt \n n$28=_fun_break_scope::iterator_operator*(&__begin:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$26:break_scope::X*) [line 49, column 12]\n n$29=_fun_break_scope::X_X(&x:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$26:break_scope::X&) [line 49, column 12]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" ; @@ -211,11 +211,11 @@ digraph cfg { "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_18" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_6" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_19" [label="19: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 48, column 5]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_19" [label="19: DeclStmt \n n$30=_fun_break_scope::X_X(&x1:break_scope::X*) [line 48, column 5]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_19" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_18" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_20" [label="20: DeclStmt \n _fun_break_scope::vec_vec(&vector:break_scope::vec*) [line 47, column 7]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_20" [label="20: DeclStmt \n n$31=_fun_break_scope::vec_vec(&vector:break_scope::vec*) [line 47, column 7]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_20" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_19" ; @@ -226,74 +226,74 @@ digraph cfg { "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_2" [label="2: Exit break_scope::test_switch \n " color=yellow style=filled] -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_3" [label="3: Destruction \n _=*&x5:break_scope::X [line 130, column 1]\n _fun_break_scope::X_~X(&x5:break_scope::X*) [line 130, column 1]\n _=*&x1:break_scope::X [line 130, column 1]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 130, column 1]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_3" [label="3: Destruction \n _=*&x5:break_scope::X [line 130, column 1]\n n$1=_fun_break_scope::X_~X(&x5:break_scope::X*) [line 130, column 1]\n _=*&x1:break_scope::X [line 130, column 1]\n n$3=_fun_break_scope::X_~X(&x1:break_scope::X*) [line 130, column 1]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_3" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_2" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" [label="4: DeclStmt \n _fun_break_scope::X_X(&x5:break_scope::X*) [line 129, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" [label="4: DeclStmt \n n$4=_fun_break_scope::X_X(&x5:break_scope::X*) [line 129, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_3" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" [label="5: Switch_stmt \n n$2=*&n:int [line 117, column 11]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" [label="5: Switch_stmt \n n$5=*&n:int [line 117, column 11]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" ; "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_6" [label="6: Destruction \n _=*&x4:break_scope::X [line 127, column 5]\n _fun_break_scope::X_~X(&x4:break_scope::X*) [line 127, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_6" [label="6: Destruction \n _=*&x4:break_scope::X [line 127, column 5]\n n$7=_fun_break_scope::X_~X(&x4:break_scope::X*) [line 127, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_6" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" [label="7: DeclStmt \n _fun_break_scope::X_X(&x4:break_scope::X*) [line 126, column 9]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" [label="7: DeclStmt \n n$8=_fun_break_scope::X_X(&x4:break_scope::X*) [line 126, column 9]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_6" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" [label="8: Prune (true branch, switch) \n PRUNE((n$2 == 3), true); [line 125, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" [label="8: Prune (true branch, switch) \n PRUNE((n$5 == 3), true); [line 125, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$2 == 3), false); [line 125, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$5 == 3), false); [line 125, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" [label="10: Destruction \n _=*&x3:break_scope::X [line 124, column 5]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 124, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" [label="10: Destruction \n _=*&x3:break_scope::X [line 124, column 5]\n n$10=_fun_break_scope::X_~X(&x3:break_scope::X*) [line 124, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" [label="11: Destruction \n _=*&x3:break_scope::X [line 123, column 7]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 123, column 7]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" [label="11: Destruction \n _=*&x3:break_scope::X [line 123, column 7]\n n$12=_fun_break_scope::X_~X(&x3:break_scope::X*) [line 123, column 7]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" [label="12: DeclStmt \n _fun_break_scope::X_X(&x3:break_scope::X*) [line 122, column 9]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" [label="12: DeclStmt \n n$13=_fun_break_scope::X_X(&x3:break_scope::X*) [line 122, column 9]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" [label="13: Prune (true branch, switch) \n PRUNE((n$2 == 2), true); [line 121, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" [label="13: Prune (true branch, switch) \n PRUNE((n$5 == 2), true); [line 121, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$2 == 2), false); [line 121, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$5 == 2), false); [line 121, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" ; "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" [label="15: Destruction \n _=*&x2:break_scope::X [line 120, column 5]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 120, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" [label="15: Destruction \n _=*&x2:break_scope::X [line 120, column 5]\n n$15=_fun_break_scope::X_~X(&x2:break_scope::X*) [line 120, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" [label="16: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 119, column 9]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" [label="16: DeclStmt \n n$16=_fun_break_scope::X_X(&x2:break_scope::X*) [line 119, column 9]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" [label="17: Prune (true branch, switch) \n PRUNE((n$2 == 1), true); [line 118, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" [label="17: Prune (true branch, switch) \n PRUNE((n$5 == 1), true); [line 118, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" [label="18: Prune (false branch, switch) \n PRUNE(!(n$2 == 1), false); [line 118, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" [label="18: Prune (false branch, switch) \n PRUNE(!(n$5 == 1), false); [line 118, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" ; "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_19" [label="19: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 116, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_19" [label="19: DeclStmt \n n$17=_fun_break_scope::X_X(&x1:break_scope::X*) [line 116, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_19" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" ; @@ -304,7 +304,7 @@ digraph cfg { "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_2" [label="2: Exit break_scope::test_while1 \n " color=yellow style=filled] -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 78, column 1]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 78, column 1]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 78, column 1]\n n$1=_fun_break_scope::X_~X(&x1:break_scope::X*) [line 78, column 1]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_2" ; @@ -313,12 +313,12 @@ digraph cfg { "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_4" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" ; "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_4" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_6" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" [label="5: Prune (true branch, while) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(n$1, true); [line 70, column 10]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" [label="5: Prune (true branch, while) \n n$2=*&a:_Bool [line 70, column 10]\n PRUNE(n$2, true); [line 70, column 10]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_8" ; "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_6" [label="6: Prune (false branch, while) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(!n$1, false); [line 70, column 10]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_6" [label="6: Prune (false branch, while) \n n$2=*&a:_Bool [line 70, column 10]\n PRUNE(!n$2, false); [line 70, column 10]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_6" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" ; @@ -326,35 +326,35 @@ digraph cfg { "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_7" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_4" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_8" [label="8: Prune (true branch, if) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(n$2, true); [line 71, column 9]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_8" [label="8: Prune (true branch, if) \n n$3=*&b:_Bool [line 71, column 9]\n PRUNE(n$3, true); [line 71, column 9]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_8" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_12" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" [label="9: Prune (false branch, if) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(!n$2, false); [line 71, column 9]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" [label="9: Prune (false branch, if) \n n$3=*&b:_Bool [line 71, column 9]\n PRUNE(!n$3, false); [line 71, column 9]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_14" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_10" [label="10: Destruction \n _=*&x2:break_scope::X [line 74, column 5]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 74, column 5]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_10" [label="10: Destruction \n _=*&x2:break_scope::X [line 74, column 5]\n n$5=_fun_break_scope::X_~X(&x2:break_scope::X*) [line 74, column 5]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_10" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_7" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_11" [label="11: Destruction \n _=*&x2:break_scope::X [line 73, column 7]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 73, column 7]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_11" [label="11: Destruction \n _=*&x2:break_scope::X [line 73, column 7]\n n$7=_fun_break_scope::X_~X(&x2:break_scope::X*) [line 73, column 7]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_11" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_12" [label="12: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 72, column 9]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_12" [label="12: DeclStmt \n n$8=_fun_break_scope::X_X(&x2:break_scope::X*) [line 72, column 9]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_12" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_11" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_13" [label="13: Destruction \n _=*&x4:break_scope::X [line 76, column 5]\n _fun_break_scope::X_~X(&x4:break_scope::X*) [line 76, column 5]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_13" [label="13: Destruction \n _=*&x4:break_scope::X [line 76, column 5]\n n$10=_fun_break_scope::X_~X(&x4:break_scope::X*) [line 76, column 5]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_13" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_7" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_14" [label="14: DeclStmt \n _fun_break_scope::X_X(&x4:break_scope::X*) [line 75, column 9]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_14" [label="14: DeclStmt \n n$11=_fun_break_scope::X_X(&x4:break_scope::X*) [line 75, column 9]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_14" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_13" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_15" [label="15: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 69, column 5]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_15" [label="15: DeclStmt \n n$12=_fun_break_scope::X_X(&x1:break_scope::X*) [line 69, column 5]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_15" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_4" ; @@ -365,7 +365,7 @@ digraph cfg { "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_2" [label="2: Exit break_scope::test_while2 \n " color=yellow style=filled] -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 102, column 1]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 102, column 1]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 102, column 1]\n n$1=_fun_break_scope::X_~X(&x1:break_scope::X*) [line 102, column 1]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_3" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_2" ; @@ -374,15 +374,15 @@ digraph cfg { "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_4" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_5" ; "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_4" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_5" [label="5: Prune (true branch, while) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(n$1, true); [line 95, column 10]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_5" [label="5: Prune (true branch, while) \n n$2=*&a:_Bool [line 95, column 10]\n PRUNE(n$2, true); [line 95, column 10]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_5" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_14" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" [label="6: Prune (false branch, while) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(!n$1, false); [line 95, column 10]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" [label="6: Prune (false branch, while) \n n$2=*&a:_Bool [line 95, column 10]\n PRUNE(!n$2, false); [line 95, column 10]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_3" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" [label="7: Destruction \n _=*&x2:break_scope::X [line 101, column 3]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 101, column 3]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" [label="7: Destruction \n _=*&x2:break_scope::X [line 101, column 3]\n n$4=_fun_break_scope::X_~X(&x2:break_scope::X*) [line 101, column 3]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_4" ; @@ -391,31 +391,31 @@ digraph cfg { "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_8" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_9" ; "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_8" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_9" [label="9: Prune (true branch, while) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(n$3, true); [line 97, column 12]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_9" [label="9: Prune (true branch, while) \n n$5=*&b:_Bool [line 97, column 12]\n PRUNE(n$5, true); [line 97, column 12]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_9" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_13" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" [label="10: Prune (false branch, while) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(!n$3, false); [line 97, column 12]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" [label="10: Prune (false branch, while) \n n$5=*&b:_Bool [line 97, column 12]\n PRUNE(!n$5, false); [line 97, column 12]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_11" [label="11: Destruction \n _=*&x3:break_scope::X [line 100, column 5]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 100, column 5]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_11" [label="11: Destruction \n _=*&x3:break_scope::X [line 100, column 5]\n n$7=_fun_break_scope::X_~X(&x3:break_scope::X*) [line 100, column 5]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_11" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_8" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_12" [label="12: Destruction \n _=*&x3:break_scope::X [line 99, column 7]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 99, column 7]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_12" [label="12: Destruction \n _=*&x3:break_scope::X [line 99, column 7]\n n$9=_fun_break_scope::X_~X(&x3:break_scope::X*) [line 99, column 7]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_12" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_13" [label="13: DeclStmt \n _fun_break_scope::X_X(&x3:break_scope::X*) [line 98, column 9]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_13" [label="13: DeclStmt \n n$10=_fun_break_scope::X_X(&x3:break_scope::X*) [line 98, column 9]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_13" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_12" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_14" [label="14: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 96, column 7]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_14" [label="14: DeclStmt \n n$11=_fun_break_scope::X_X(&x2:break_scope::X*) [line 96, column 7]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_14" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_8" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_15" [label="15: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 94, column 5]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_15" [label="15: DeclStmt \n n$12=_fun_break_scope::X_X(&x1:break_scope::X*) [line 94, column 5]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_15" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_4" ; @@ -426,11 +426,11 @@ digraph cfg { "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_2" [label="2: Exit break_scope::test_while3 \n " color=yellow style=filled] -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_3" [label="3: Destruction \n _=*&x3:break_scope::X [line 113, column 1]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 113, column 1]\n _=*&x1:break_scope::X [line 113, column 1]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 113, column 1]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_3" [label="3: Destruction \n _=*&x3:break_scope::X [line 113, column 1]\n n$1=_fun_break_scope::X_~X(&x3:break_scope::X*) [line 113, column 1]\n _=*&x1:break_scope::X [line 113, column 1]\n n$3=_fun_break_scope::X_~X(&x1:break_scope::X*) [line 113, column 1]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_3" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_2" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_4" [label="4: DeclStmt \n _fun_break_scope::X_X(&x3:break_scope::X*) [line 112, column 5]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_4" [label="4: DeclStmt \n n$4=_fun_break_scope::X_X(&x3:break_scope::X*) [line 112, column 5]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_4" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_3" ; @@ -439,15 +439,15 @@ digraph cfg { "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_5" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_6" ; "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_5" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_6" [label="6: Prune (true branch, while) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(n$2, true); [line 106, column 10]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_6" [label="6: Prune (true branch, while) \n n$5=*&a:_Bool [line 106, column 10]\n PRUNE(n$5, true); [line 106, column 10]\n " shape="invhouse"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_6" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_12" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" [label="7: Prune (false branch, while) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(!n$2, false); [line 106, column 10]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" [label="7: Prune (false branch, while) \n n$5=*&a:_Bool [line 106, column 10]\n PRUNE(!n$5, false); [line 106, column 10]\n " shape="invhouse"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_4" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" [label="8: Destruction \n _=*&x2:break_scope::X [line 111, column 3]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 111, column 3]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" [label="8: Destruction \n _=*&x2:break_scope::X [line 111, column 3]\n n$7=_fun_break_scope::X_~X(&x2:break_scope::X*) [line 111, column 3]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_5" ; @@ -456,19 +456,19 @@ digraph cfg { "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_9" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_10" ; "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_9" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_10" [label="10: Prune (true branch, while) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(n$4, true); [line 108, column 12]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_10" [label="10: Prune (true branch, while) \n n$8=*&b:_Bool [line 108, column 12]\n PRUNE(n$8, true); [line 108, column 12]\n " shape="invhouse"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_10" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" [label="11: Prune (false branch, while) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(!n$4, false); [line 108, column 12]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" [label="11: Prune (false branch, while) \n n$8=*&b:_Bool [line 108, column 12]\n PRUNE(!n$8, false); [line 108, column 12]\n " shape="invhouse"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_12" [label="12: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 107, column 7]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_12" [label="12: DeclStmt \n n$9=_fun_break_scope::X_X(&x2:break_scope::X*) [line 107, column 7]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_12" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_9" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_13" [label="13: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 105, column 5]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_13" [label="13: DeclStmt \n n$10=_fun_break_scope::X_X(&x1:break_scope::X*) [line 105, column 5]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_13" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_5" ; @@ -507,7 +507,7 @@ digraph cfg { "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_2" [label="2: Exit break_scope::vec_begin \n " color=yellow style=filled] -"begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 36, column 22]\n n$2=*&this:break_scope::vec* [line 36, column 38]\n _fun_break_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$2:break_scope::vec*,0:int) [line 36, column 29]\n _fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 36, column 29]\n " shape="box"] +"begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 36, column 22]\n n$2=*&this:break_scope::vec* [line 36, column 38]\n n$3=_fun_break_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$2:break_scope::vec*,0:int) [line 36, column 29]\n n$4=_fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 36, column 29]\n " shape="box"] "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_3" -> "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_2" ; @@ -518,7 +518,7 @@ digraph cfg { "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_2" [label="2: Exit break_scope::vec_end \n " color=yellow style=filled] -"end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 37, column 20]\n n$2=*&this:break_scope::vec* [line 37, column 36]\n _fun_break_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$2:break_scope::vec*,10:int) [line 37, column 27]\n _fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 37, column 27]\n " shape="box"] +"end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 37, column 20]\n n$2=*&this:break_scope::vec* [line 37, column 36]\n n$3=_fun_break_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$2:break_scope::vec*,10:int) [line 37, column 27]\n n$4=_fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 37, column 27]\n " shape="box"] "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_3" -> "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_2" ; @@ -529,7 +529,7 @@ digraph cfg { "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_2" [label="2: Exit break_scope::vec_get \n " color=yellow style=filled] -"get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 39, column 26]\n n$1=*&this:break_scope::vec const * [line 39, column 33]\n n$2=*&pos:int [line 39, column 39]\n _fun_break_scope::X_X(n$0:break_scope::X*,n$1._data[n$2]:break_scope::X const &) [line 39, column 33]\n " shape="box"] +"get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 39, column 26]\n n$1=*&this:break_scope::vec const * [line 39, column 33]\n n$2=*&pos:int [line 39, column 39]\n n$3=_fun_break_scope::X_X(n$0:break_scope::X*,n$1._data[n$2]:break_scope::X const &) [line 39, column 33]\n " shape="box"] "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_3" -> "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_2" ; @@ -621,7 +621,7 @@ digraph cfg { "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_2" [label="2: Exit break_scope::iterator_operator* \n " color=yellow style=filled] -"operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 44, column 33]\n n$2=*&this:break_scope::iterator const * [line 44, column 40]\n n$3=*n$2.vector:break_scope::vec const * [line 44, column 40]\n _=*n$3:break_scope::vec const [line 44, column 40]\n n$5=*&this:break_scope::iterator const * [line 44, column 52]\n n$6=*n$5.position:int [line 44, column 52]\n _fun_break_scope::vec_get(n$3:break_scope::vec const *,n$6:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X*) [line 44, column 40]\n _fun_break_scope::X_X(n$0:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X&) [line 44, column 40]\n " shape="box"] +"operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 44, column 33]\n n$2=*&this:break_scope::iterator const * [line 44, column 40]\n n$3=*n$2.vector:break_scope::vec const * [line 44, column 40]\n _=*n$3:break_scope::vec const [line 44, column 40]\n n$5=*&this:break_scope::iterator const * [line 44, column 52]\n n$6=*n$5.position:int [line 44, column 52]\n n$8=_fun_break_scope::vec_get(n$3:break_scope::vec const *,n$6:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X*) [line 44, column 40]\n n$9=_fun_break_scope::X_X(n$0:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X&) [line 44, column 40]\n " shape="box"] "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_3" -> "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_2" ; @@ -632,11 +632,11 @@ digraph cfg { "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_2" [label="2: Exit break_scope::iterator_operator++ \n " color=yellow style=filled] -"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 26, column 5]\n n$1=*&this:break_scope::iterator* [line 26, column 13]\n _fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,n$1:break_scope::iterator&) [line 26, column 12]\n " shape="box"] +"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 26, column 5]\n n$1=*&this:break_scope::iterator* [line 26, column 13]\n n$2=_fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,n$1:break_scope::iterator&) [line 26, column 12]\n " shape="box"] "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_3" -> "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_2" ; -"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_4" [label="4: UnaryOperator \n n$2=*&this:break_scope::iterator* [line 25, column 5]\n n$3=*n$2.position:int [line 25, column 5]\n *n$2.position:int=(n$3 + 1) [line 25, column 5]\n " shape="box"] +"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_4" [label="4: UnaryOperator \n n$3=*&this:break_scope::iterator* [line 25, column 5]\n n$4=*n$3.position:int [line 25, column 5]\n *n$3.position:int=(n$4 + 1) [line 25, column 5]\n " shape="box"] "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_4" -> "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_3" ; @@ -647,7 +647,7 @@ digraph cfg { "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_2" [label="2: Exit break_scope::vec_vec \n " color=yellow style=filled] -"vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" [label="3: Constructor Init \n n$0=*&this:break_scope::vec* [line 35, column 3]\n _fun_break_scope::X_X(n$0._data:break_scope::X[10*1](*)) [line 35, column 3]\n " shape="box"] +"vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" [label="3: Constructor Init \n n$0=*&this:break_scope::vec* [line 35, column 3]\n n$1=_fun_break_scope::X_X(n$0._data:break_scope::X[10*1](*)) [line 35, column 3]\n " shape="box"] "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" -> "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_2" ; @@ -658,7 +658,7 @@ digraph cfg { "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_2" [label="2: Exit break_scope::X_~X \n " color=yellow style=filled] -"~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" [label="3: Destruction \n n$0=*&this:break_scope::X* [line 12, column 9]\n _=*n$0:break_scope::X [line 12, column 9]\n _fun_break_scope::X___infer_inner_destructor_~X(n$0:break_scope::X*) [line 12, column 9]\n " shape="box"] +"~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" [label="3: Destruction \n n$0=*&this:break_scope::X* [line 12, column 9]\n _=*n$0:break_scope::X [line 12, column 9]\n n$2=_fun_break_scope::X___infer_inner_destructor_~X(n$0:break_scope::X*) [line 12, column 9]\n " shape="box"] "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" -> "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_2" ; @@ -669,7 +669,7 @@ digraph cfg { "~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_2" [label="2: Exit break_scope::vec_~vec \n " color=yellow style=filled] -"~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_3" [label="3: Destruction \n n$0=*&this:break_scope::vec* [line 34, column 8]\n _=*n$0:break_scope::vec [line 34, column 8]\n _fun_break_scope::vec___infer_inner_destructor_~vec(n$0:break_scope::vec*) [line 34, column 8]\n " shape="box"] +"~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_3" [label="3: Destruction \n n$0=*&this:break_scope::vec* [line 34, column 8]\n _=*n$0:break_scope::vec [line 34, column 8]\n n$2=_fun_break_scope::vec___infer_inner_destructor_~vec(n$0:break_scope::vec*) [line 34, column 8]\n " shape="box"] "~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_3" -> "~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot index 06ab35074..58dbbfb0d 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "f#3072121847520995784.879d673a5bab84df6d2f71ce7f834b14_2" [label="2: Exit f \n " color=yellow style=filled] -"f#3072121847520995784.879d673a5bab84df6d2f71ce7f834b14_3" [label="3: Call _fun_Person_~Person \n n$0=*&p:Person* [line 15, column 21]\n _=*n$0:Person [line 15, column 21]\n _fun_Person_~Person(n$0:Person*) [line 15, column 21]\n " shape="box"] +"f#3072121847520995784.879d673a5bab84df6d2f71ce7f834b14_3" [label="3: Call _fun_Person_~Person \n n$0=*&p:Person* [line 15, column 21]\n _=*n$0:Person [line 15, column 21]\n n$2=_fun_Person_~Person(n$0:Person*) [line 15, column 21]\n " shape="box"] "f#3072121847520995784.879d673a5bab84df6d2f71ce7f834b14_3" -> "f#3072121847520995784.879d673a5bab84df6d2f71ce7f834b14_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot index 70d1e284c..93bb05f1e 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "deleteInt#11507157942721721842.63c462d9916f225a70cc32ed39aaaf5f_2" [label="2: Exit deleteInt \n " color=yellow style=filled] -"deleteInt#11507157942721721842.63c462d9916f225a70cc32ed39aaaf5f_3" [label="3: Call delete \n n$0=*&x:int* [line 16, column 33]\n _fun___delete(n$0:int*) [line 16, column 26]\n " shape="box"] +"deleteInt#11507157942721721842.63c462d9916f225a70cc32ed39aaaf5f_3" [label="3: Call delete \n n$0=*&x:int* [line 16, column 33]\n n$1=_fun___delete(n$0:int*) [line 16, column 26]\n " shape="box"] "deleteInt#11507157942721721842.63c462d9916f225a70cc32ed39aaaf5f_3" -> "deleteInt#11507157942721721842.63c462d9916f225a70cc32ed39aaaf5f_2" ; @@ -18,7 +18,7 @@ digraph cfg { "deleteX#8359832236310221055.8e97d527465f9865245eba503777c9c7_2" [label="2: Exit deleteX \n " color=yellow style=filled] -"deleteX#8359832236310221055.8e97d527465f9865245eba503777c9c7_3" [label="3: Call delete \n n$0=*&x:X* [line 14, column 29]\n _fun___delete(n$0:X*) [line 14, column 22]\n " shape="box"] +"deleteX#8359832236310221055.8e97d527465f9865245eba503777c9c7_3" [label="3: Call delete \n n$0=*&x:X* [line 14, column 29]\n n$1=_fun___delete(n$0:X*) [line 14, column 22]\n " shape="box"] "deleteX#8359832236310221055.8e97d527465f9865245eba503777c9c7_3" -> "deleteX#8359832236310221055.8e97d527465f9865245eba503777c9c7_2" ; @@ -36,7 +36,7 @@ digraph cfg { "~X#X#(9850251229546392500).92228f0925803df4b24e5d788ad29673_2" [label="2: Exit X_~X \n " color=yellow style=filled] -"~X#X#(9850251229546392500).92228f0925803df4b24e5d788ad29673_3" [label="3: Destruction \n n$0=*&this:X* [line 11, column 9]\n _=*n$0:X [line 11, column 9]\n _fun_X___infer_inner_destructor_~X(n$0:X*) [line 11, column 9]\n " shape="box"] +"~X#X#(9850251229546392500).92228f0925803df4b24e5d788ad29673_3" [label="3: Destruction \n n$0=*&this:X* [line 11, column 9]\n _=*n$0:X [line 11, column 9]\n n$2=_fun_X___infer_inner_destructor_~X(n$0:X*) [line 11, column 9]\n " shape="box"] "~X#X#(9850251229546392500).92228f0925803df4b24e5d788ad29673_3" -> "~X#X#(9850251229546392500).92228f0925803df4b24e5d788ad29673_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot index b85099257..72b12f10b 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_2" [label="2: Exit continue_scope::test_do_while \n " color=yellow style=filled] -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_3" [label="3: Destruction \n _=*&x1:continue_scope::X [line 91, column 1]\n _fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 91, column 1]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_3" [label="3: Destruction \n _=*&x1:continue_scope::X [line 91, column 1]\n n$1=_fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 91, column 1]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_3" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_2" ; @@ -15,15 +15,15 @@ digraph cfg { "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_4" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" [label="5: Prune (true branch, do while) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(n$1, true); [line 90, column 12]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" [label="5: Prune (true branch, do while) \n n$2=*&a:_Bool [line 90, column 12]\n PRUNE(n$2, true); [line 90, column 12]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_4" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_6" [label="6: Prune (false branch, do while) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(!n$1, false); [line 90, column 12]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_6" [label="6: Prune (false branch, do while) \n n$2=*&a:_Bool [line 90, column 12]\n PRUNE(!n$2, false); [line 90, column 12]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_6" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_3" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_7" [label="7: Destruction \n _=*&x2:continue_scope::X [line 90, column 3]\n _fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 90, column 3]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_7" [label="7: Destruction \n _=*&x2:continue_scope::X [line 90, column 3]\n n$4=_fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 90, column 3]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_7" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" ; @@ -32,56 +32,56 @@ digraph cfg { "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_8" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_7" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_9" [label="9: Prune (true branch, if) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(n$3, true); [line 84, column 9]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_9" [label="9: Prune (true branch, if) \n n$5=*&b:_Bool [line 84, column 9]\n PRUNE(n$5, true); [line 84, column 9]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_9" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_13" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" [label="10: Prune (false branch, if) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(!n$3, false); [line 84, column 9]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" [label="10: Prune (false branch, if) \n n$5=*&b:_Bool [line 84, column 9]\n PRUNE(!n$5, false); [line 84, column 9]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_11" [label="11: Destruction \n _=*&x3:continue_scope::X [line 87, column 5]\n _fun_continue_scope::X_~X(&x3:continue_scope::X*) [line 87, column 5]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_11" [label="11: Destruction \n _=*&x3:continue_scope::X [line 87, column 5]\n n$7=_fun_continue_scope::X_~X(&x3:continue_scope::X*) [line 87, column 5]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_11" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_8" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_12" [label="12: Destruction \n _=*&x3:continue_scope::X [line 86, column 7]\n _fun_continue_scope::X_~X(&x3:continue_scope::X*) [line 86, column 7]\n _=*&x2:continue_scope::X [line 86, column 7]\n _fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 86, column 7]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_12" [label="12: Destruction \n _=*&x3:continue_scope::X [line 86, column 7]\n n$9=_fun_continue_scope::X_~X(&x3:continue_scope::X*) [line 86, column 7]\n _=*&x2:continue_scope::X [line 86, column 7]\n n$11=_fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 86, column 7]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_12" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" ; "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_12" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_6" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_13" [label="13: DeclStmt \n _fun_continue_scope::X_X(&x3:continue_scope::X*) [line 85, column 9]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_13" [label="13: DeclStmt \n n$12=_fun_continue_scope::X_X(&x3:continue_scope::X*) [line 85, column 9]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_13" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_12" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_14" [label="14: Destruction \n _=*&x4:continue_scope::X [line 89, column 5]\n _fun_continue_scope::X_~X(&x4:continue_scope::X*) [line 89, column 5]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_14" [label="14: Destruction \n _=*&x4:continue_scope::X [line 89, column 5]\n n$14=_fun_continue_scope::X_~X(&x4:continue_scope::X*) [line 89, column 5]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_14" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_8" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" [label="15: DeclStmt \n _fun_continue_scope::X_X(&x4:continue_scope::X*) [line 88, column 9]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" [label="15: DeclStmt \n n$15=_fun_continue_scope::X_X(&x4:continue_scope::X*) [line 88, column 9]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_14" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" [label="16: DeclStmt \n _fun_continue_scope::X_X(&x2:continue_scope::X*) [line 83, column 7]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" [label="16: DeclStmt \n n$16=_fun_continue_scope::X_X(&x2:continue_scope::X*) [line 83, column 7]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_9" ; "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_17" [label="17: DeclStmt \n _fun_continue_scope::X_X(&x1:continue_scope::X*) [line 81, column 5]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_17" [label="17: DeclStmt \n n$17=_fun_continue_scope::X_X(&x1:continue_scope::X*) [line 81, column 5]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_17" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_4" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_1" [label="1: Start continue_scope::test_for\nFormals: b:_Bool\nLocals: x2:continue_scope::X it:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$2:continue_scope::iterator 0$?%__sil_tmp__temp_return_n$6:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator x1:continue_scope::X vector:continue_scope::vec \n DECLARE_LOCALS(&return,&x2,&it,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmp__temp_return_n$6,&0$?%__sil_tmpSIL_materialize_temp__n$7,&x1,&vector); [line 57, column 1]\n " color=yellow style=filled] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_1" [label="1: Start continue_scope::test_for\nFormals: b:_Bool\nLocals: x2:continue_scope::X it:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$5:continue_scope::iterator 0$?%__sil_tmp__temp_return_n$11:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$13:continue_scope::iterator x1:continue_scope::X vector:continue_scope::vec \n DECLARE_LOCALS(&return,&x2,&it,&0$?%__sil_tmpSIL_materialize_temp__n$5,&0$?%__sil_tmp__temp_return_n$11,&0$?%__sil_tmpSIL_materialize_temp__n$13,&x1,&vector); [line 57, column 1]\n " color=yellow style=filled] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_1" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_17" ; "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_2" [label="2: Exit continue_scope::test_for \n " color=yellow style=filled] -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_3" [label="3: Destruction \n _=*&x2:continue_scope::X [line 66, column 1]\n _fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 66, column 1]\n _=*&vector:continue_scope::vec [line 66, column 1]\n _fun_continue_scope::vec_~vec(&vector:continue_scope::vec*) [line 66, column 1]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_3" [label="3: Destruction \n _=*&x2:continue_scope::X [line 66, column 1]\n n$1=_fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 66, column 1]\n _=*&vector:continue_scope::vec [line 66, column 1]\n n$3=_fun_continue_scope::vec_~vec(&vector:continue_scope::vec*) [line 66, column 1]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_3" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_2" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" [label="4: DeclStmt \n _fun_continue_scope::X_X(&x2:continue_scope::X*) [line 65, column 5]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" [label="4: DeclStmt \n n$4=_fun_continue_scope::X_X(&x2:continue_scope::X*) [line 65, column 5]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_3" ; @@ -89,25 +89,25 @@ digraph cfg { "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_5" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_6" [label="6: DeclStmt \n _=*&vector:continue_scope::vec [line 59, column 22]\n _fun_continue_scope::vec_begin(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$2:continue_scope::iterator*) [line 59, column 22]\n _fun_continue_scope::iterator_iterator(&it:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$2:continue_scope::iterator&) [line 59, column 22]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_6" [label="6: DeclStmt \n _=*&vector:continue_scope::vec [line 59, column 22]\n n$8=_fun_continue_scope::vec_begin(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$5:continue_scope::iterator*) [line 59, column 22]\n n$9=_fun_continue_scope::iterator_iterator(&it:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$5:continue_scope::iterator&) [line 59, column 22]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_6" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_5" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" [label="7: Call _fun_continue_scope::iterator_operator++ \n _fun_continue_scope::iterator_operator++(&it:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$6:continue_scope::iterator*) [line 59, column 58]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" [label="7: Call _fun_continue_scope::iterator_operator++ \n n$12=_fun_continue_scope::iterator_operator++(&it:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$11:continue_scope::iterator*) [line 59, column 58]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_5" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" [label="8: Call _fun_continue_scope::iterator_operator!= \n _=*&vector:continue_scope::vec [line 59, column 44]\n _fun_continue_scope::vec_end(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator*) [line 59, column 44]\n n$10=_fun_continue_scope::iterator_operator!=(&it:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator&) [line 59, column 38]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" [label="8: Call _fun_continue_scope::iterator_operator!= \n _=*&vector:continue_scope::vec [line 59, column 44]\n n$16=_fun_continue_scope::vec_end(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$13:continue_scope::iterator*) [line 59, column 44]\n n$17=_fun_continue_scope::iterator_operator!=(&it:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$13:continue_scope::iterator&) [line 59, column 38]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" ; "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$10, true); [line 59, column 38]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$17, true); [line 59, column 38]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" ; "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$10, false); [line 59, column 38]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$17, false); [line 59, column 38]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" ; @@ -115,38 +115,38 @@ digraph cfg { "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_11" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" [label="12: Prune (true branch, if) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(n$11, true); [line 60, column 9]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" [label="12: Prune (true branch, if) \n n$18=*&b:_Bool [line 60, column 9]\n PRUNE(n$18, true); [line 60, column 9]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_16" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" [label="13: Prune (false branch, if) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(!n$11, false); [line 60, column 9]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" [label="13: Prune (false branch, if) \n n$18=*&b:_Bool [line 60, column 9]\n PRUNE(!n$18, false); [line 60, column 9]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_11" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_14" [label="14: Destruction \n _=*&x1:continue_scope::X [line 63, column 5]\n _fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 63, column 5]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_14" [label="14: Destruction \n _=*&x1:continue_scope::X [line 63, column 5]\n n$20=_fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 63, column 5]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_14" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_11" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_15" [label="15: Destruction \n _=*&x1:continue_scope::X [line 62, column 7]\n _fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 62, column 7]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_15" [label="15: Destruction \n _=*&x1:continue_scope::X [line 62, column 7]\n n$22=_fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 62, column 7]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_15" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_16" [label="16: DeclStmt \n _fun_continue_scope::X_X(&x1:continue_scope::X*) [line 61, column 9]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_16" [label="16: DeclStmt \n n$23=_fun_continue_scope::X_X(&x1:continue_scope::X*) [line 61, column 9]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_16" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_15" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_17" [label="17: DeclStmt \n _fun_continue_scope::vec_vec(&vector:continue_scope::vec*) [line 58, column 7]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_17" [label="17: DeclStmt \n n$24=_fun_continue_scope::vec_vec(&vector:continue_scope::vec*) [line 58, column 7]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_17" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_6" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_1" [label="1: Start continue_scope::test_for_range\nFormals: b:_Bool\nLocals: __end:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$2:continue_scope::iterator __begin:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$6:continue_scope::iterator 0$?%__sil_tmp__temp_return_n$11:continue_scope::iterator x2:continue_scope::X x:continue_scope::X 0$?%__sil_tmpSIL_materialize_temp__n$16:continue_scope::X __range:continue_scope::vec& x1:continue_scope::X vector:continue_scope::vec \n DECLARE_LOCALS(&return,&__end,&0$?%__sil_tmpSIL_materialize_temp__n$2,&__begin,&0$?%__sil_tmpSIL_materialize_temp__n$6,&0$?%__sil_tmp__temp_return_n$11,&x2,&x,&0$?%__sil_tmpSIL_materialize_temp__n$16,&__range,&x1,&vector); [line 46, column 1]\n " color=yellow style=filled] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_1" [label="1: Start continue_scope::test_for_range\nFormals: b:_Bool\nLocals: __end:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$4:continue_scope::iterator __begin:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator 0$?%__sil_tmp__temp_return_n$17:continue_scope::iterator x2:continue_scope::X x:continue_scope::X 0$?%__sil_tmpSIL_materialize_temp__n$26:continue_scope::X __range:continue_scope::vec& x1:continue_scope::X vector:continue_scope::vec \n DECLARE_LOCALS(&return,&__end,&0$?%__sil_tmpSIL_materialize_temp__n$4,&__begin,&0$?%__sil_tmpSIL_materialize_temp__n$10,&0$?%__sil_tmp__temp_return_n$17,&x2,&x,&0$?%__sil_tmpSIL_materialize_temp__n$26,&__range,&x1,&vector); [line 46, column 1]\n " color=yellow style=filled] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_1" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_20" ; "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_2" [label="2: Exit continue_scope::test_for_range \n " color=yellow style=filled] -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" [label="3: Destruction \n _=*&x1:continue_scope::X [line 55, column 1]\n _fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 55, column 1]\n _=*&vector:continue_scope::vec [line 55, column 1]\n _fun_continue_scope::vec_~vec(&vector:continue_scope::vec*) [line 55, column 1]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" [label="3: Destruction \n _=*&x1:continue_scope::X [line 55, column 1]\n n$1=_fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 55, column 1]\n _=*&vector:continue_scope::vec [line 55, column 1]\n n$3=_fun_continue_scope::vec_~vec(&vector:continue_scope::vec*) [line 55, column 1]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_2" ; @@ -154,28 +154,28 @@ digraph cfg { "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_4" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_5" [label="5: DeclStmt \n n$3=*&__range:continue_scope::vec& [line 49, column 12]\n _=*n$3:continue_scope::vec [line 49, column 12]\n _fun_continue_scope::vec_end(n$3:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$2:continue_scope::iterator*) [line 49, column 12]\n _fun_continue_scope::iterator_iterator(&__end:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$2:continue_scope::iterator&) [line 49, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_5" [label="5: DeclStmt \n n$5=*&__range:continue_scope::vec& [line 49, column 12]\n _=*n$5:continue_scope::vec [line 49, column 12]\n n$8=_fun_continue_scope::vec_end(n$5:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$4:continue_scope::iterator*) [line 49, column 12]\n n$9=_fun_continue_scope::iterator_iterator(&__end:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$4:continue_scope::iterator&) [line 49, column 12]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_5" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_4" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_6" [label="6: DeclStmt \n n$7=*&__range:continue_scope::vec& [line 49, column 12]\n _=*n$7:continue_scope::vec [line 49, column 12]\n _fun_continue_scope::vec_begin(n$7:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$6:continue_scope::iterator*) [line 49, column 12]\n _fun_continue_scope::iterator_iterator(&__begin:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$6:continue_scope::iterator&) [line 49, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_6" [label="6: DeclStmt \n n$11=*&__range:continue_scope::vec& [line 49, column 12]\n _=*n$11:continue_scope::vec [line 49, column 12]\n n$14=_fun_continue_scope::vec_begin(n$11:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator*) [line 49, column 12]\n n$15=_fun_continue_scope::iterator_iterator(&__begin:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator&) [line 49, column 12]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_6" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_5" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" [label="7: Call _fun_continue_scope::iterator_operator++ \n _fun_continue_scope::iterator_operator++(&__begin:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$11:continue_scope::iterator*) [line 49, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" [label="7: Call _fun_continue_scope::iterator_operator++ \n n$18=_fun_continue_scope::iterator_operator++(&__begin:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$17:continue_scope::iterator*) [line 49, column 12]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_4" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" [label="8: Call _fun_continue_scope::iterator_operator!= \n n$12=_fun_continue_scope::iterator_operator!=(&__begin:continue_scope::iterator&,&__end:continue_scope::iterator&) [line 49, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" [label="8: Call _fun_continue_scope::iterator_operator!= \n n$19=_fun_continue_scope::iterator_operator!=(&__begin:continue_scope::iterator&,&__end:continue_scope::iterator&) [line 49, column 12]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" ; "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$12, true); [line 49, column 12]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$19, true); [line 49, column 12]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$12, false); [line 49, column 12]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$19, false); [line 49, column 12]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" ; @@ -183,27 +183,27 @@ digraph cfg { "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_11" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" [label="12: Prune (true branch, if) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(n$13, true); [line 50, column 9]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" [label="12: Prune (true branch, if) \n n$20=*&b:_Bool [line 50, column 9]\n PRUNE(n$20, true); [line 50, column 9]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_16" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" [label="13: Prune (false branch, if) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(!n$13, false); [line 50, column 9]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" [label="13: Prune (false branch, if) \n n$20=*&b:_Bool [line 50, column 9]\n PRUNE(!n$20, false); [line 50, column 9]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_11" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_14" [label="14: Destruction \n _=*&x2:continue_scope::X [line 53, column 5]\n _fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 53, column 5]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_14" [label="14: Destruction \n _=*&x2:continue_scope::X [line 53, column 5]\n n$22=_fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 53, column 5]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_14" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_11" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_15" [label="15: Destruction \n _=*&x2:continue_scope::X [line 52, column 7]\n _fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 52, column 7]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_15" [label="15: Destruction \n _=*&x2:continue_scope::X [line 52, column 7]\n n$24=_fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 52, column 7]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_15" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_16" [label="16: DeclStmt \n _fun_continue_scope::X_X(&x2:continue_scope::X*,&x:continue_scope::X&) [line 51, column 14]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_16" [label="16: DeclStmt \n n$25=_fun_continue_scope::X_X(&x2:continue_scope::X*,&x:continue_scope::X&) [line 51, column 14]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_16" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_15" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" [label="17: DeclStmt \n _fun_continue_scope::iterator_operator*(&__begin:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$16:continue_scope::X*) [line 49, column 12]\n _fun_continue_scope::X_X(&x:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$16:continue_scope::X&) [line 49, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" [label="17: DeclStmt \n n$28=_fun_continue_scope::iterator_operator*(&__begin:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$26:continue_scope::X*) [line 49, column 12]\n n$29=_fun_continue_scope::X_X(&x:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$26:continue_scope::X&) [line 49, column 12]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" ; @@ -212,11 +212,11 @@ digraph cfg { "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_18" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_6" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_19" [label="19: DeclStmt \n _fun_continue_scope::X_X(&x1:continue_scope::X*) [line 48, column 5]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_19" [label="19: DeclStmt \n n$30=_fun_continue_scope::X_X(&x1:continue_scope::X*) [line 48, column 5]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_19" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_18" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_20" [label="20: DeclStmt \n _fun_continue_scope::vec_vec(&vector:continue_scope::vec*) [line 47, column 7]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_20" [label="20: DeclStmt \n n$31=_fun_continue_scope::vec_vec(&vector:continue_scope::vec*) [line 47, column 7]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_20" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_19" ; @@ -227,7 +227,7 @@ digraph cfg { "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_2" [label="2: Exit continue_scope::test_while1 \n " color=yellow style=filled] -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_3" [label="3: Destruction \n _=*&x1:continue_scope::X [line 78, column 1]\n _fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 78, column 1]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_3" [label="3: Destruction \n _=*&x1:continue_scope::X [line 78, column 1]\n n$1=_fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 78, column 1]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_3" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_2" ; @@ -236,12 +236,12 @@ digraph cfg { "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" ; "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_6" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" [label="5: Prune (true branch, while) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(n$1, true); [line 70, column 10]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" [label="5: Prune (true branch, while) \n n$2=*&a:_Bool [line 70, column 10]\n PRUNE(n$2, true); [line 70, column 10]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_8" ; "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_6" [label="6: Prune (false branch, while) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(!n$1, false); [line 70, column 10]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_6" [label="6: Prune (false branch, while) \n n$2=*&a:_Bool [line 70, column 10]\n PRUNE(!n$2, false); [line 70, column 10]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_6" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_3" ; @@ -249,35 +249,35 @@ digraph cfg { "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_7" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_8" [label="8: Prune (true branch, if) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(n$2, true); [line 71, column 9]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_8" [label="8: Prune (true branch, if) \n n$3=*&b:_Bool [line 71, column 9]\n PRUNE(n$3, true); [line 71, column 9]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_8" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_12" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" [label="9: Prune (false branch, if) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(!n$2, false); [line 71, column 9]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" [label="9: Prune (false branch, if) \n n$3=*&b:_Bool [line 71, column 9]\n PRUNE(!n$3, false); [line 71, column 9]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_14" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_10" [label="10: Destruction \n _=*&x2:continue_scope::X [line 74, column 5]\n _fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 74, column 5]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_10" [label="10: Destruction \n _=*&x2:continue_scope::X [line 74, column 5]\n n$5=_fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 74, column 5]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_10" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_7" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_11" [label="11: Destruction \n _=*&x2:continue_scope::X [line 73, column 7]\n _fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 73, column 7]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_11" [label="11: Destruction \n _=*&x2:continue_scope::X [line 73, column 7]\n n$7=_fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 73, column 7]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_11" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_12" [label="12: DeclStmt \n _fun_continue_scope::X_X(&x2:continue_scope::X*) [line 72, column 9]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_12" [label="12: DeclStmt \n n$8=_fun_continue_scope::X_X(&x2:continue_scope::X*) [line 72, column 9]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_12" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_11" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_13" [label="13: Destruction \n _=*&x4:continue_scope::X [line 76, column 5]\n _fun_continue_scope::X_~X(&x4:continue_scope::X*) [line 76, column 5]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_13" [label="13: Destruction \n _=*&x4:continue_scope::X [line 76, column 5]\n n$10=_fun_continue_scope::X_~X(&x4:continue_scope::X*) [line 76, column 5]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_13" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_7" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_14" [label="14: DeclStmt \n _fun_continue_scope::X_X(&x4:continue_scope::X*) [line 75, column 9]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_14" [label="14: DeclStmt \n n$11=_fun_continue_scope::X_X(&x4:continue_scope::X*) [line 75, column 9]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_14" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_13" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_15" [label="15: DeclStmt \n _fun_continue_scope::X_X(&x1:continue_scope::X*) [line 69, column 5]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_15" [label="15: DeclStmt \n n$12=_fun_continue_scope::X_X(&x1:continue_scope::X*) [line 69, column 5]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_15" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" ; @@ -288,7 +288,7 @@ digraph cfg { "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_2" [label="2: Exit continue_scope::test_while2 \n " color=yellow style=filled] -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_3" [label="3: Destruction \n _=*&x1:continue_scope::X [line 102, column 1]\n _fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 102, column 1]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_3" [label="3: Destruction \n _=*&x1:continue_scope::X [line 102, column 1]\n n$1=_fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 102, column 1]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_3" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_2" ; @@ -297,15 +297,15 @@ digraph cfg { "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_4" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_5" ; "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_4" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_5" [label="5: Prune (true branch, while) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(n$1, true); [line 95, column 10]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_5" [label="5: Prune (true branch, while) \n n$2=*&a:_Bool [line 95, column 10]\n PRUNE(n$2, true); [line 95, column 10]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_5" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_14" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" [label="6: Prune (false branch, while) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(!n$1, false); [line 95, column 10]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" [label="6: Prune (false branch, while) \n n$2=*&a:_Bool [line 95, column 10]\n PRUNE(!n$2, false); [line 95, column 10]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_3" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_7" [label="7: Destruction \n _=*&x2:continue_scope::X [line 101, column 3]\n _fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 101, column 3]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_7" [label="7: Destruction \n _=*&x2:continue_scope::X [line 101, column 3]\n n$4=_fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 101, column 3]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_7" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_4" ; @@ -314,31 +314,31 @@ digraph cfg { "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_8" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_9" ; "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_8" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_9" [label="9: Prune (true branch, while) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(n$3, true); [line 97, column 12]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_9" [label="9: Prune (true branch, while) \n n$5=*&b:_Bool [line 97, column 12]\n PRUNE(n$5, true); [line 97, column 12]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_9" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_13" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" [label="10: Prune (false branch, while) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(!n$3, false); [line 97, column 12]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" [label="10: Prune (false branch, while) \n n$5=*&b:_Bool [line 97, column 12]\n PRUNE(!n$5, false); [line 97, column 12]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_7" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_11" [label="11: Destruction \n _=*&x3:continue_scope::X [line 100, column 5]\n _fun_continue_scope::X_~X(&x3:continue_scope::X*) [line 100, column 5]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_11" [label="11: Destruction \n _=*&x3:continue_scope::X [line 100, column 5]\n n$7=_fun_continue_scope::X_~X(&x3:continue_scope::X*) [line 100, column 5]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_11" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_8" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_12" [label="12: Destruction \n _=*&x3:continue_scope::X [line 99, column 7]\n _fun_continue_scope::X_~X(&x3:continue_scope::X*) [line 99, column 7]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_12" [label="12: Destruction \n _=*&x3:continue_scope::X [line 99, column 7]\n n$9=_fun_continue_scope::X_~X(&x3:continue_scope::X*) [line 99, column 7]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_12" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_8" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_13" [label="13: DeclStmt \n _fun_continue_scope::X_X(&x3:continue_scope::X*) [line 98, column 9]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_13" [label="13: DeclStmt \n n$10=_fun_continue_scope::X_X(&x3:continue_scope::X*) [line 98, column 9]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_13" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_12" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_14" [label="14: DeclStmt \n _fun_continue_scope::X_X(&x2:continue_scope::X*) [line 96, column 7]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_14" [label="14: DeclStmt \n n$11=_fun_continue_scope::X_X(&x2:continue_scope::X*) [line 96, column 7]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_14" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_8" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_15" [label="15: DeclStmt \n _fun_continue_scope::X_X(&x1:continue_scope::X*) [line 94, column 5]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_15" [label="15: DeclStmt \n n$12=_fun_continue_scope::X_X(&x1:continue_scope::X*) [line 94, column 5]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_15" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_4" ; @@ -349,11 +349,11 @@ digraph cfg { "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_2" [label="2: Exit continue_scope::test_while3 \n " color=yellow style=filled] -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_3" [label="3: Destruction \n _=*&x3:continue_scope::X [line 113, column 1]\n _fun_continue_scope::X_~X(&x3:continue_scope::X*) [line 113, column 1]\n _=*&x1:continue_scope::X [line 113, column 1]\n _fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 113, column 1]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_3" [label="3: Destruction \n _=*&x3:continue_scope::X [line 113, column 1]\n n$1=_fun_continue_scope::X_~X(&x3:continue_scope::X*) [line 113, column 1]\n _=*&x1:continue_scope::X [line 113, column 1]\n n$3=_fun_continue_scope::X_~X(&x1:continue_scope::X*) [line 113, column 1]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_3" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_2" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_4" [label="4: DeclStmt \n _fun_continue_scope::X_X(&x3:continue_scope::X*) [line 112, column 5]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_4" [label="4: DeclStmt \n n$4=_fun_continue_scope::X_X(&x3:continue_scope::X*) [line 112, column 5]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_4" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_3" ; @@ -362,15 +362,15 @@ digraph cfg { "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_5" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_6" ; "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_5" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_6" [label="6: Prune (true branch, while) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(n$2, true); [line 106, column 10]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_6" [label="6: Prune (true branch, while) \n n$5=*&a:_Bool [line 106, column 10]\n PRUNE(n$5, true); [line 106, column 10]\n " shape="invhouse"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_6" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_12" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" [label="7: Prune (false branch, while) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(!n$2, false); [line 106, column 10]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" [label="7: Prune (false branch, while) \n n$5=*&a:_Bool [line 106, column 10]\n PRUNE(!n$5, false); [line 106, column 10]\n " shape="invhouse"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_4" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_8" [label="8: Destruction \n _=*&x2:continue_scope::X [line 111, column 3]\n _fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 111, column 3]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_8" [label="8: Destruction \n _=*&x2:continue_scope::X [line 111, column 3]\n n$7=_fun_continue_scope::X_~X(&x2:continue_scope::X*) [line 111, column 3]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_8" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_5" ; @@ -379,19 +379,19 @@ digraph cfg { "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_9" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_10" ; "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_9" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_10" [label="10: Prune (true branch, while) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(n$4, true); [line 108, column 12]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_10" [label="10: Prune (true branch, while) \n n$8=*&b:_Bool [line 108, column 12]\n PRUNE(n$8, true); [line 108, column 12]\n " shape="invhouse"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_10" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_9" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" [label="11: Prune (false branch, while) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(!n$4, false); [line 108, column 12]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" [label="11: Prune (false branch, while) \n n$8=*&b:_Bool [line 108, column 12]\n PRUNE(!n$8, false); [line 108, column 12]\n " shape="invhouse"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_8" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_12" [label="12: DeclStmt \n _fun_continue_scope::X_X(&x2:continue_scope::X*) [line 107, column 7]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_12" [label="12: DeclStmt \n n$9=_fun_continue_scope::X_X(&x2:continue_scope::X*) [line 107, column 7]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_12" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_9" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_13" [label="13: DeclStmt \n _fun_continue_scope::X_X(&x1:continue_scope::X*) [line 105, column 5]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_13" [label="13: DeclStmt \n n$10=_fun_continue_scope::X_X(&x1:continue_scope::X*) [line 105, column 5]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_13" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_5" ; @@ -430,7 +430,7 @@ digraph cfg { "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_2" [label="2: Exit continue_scope::vec_begin \n " color=yellow style=filled] -"begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 36, column 22]\n n$2=*&this:continue_scope::vec* [line 36, column 38]\n _fun_continue_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$2:continue_scope::vec*,0:int) [line 36, column 29]\n _fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 36, column 29]\n " shape="box"] +"begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 36, column 22]\n n$2=*&this:continue_scope::vec* [line 36, column 38]\n n$3=_fun_continue_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$2:continue_scope::vec*,0:int) [line 36, column 29]\n n$4=_fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 36, column 29]\n " shape="box"] "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_3" -> "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_2" ; @@ -441,7 +441,7 @@ digraph cfg { "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_2" [label="2: Exit continue_scope::vec_end \n " color=yellow style=filled] -"end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 37, column 20]\n n$2=*&this:continue_scope::vec* [line 37, column 36]\n _fun_continue_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$2:continue_scope::vec*,10:int) [line 37, column 27]\n _fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 37, column 27]\n " shape="box"] +"end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 37, column 20]\n n$2=*&this:continue_scope::vec* [line 37, column 36]\n n$3=_fun_continue_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$2:continue_scope::vec*,10:int) [line 37, column 27]\n n$4=_fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 37, column 27]\n " shape="box"] "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_3" -> "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_2" ; @@ -452,7 +452,7 @@ digraph cfg { "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_2" [label="2: Exit continue_scope::vec_get \n " color=yellow style=filled] -"get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 39, column 26]\n n$1=*&this:continue_scope::vec const * [line 39, column 33]\n n$2=*&pos:int [line 39, column 39]\n _fun_continue_scope::X_X(n$0:continue_scope::X*,n$1._data[n$2]:continue_scope::X const &) [line 39, column 33]\n " shape="box"] +"get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 39, column 26]\n n$1=*&this:continue_scope::vec const * [line 39, column 33]\n n$2=*&pos:int [line 39, column 39]\n n$3=_fun_continue_scope::X_X(n$0:continue_scope::X*,n$1._data[n$2]:continue_scope::X const &) [line 39, column 33]\n " shape="box"] "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_3" -> "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_2" ; @@ -544,7 +544,7 @@ digraph cfg { "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_2" [label="2: Exit continue_scope::iterator_operator* \n " color=yellow style=filled] -"operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 44, column 33]\n n$2=*&this:continue_scope::iterator const * [line 44, column 40]\n n$3=*n$2.vector:continue_scope::vec const * [line 44, column 40]\n _=*n$3:continue_scope::vec const [line 44, column 40]\n n$5=*&this:continue_scope::iterator const * [line 44, column 52]\n n$6=*n$5.position:int [line 44, column 52]\n _fun_continue_scope::vec_get(n$3:continue_scope::vec const *,n$6:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X*) [line 44, column 40]\n _fun_continue_scope::X_X(n$0:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X&) [line 44, column 40]\n " shape="box"] +"operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 44, column 33]\n n$2=*&this:continue_scope::iterator const * [line 44, column 40]\n n$3=*n$2.vector:continue_scope::vec const * [line 44, column 40]\n _=*n$3:continue_scope::vec const [line 44, column 40]\n n$5=*&this:continue_scope::iterator const * [line 44, column 52]\n n$6=*n$5.position:int [line 44, column 52]\n n$8=_fun_continue_scope::vec_get(n$3:continue_scope::vec const *,n$6:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X*) [line 44, column 40]\n n$9=_fun_continue_scope::X_X(n$0:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X&) [line 44, column 40]\n " shape="box"] "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_3" -> "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_2" ; @@ -555,11 +555,11 @@ digraph cfg { "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_2" [label="2: Exit continue_scope::iterator_operator++ \n " color=yellow style=filled] -"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 26, column 5]\n n$1=*&this:continue_scope::iterator* [line 26, column 13]\n _fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,n$1:continue_scope::iterator&) [line 26, column 12]\n " shape="box"] +"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 26, column 5]\n n$1=*&this:continue_scope::iterator* [line 26, column 13]\n n$2=_fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,n$1:continue_scope::iterator&) [line 26, column 12]\n " shape="box"] "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_3" -> "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_2" ; -"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_4" [label="4: UnaryOperator \n n$2=*&this:continue_scope::iterator* [line 25, column 5]\n n$3=*n$2.position:int [line 25, column 5]\n *n$2.position:int=(n$3 + 1) [line 25, column 5]\n " shape="box"] +"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_4" [label="4: UnaryOperator \n n$3=*&this:continue_scope::iterator* [line 25, column 5]\n n$4=*n$3.position:int [line 25, column 5]\n *n$3.position:int=(n$4 + 1) [line 25, column 5]\n " shape="box"] "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_4" -> "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_3" ; @@ -570,7 +570,7 @@ digraph cfg { "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_2" [label="2: Exit continue_scope::vec_vec \n " color=yellow style=filled] -"vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" [label="3: Constructor Init \n n$0=*&this:continue_scope::vec* [line 35, column 3]\n _fun_continue_scope::X_X(n$0._data:continue_scope::X[10*1](*)) [line 35, column 3]\n " shape="box"] +"vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" [label="3: Constructor Init \n n$0=*&this:continue_scope::vec* [line 35, column 3]\n n$1=_fun_continue_scope::X_X(n$0._data:continue_scope::X[10*1](*)) [line 35, column 3]\n " shape="box"] "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" -> "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_2" ; @@ -581,7 +581,7 @@ digraph cfg { "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_2" [label="2: Exit continue_scope::X_~X \n " color=yellow style=filled] -"~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" [label="3: Destruction \n n$0=*&this:continue_scope::X* [line 12, column 9]\n _=*n$0:continue_scope::X [line 12, column 9]\n _fun_continue_scope::X___infer_inner_destructor_~X(n$0:continue_scope::X*) [line 12, column 9]\n " shape="box"] +"~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" [label="3: Destruction \n n$0=*&this:continue_scope::X* [line 12, column 9]\n _=*n$0:continue_scope::X [line 12, column 9]\n n$2=_fun_continue_scope::X___infer_inner_destructor_~X(n$0:continue_scope::X*) [line 12, column 9]\n " shape="box"] "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" -> "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_2" ; @@ -592,7 +592,7 @@ digraph cfg { "~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_2" [label="2: Exit continue_scope::vec_~vec \n " color=yellow style=filled] -"~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_3" [label="3: Destruction \n n$0=*&this:continue_scope::vec* [line 34, column 8]\n _=*n$0:continue_scope::vec [line 34, column 8]\n _fun_continue_scope::vec___infer_inner_destructor_~vec(n$0:continue_scope::vec*) [line 34, column 8]\n " shape="box"] +"~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_3" [label="3: Destruction \n n$0=*&this:continue_scope::vec* [line 34, column 8]\n _=*n$0:continue_scope::vec [line 34, column 8]\n n$2=_fun_continue_scope::vec___infer_inner_destructor_~vec(n$0:continue_scope::vec*) [line 34, column 8]\n " shape="box"] "~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_3" -> "~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot index 2112350e0..b169b2208 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_2" [label="2: Exit A_A \n " color=yellow style=filled] -"A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" [label="3: Constructor Init \n n$0=*&this:A* [line 16, column 7]\n _fun_T_T(n$0:A*) [line 16, column 3]\n " shape="box"] +"A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" [label="3: Constructor Init \n n$0=*&this:A* [line 16, column 7]\n n$1=_fun_T_T(n$0:A*) [line 16, column 3]\n " shape="box"] "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" -> "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_2" ; @@ -18,11 +18,11 @@ digraph cfg { "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_2" [label="2: Exit B_B \n " color=yellow style=filled] -"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" [label="3: Constructor Init \n n$0=*&this:B* [line 21, column 3]\n _fun_A_A(n$0:B*) [line 21, column 3]\n " shape="box"] +"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" [label="3: Constructor Init \n n$0=*&this:B* [line 21, column 3]\n n$1=_fun_A_A(n$0:B*) [line 21, column 3]\n " shape="box"] "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_2" ; -"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" [label="4: Constructor Init \n n$1=*&this:B* [line 21, column 7]\n _fun_T_T(n$1:B*) [line 21, column 3]\n " shape="box"] +"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" [label="4: Constructor Init \n n$2=*&this:B* [line 21, column 7]\n n$3=_fun_T_T(n$2:B*) [line 21, column 3]\n " shape="box"] "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" ; @@ -40,19 +40,19 @@ digraph cfg { "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" [label="2: Exit D_D \n " color=yellow style=filled] -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" [label="3: Constructor Init \n n$0=*&this:D* [line 32, column 3]\n _fun_B_B(n$0.b:B*) [line 32, column 3]\n " shape="box"] +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" [label="3: Constructor Init \n n$0=*&this:D* [line 32, column 3]\n n$1=_fun_B_B(n$0.b:B*) [line 32, column 3]\n " shape="box"] "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" [label="4: Constructor Init \n n$1=*&this:D* [line 32, column 3]\n _fun_C_C(n$1:D*) [line 32, column 3]\n " shape="box"] +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" [label="4: Constructor Init \n n$2=*&this:D* [line 32, column 3]\n n$3=_fun_C_C(n$2:D*) [line 32, column 3]\n " shape="box"] "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" [label="5: Constructor Init \n n$2=*&this:D* [line 32, column 3]\n _fun_A_A(n$2:D*) [line 32, column 3]\n " shape="box"] +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" [label="5: Constructor Init \n n$4=*&this:D* [line 32, column 3]\n n$5=_fun_A_A(n$4:D*) [line 32, column 3]\n " shape="box"] "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" [label="6: Constructor Init \n n$3=*&this:D* [line 32, column 7]\n _fun_T_T(n$3:D*) [line 32, column 3]\n " shape="box"] +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" [label="6: Constructor Init \n n$6=*&this:D* [line 32, column 7]\n n$7=_fun_T_T(n$6:D*) [line 32, column 3]\n " shape="box"] "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" ; @@ -63,23 +63,23 @@ digraph cfg { "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" [label="2: Exit E_E \n " color=yellow style=filled] -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" [label="3: Constructor Init \n n$0=*&this:E* [line 37, column 3]\n _fun_D_D(n$0:E*) [line 37, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" [label="3: Constructor Init \n n$0=*&this:E* [line 37, column 3]\n n$1=_fun_D_D(n$0:E*) [line 37, column 3]\n " shape="box"] "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" [label="4: Constructor Init \n n$1=*&this:E* [line 37, column 3]\n _fun_C_C(n$1:E*) [line 37, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" [label="4: Constructor Init \n n$2=*&this:E* [line 37, column 3]\n n$3=_fun_C_C(n$2:E*) [line 37, column 3]\n " shape="box"] "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" [label="5: Constructor Init \n n$2=*&this:E* [line 37, column 3]\n _fun_B_B(n$2:E*) [line 37, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" [label="5: Constructor Init \n n$4=*&this:E* [line 37, column 3]\n n$5=_fun_B_B(n$4:E*) [line 37, column 3]\n " shape="box"] "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" [label="6: Constructor Init \n n$3=*&this:E* [line 37, column 3]\n _fun_A_A(n$3:E*) [line 37, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" [label="6: Constructor Init \n n$6=*&this:E* [line 37, column 3]\n n$7=_fun_A_A(n$6:E*) [line 37, column 3]\n " shape="box"] "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" [label="7: Constructor Init \n n$4=*&this:E* [line 37, column 7]\n _fun_T_T(n$4:E*) [line 37, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" [label="7: Constructor Init \n n$8=*&this:E* [line 37, column 7]\n n$9=_fun_T_T(n$8:E*) [line 37, column 3]\n " shape="box"] "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" ; @@ -90,23 +90,23 @@ digraph cfg { "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" [label="2: Exit F_F \n " color=yellow style=filled] -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" [label="3: Constructor Init \n n$0=*&this:F* [line 42, column 3]\n _fun_D_D(n$0:F*) [line 42, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" [label="3: Constructor Init \n n$0=*&this:F* [line 42, column 3]\n n$1=_fun_D_D(n$0:F*) [line 42, column 3]\n " shape="box"] "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" [label="4: Constructor Init \n n$1=*&this:F* [line 42, column 3]\n _fun_B_B(n$1:F*) [line 42, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" [label="4: Constructor Init \n n$2=*&this:F* [line 42, column 3]\n n$3=_fun_B_B(n$2:F*) [line 42, column 3]\n " shape="box"] "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" [label="5: Constructor Init \n n$2=*&this:F* [line 42, column 3]\n _fun_C_C(n$2:F*) [line 42, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" [label="5: Constructor Init \n n$4=*&this:F* [line 42, column 3]\n n$5=_fun_C_C(n$4:F*) [line 42, column 3]\n " shape="box"] "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" [label="6: Constructor Init \n n$3=*&this:F* [line 42, column 3]\n _fun_A_A(n$3:F*) [line 42, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" [label="6: Constructor Init \n n$6=*&this:F* [line 42, column 3]\n n$7=_fun_A_A(n$6:F*) [line 42, column 3]\n " shape="box"] "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" [label="7: Constructor Init \n n$4=*&this:F* [line 42, column 7]\n _fun_T_T(n$4:F*) [line 42, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" [label="7: Constructor Init \n n$8=*&this:F* [line 42, column 7]\n n$9=_fun_T_T(n$8:F*) [line 42, column 3]\n " shape="box"] "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" ; @@ -145,15 +145,15 @@ digraph cfg { "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_2" [label="2: Exit D___infer_inner_destructor_~D \n " color=yellow style=filled] -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" [label="3: Destruction \n n$0=*&this:D* [line 33, column 15]\n _=*n$0.b:B [line 33, column 15]\n _fun_B_~B(n$0.b:B*) [line 33, column 15]\n _=*n$0:D [line 33, column 15]\n _fun_C___infer_inner_destructor_~C(n$0:D*) [line 33, column 15]\n _=*n$0:D [line 33, column 15]\n _fun_A___infer_inner_destructor_~A(n$0:D*) [line 33, column 15]\n " shape="box"] +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" [label="3: Destruction \n n$0=*&this:D* [line 33, column 15]\n _=*n$0.b:B [line 33, column 15]\n n$2=_fun_B_~B(n$0.b:B*) [line 33, column 15]\n _=*n$0:D [line 33, column 15]\n n$6=_fun_C___infer_inner_destructor_~C(n$0:D*) [line 33, column 15]\n _=*n$0:D [line 33, column 15]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:D*) [line 33, column 15]\n " shape="box"] "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_2" ; -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" [label="4: Destruction \n _=*&a:A [line 33, column 15]\n _fun_A_~A(&a:A*) [line 33, column 15]\n " shape="box"] +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" [label="4: Destruction \n _=*&a:A [line 33, column 15]\n n$8=_fun_A_~A(&a:A*) [line 33, column 15]\n " shape="box"] "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" ; -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" [label="5: DeclStmt \n _fun_A_A(&a:A*) [line 33, column 12]\n " shape="box"] +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" [label="5: DeclStmt \n n$9=_fun_A_A(&a:A*) [line 33, column 12]\n " shape="box"] "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" ; @@ -164,7 +164,7 @@ digraph cfg { "__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_2" [label="2: Exit E___infer_inner_destructor_~E \n " color=yellow style=filled] -"__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_3" [label="3: Destruction \n n$0=*&this:E* [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n _fun_D___infer_inner_destructor_~D(n$0:E*) [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n _fun_C___infer_inner_destructor_~C(n$0:E*) [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n _fun_B___infer_inner_destructor_~B(n$0:E*) [line 38, column 8]\n " shape="box"] +"__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_3" [label="3: Destruction \n n$0=*&this:E* [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n n$6=_fun_D___infer_inner_destructor_~D(n$0:E*) [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n n$4=_fun_C___infer_inner_destructor_~C(n$0:E*) [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n n$2=_fun_B___infer_inner_destructor_~B(n$0:E*) [line 38, column 8]\n " shape="box"] "__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_3" -> "__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_2" ; @@ -175,7 +175,7 @@ digraph cfg { "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_2" [label="2: Exit F___infer_inner_destructor_~F \n " color=yellow style=filled] -"__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" [label="3: Destruction \n n$0=*&this:F* [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n _fun_D___infer_inner_destructor_~D(n$0:F*) [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n _fun_B___infer_inner_destructor_~B(n$0:F*) [line 43, column 8]\n " shape="box"] +"__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" [label="3: Destruction \n n$0=*&this:F* [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n n$4=_fun_D___infer_inner_destructor_~D(n$0:F*) [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n n$2=_fun_B___infer_inner_destructor_~B(n$0:F*) [line 43, column 8]\n " shape="box"] "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" -> "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_2" ; @@ -193,7 +193,7 @@ digraph cfg { "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" [label="2: Exit A_~A \n " color=yellow style=filled] -"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction \n n$0=*&this:A* [line 17, column 8]\n _=*n$0:A [line 17, column 8]\n _fun_A___infer_inner_destructor_~A(n$0:A*) [line 17, column 8]\n _=*n$0:A [line 17, column 8]\n _fun_T___infer_inner_destructor_~T(n$0:A*) [line 17, column 8]\n " shape="box"] +"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction \n n$0=*&this:A* [line 17, column 8]\n _=*n$0:A [line 17, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:A*) [line 17, column 8]\n _=*n$0:A [line 17, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:A*) [line 17, column 8]\n " shape="box"] "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" ; @@ -204,7 +204,7 @@ digraph cfg { "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" [label="2: Exit B_~B \n " color=yellow style=filled] -"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" [label="3: Destruction \n n$0=*&this:B* [line 22, column 8]\n _=*n$0:B [line 22, column 8]\n _fun_B___infer_inner_destructor_~B(n$0:B*) [line 22, column 8]\n _=*n$0:B [line 22, column 8]\n _fun_A___infer_inner_destructor_~A(n$0:B*) [line 22, column 8]\n _=*n$0:B [line 22, column 8]\n _fun_T___infer_inner_destructor_~T(n$0:B*) [line 22, column 8]\n " shape="box"] +"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" [label="3: Destruction \n n$0=*&this:B* [line 22, column 8]\n _=*n$0:B [line 22, column 8]\n n$6=_fun_B___infer_inner_destructor_~B(n$0:B*) [line 22, column 8]\n _=*n$0:B [line 22, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:B*) [line 22, column 8]\n _=*n$0:B [line 22, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:B*) [line 22, column 8]\n " shape="box"] "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" -> "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" ; @@ -215,7 +215,7 @@ digraph cfg { "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_2" [label="2: Exit C_~C \n " color=yellow style=filled] -"~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" [label="3: Destruction \n n$0=*&this:C* [line 27, column 8]\n _=*n$0:C [line 27, column 8]\n _fun_C___infer_inner_destructor_~C(n$0:C*) [line 27, column 8]\n " shape="box"] +"~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" [label="3: Destruction \n n$0=*&this:C* [line 27, column 8]\n _=*n$0:C [line 27, column 8]\n n$2=_fun_C___infer_inner_destructor_~C(n$0:C*) [line 27, column 8]\n " shape="box"] "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" -> "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_2" ; @@ -226,7 +226,7 @@ digraph cfg { "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_2" [label="2: Exit D_~D \n " color=yellow style=filled] -"~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" [label="3: Destruction \n n$0=*&this:D* [line 33, column 15]\n _=*n$0:D [line 33, column 15]\n _fun_D___infer_inner_destructor_~D(n$0:D*) [line 33, column 15]\n _=*n$0:D [line 33, column 15]\n _fun_T___infer_inner_destructor_~T(n$0:D*) [line 33, column 15]\n " shape="box"] +"~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" [label="3: Destruction \n n$0=*&this:D* [line 33, column 15]\n _=*n$0:D [line 33, column 15]\n n$4=_fun_D___infer_inner_destructor_~D(n$0:D*) [line 33, column 15]\n _=*n$0:D [line 33, column 15]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:D*) [line 33, column 15]\n " shape="box"] "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" -> "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_2" ; @@ -237,7 +237,7 @@ digraph cfg { "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_2" [label="2: Exit E_~E \n " color=yellow style=filled] -"~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" [label="3: Destruction \n n$0=*&this:E* [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n _fun_E___infer_inner_destructor_~E(n$0:E*) [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n _fun_A___infer_inner_destructor_~A(n$0:E*) [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n _fun_T___infer_inner_destructor_~T(n$0:E*) [line 38, column 8]\n " shape="box"] +"~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" [label="3: Destruction \n n$0=*&this:E* [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n n$6=_fun_E___infer_inner_destructor_~E(n$0:E*) [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:E*) [line 38, column 8]\n _=*n$0:E [line 38, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:E*) [line 38, column 8]\n " shape="box"] "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" -> "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_2" ; @@ -248,7 +248,7 @@ digraph cfg { "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_2" [label="2: Exit F_~F \n " color=yellow style=filled] -"~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" [label="3: Destruction \n n$0=*&this:F* [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n _fun_F___infer_inner_destructor_~F(n$0:F*) [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n _fun_C___infer_inner_destructor_~C(n$0:F*) [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n _fun_A___infer_inner_destructor_~A(n$0:F*) [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n _fun_T___infer_inner_destructor_~T(n$0:F*) [line 43, column 8]\n " shape="box"] +"~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" [label="3: Destruction \n n$0=*&this:F* [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n n$8=_fun_F___infer_inner_destructor_~F(n$0:F*) [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n n$6=_fun_C___infer_inner_destructor_~C(n$0:F*) [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:F*) [line 43, column 8]\n _=*n$0:F [line 43, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:F*) [line 43, column 8]\n " shape="box"] "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" -> "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_2" ; @@ -259,7 +259,7 @@ digraph cfg { "~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_2" [label="2: Exit T_~T \n " color=yellow style=filled] -"~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_3" [label="3: Destruction \n n$0=*&this:T* [line 12, column 8]\n _=*n$0:T [line 12, column 8]\n _fun_T___infer_inner_destructor_~T(n$0:T*) [line 12, column 8]\n " shape="box"] +"~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_3" [label="3: Destruction \n n$0=*&this:T* [line 12, column 8]\n _=*n$0:T [line 12, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:T*) [line 12, column 8]\n " shape="box"] "~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_3" -> "~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot index 4b7845972..3fe963a63 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot @@ -11,7 +11,7 @@ digraph cfg { "destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_3" -> "destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_2" ; -"destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_4" [label="4: Call _fun___infer_skip_function \n _fun___infer_skip_function() [line 19, column 3]\n " shape="box"] +"destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_4" [label="4: Call _fun___infer_skip_function \n n$0=_fun___infer_skip_function() [line 19, column 3]\n " shape="box"] "destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_4" -> "destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_3" ; @@ -26,11 +26,11 @@ digraph cfg { "f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_2" ; -"f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" [label="4: Call _fun___infer_skip_function \n _fun___infer_skip_function() [line 13, column 3]\n " shape="box"] +"f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" [label="4: Call _fun___infer_skip_function \n n$1=_fun___infer_skip_function() [line 13, column 3]\n " shape="box"] "f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" ; -"f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" [label="5: DeclStmt \n n$1=*&p:int* [line 12, column 12]\n n$2=*n$1:int [line 12, column 11]\n *&x:int=n$2 [line 12, column 3]\n " shape="box"] +"f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" [label="5: DeclStmt \n n$2=*&p:int* [line 12, column 12]\n n$3=*n$2:int [line 12, column 11]\n *&x:int=n$3 [line 12, column 3]\n " shape="box"] "f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot index c30b4d3d7..143e26cb8 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_2" [label="2: Exit destructor_scope::callgetZ \n " color=yellow style=filled] -"callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_3" [label="3: Call _fun_destructor_scope::getZ \n _fun_destructor_scope::getZ(&0$?%__sil_tmp__temp_return_n$1:destructor_scope::Z*) [line 84, column 19]\n " shape="box"] +"callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_3" [label="3: Call _fun_destructor_scope::getZ \n n$2=_fun_destructor_scope::getZ(&0$?%__sil_tmp__temp_return_n$1:destructor_scope::Z*) [line 84, column 19]\n " shape="box"] "callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_3" -> "callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_2" ; @@ -18,11 +18,11 @@ digraph cfg { "getX#destructor_scope#11739464242911605656.40a1d0621360ad71d65c4cc39bf927eb_2" [label="2: Exit destructor_scope::getX \n " color=yellow style=filled] -"getX#destructor_scope#11739464242911605656.40a1d0621360ad71d65c4cc39bf927eb_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::X* [line 72, column 3]\n _fun_destructor_scope::X_X(n$0:destructor_scope::X*,&x:destructor_scope::X&) [line 72, column 10]\n _=*&x:destructor_scope::X [line 72, column 10]\n _fun_destructor_scope::X_~X(&x:destructor_scope::X*) [line 72, column 10]\n " shape="box"] +"getX#destructor_scope#11739464242911605656.40a1d0621360ad71d65c4cc39bf927eb_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::X* [line 72, column 3]\n n$1=_fun_destructor_scope::X_X(n$0:destructor_scope::X*,&x:destructor_scope::X&) [line 72, column 10]\n _=*&x:destructor_scope::X [line 72, column 10]\n n$3=_fun_destructor_scope::X_~X(&x:destructor_scope::X*) [line 72, column 10]\n " shape="box"] "getX#destructor_scope#11739464242911605656.40a1d0621360ad71d65c4cc39bf927eb_3" -> "getX#destructor_scope#11739464242911605656.40a1d0621360ad71d65c4cc39bf927eb_2" ; -"getX#destructor_scope#11739464242911605656.40a1d0621360ad71d65c4cc39bf927eb_4" [label="4: DeclStmt \n _fun_destructor_scope::X_X(&x:destructor_scope::X*) [line 71, column 5]\n " shape="box"] +"getX#destructor_scope#11739464242911605656.40a1d0621360ad71d65c4cc39bf927eb_4" [label="4: DeclStmt \n n$4=_fun_destructor_scope::X_X(&x:destructor_scope::X*) [line 71, column 5]\n " shape="box"] "getX#destructor_scope#11739464242911605656.40a1d0621360ad71d65c4cc39bf927eb_4" -> "getX#destructor_scope#11739464242911605656.40a1d0621360ad71d65c4cc39bf927eb_3" ; @@ -33,11 +33,11 @@ digraph cfg { "getZ#destructor_scope#13110319947448813202.fe2bc6519a3d7998283b70bbacc3915e_2" [label="2: Exit destructor_scope::getZ \n " color=yellow style=filled] -"getZ#destructor_scope#13110319947448813202.fe2bc6519a3d7998283b70bbacc3915e_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::Z* [line 77, column 3]\n _fun_destructor_scope::Z_Z(n$0:destructor_scope::Z*,&z:destructor_scope::Z&) [line 77, column 10]\n _=*&z:destructor_scope::Z [line 77, column 10]\n _fun_destructor_scope::Z_~Z(&z:destructor_scope::Z*) [line 77, column 10]\n " shape="box"] +"getZ#destructor_scope#13110319947448813202.fe2bc6519a3d7998283b70bbacc3915e_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::Z* [line 77, column 3]\n n$1=_fun_destructor_scope::Z_Z(n$0:destructor_scope::Z*,&z:destructor_scope::Z&) [line 77, column 10]\n _=*&z:destructor_scope::Z [line 77, column 10]\n n$3=_fun_destructor_scope::Z_~Z(&z:destructor_scope::Z*) [line 77, column 10]\n " shape="box"] "getZ#destructor_scope#13110319947448813202.fe2bc6519a3d7998283b70bbacc3915e_3" -> "getZ#destructor_scope#13110319947448813202.fe2bc6519a3d7998283b70bbacc3915e_2" ; -"getZ#destructor_scope#13110319947448813202.fe2bc6519a3d7998283b70bbacc3915e_4" [label="4: DeclStmt \n _fun_destructor_scope::Z_Z(&z:destructor_scope::Z*) [line 76, column 5]\n " shape="box"] +"getZ#destructor_scope#13110319947448813202.fe2bc6519a3d7998283b70bbacc3915e_4" [label="4: DeclStmt \n n$4=_fun_destructor_scope::Z_Z(&z:destructor_scope::Z*) [line 76, column 5]\n " shape="box"] "getZ#destructor_scope#13110319947448813202.fe2bc6519a3d7998283b70bbacc3915e_4" -> "getZ#destructor_scope#13110319947448813202.fe2bc6519a3d7998283b70bbacc3915e_3" ; @@ -48,27 +48,27 @@ digraph cfg { "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_2" [label="2: Exit destructor_scope::test1 \n " color=yellow style=filled] -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_3" [label="3: Destruction \n _=*&y1:destructor_scope::Y [line 57, column 1]\n _fun_destructor_scope::Y_~Y(&y1:destructor_scope::Y*) [line 57, column 1]\n _=*&s:destructor_scope::S [line 57, column 1]\n _fun_destructor_scope::S_~S(&s:destructor_scope::S*) [line 57, column 1]\n _=*&x1:destructor_scope::X [line 57, column 1]\n _fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 57, column 1]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_3" [label="3: Destruction \n _=*&y1:destructor_scope::Y [line 57, column 1]\n n$1=_fun_destructor_scope::Y_~Y(&y1:destructor_scope::Y*) [line 57, column 1]\n _=*&s:destructor_scope::S [line 57, column 1]\n n$3=_fun_destructor_scope::S_~S(&s:destructor_scope::S*) [line 57, column 1]\n _=*&x1:destructor_scope::X [line 57, column 1]\n n$5=_fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 57, column 1]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_3" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_2" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_4" [label="4: Destruction \n _=*&y3:destructor_scope::Y [line 56, column 11]\n _fun_destructor_scope::Y_~Y(&y3:destructor_scope::Y*) [line 56, column 11]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_4" [label="4: Destruction \n _=*&y3:destructor_scope::Y [line 56, column 11]\n n$7=_fun_destructor_scope::Y_~Y(&y3:destructor_scope::Y*) [line 56, column 11]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_4" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_3" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_5" [label="5: DeclStmt \n _fun_destructor_scope::Y_Y(&y3:destructor_scope::Y*) [line 56, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_5" [label="5: DeclStmt \n n$8=_fun_destructor_scope::Y_Y(&y3:destructor_scope::Y*) [line 56, column 7]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_5" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_4" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_6" [label="6: DeclStmt \n _fun_destructor_scope::Y_Y(&y1:destructor_scope::Y*) [line 55, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_6" [label="6: DeclStmt \n n$9=_fun_destructor_scope::Y_Y(&y1:destructor_scope::Y*) [line 55, column 5]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_6" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_5" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_7" [label="7: Destruction \n _=*&y2:destructor_scope::Y [line 54, column 3]\n _fun_destructor_scope::Y_~Y(&y2:destructor_scope::Y*) [line 54, column 3]\n _=*&x2:destructor_scope::X [line 54, column 3]\n _fun_destructor_scope::X_~X(&x2:destructor_scope::X*) [line 54, column 3]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_7" [label="7: Destruction \n _=*&y2:destructor_scope::Y [line 54, column 3]\n n$11=_fun_destructor_scope::Y_~Y(&y2:destructor_scope::Y*) [line 54, column 3]\n _=*&x2:destructor_scope::X [line 54, column 3]\n n$13=_fun_destructor_scope::X_~X(&x2:destructor_scope::X*) [line 54, column 3]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_7" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_6" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_8" [label="8: Destruction \n _=*&x3:destructor_scope::X [line 53, column 5]\n _fun_destructor_scope::X_~X(&x3:destructor_scope::X*) [line 53, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_8" [label="8: Destruction \n _=*&x3:destructor_scope::X [line 53, column 5]\n n$15=_fun_destructor_scope::X_~X(&x3:destructor_scope::X*) [line 53, column 5]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_8" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_7" ; @@ -76,19 +76,19 @@ digraph cfg { "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_9" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_8" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_10" [label="10: Prune (true branch, if) \n n$7=*&b:_Bool [line 50, column 11]\n PRUNE(n$7, true); [line 50, column 11]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_10" [label="10: Prune (true branch, if) \n n$16=*&b:_Bool [line 50, column 11]\n PRUNE(n$16, true); [line 50, column 11]\n " shape="invhouse"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_10" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_12" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_11" [label="11: Prune (false branch, if) \n n$7=*&b:_Bool [line 50, column 11]\n PRUNE(!n$7, false); [line 50, column 11]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_11" [label="11: Prune (false branch, if) \n n$16=*&b:_Bool [line 50, column 11]\n PRUNE(!n$16, false); [line 50, column 11]\n " shape="invhouse"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_11" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_9" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_12" [label="12: Return Stmt \n _=*&x3:destructor_scope::X [line 51, column 9]\n _fun_destructor_scope::X_~X(&x3:destructor_scope::X*) [line 51, column 9]\n _=*&y2:destructor_scope::Y [line 51, column 9]\n _fun_destructor_scope::Y_~Y(&y2:destructor_scope::Y*) [line 51, column 9]\n _=*&x2:destructor_scope::X [line 51, column 9]\n _fun_destructor_scope::X_~X(&x2:destructor_scope::X*) [line 51, column 9]\n _=*&s:destructor_scope::S [line 51, column 9]\n _fun_destructor_scope::S_~S(&s:destructor_scope::S*) [line 51, column 9]\n _=*&x1:destructor_scope::X [line 51, column 9]\n _fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 51, column 9]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_12" [label="12: Return Stmt \n _=*&x3:destructor_scope::X [line 51, column 9]\n n$18=_fun_destructor_scope::X_~X(&x3:destructor_scope::X*) [line 51, column 9]\n _=*&y2:destructor_scope::Y [line 51, column 9]\n n$20=_fun_destructor_scope::Y_~Y(&y2:destructor_scope::Y*) [line 51, column 9]\n _=*&x2:destructor_scope::X [line 51, column 9]\n n$22=_fun_destructor_scope::X_~X(&x2:destructor_scope::X*) [line 51, column 9]\n _=*&s:destructor_scope::S [line 51, column 9]\n n$24=_fun_destructor_scope::S_~S(&s:destructor_scope::S*) [line 51, column 9]\n _=*&x1:destructor_scope::X [line 51, column 9]\n n$26=_fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 51, column 9]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_12" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_2" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_13" [label="13: DeclStmt \n _fun_destructor_scope::X_X(&x3:destructor_scope::X*) [line 49, column 9]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_13" [label="13: DeclStmt \n n$27=_fun_destructor_scope::X_X(&x3:destructor_scope::X*) [line 49, column 9]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_13" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_10" ; @@ -97,32 +97,32 @@ digraph cfg { "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_14" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_13" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_15" [label="15: Prune (true branch, if) \n n$13=*&a:_Bool [line 45, column 9]\n PRUNE(n$13, true); [line 45, column 9]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_15" [label="15: Prune (true branch, if) \n n$28=*&a:_Bool [line 45, column 9]\n PRUNE(n$28, true); [line 45, column 9]\n " shape="invhouse"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_15" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_17" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" [label="16: Prune (false branch, if) \n n$13=*&a:_Bool [line 45, column 9]\n PRUNE(!n$13, false); [line 45, column 9]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" [label="16: Prune (false branch, if) \n n$28=*&a:_Bool [line 45, column 9]\n PRUNE(!n$28, false); [line 45, column 9]\n " shape="invhouse"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_14" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_17" [label="17: Return Stmt \n _=*&y2:destructor_scope::Y [line 46, column 7]\n _fun_destructor_scope::Y_~Y(&y2:destructor_scope::Y*) [line 46, column 7]\n _=*&x2:destructor_scope::X [line 46, column 7]\n _fun_destructor_scope::X_~X(&x2:destructor_scope::X*) [line 46, column 7]\n _=*&s:destructor_scope::S [line 46, column 7]\n _fun_destructor_scope::S_~S(&s:destructor_scope::S*) [line 46, column 7]\n _=*&x1:destructor_scope::X [line 46, column 7]\n _fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 46, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_17" [label="17: Return Stmt \n _=*&y2:destructor_scope::Y [line 46, column 7]\n n$30=_fun_destructor_scope::Y_~Y(&y2:destructor_scope::Y*) [line 46, column 7]\n _=*&x2:destructor_scope::X [line 46, column 7]\n n$32=_fun_destructor_scope::X_~X(&x2:destructor_scope::X*) [line 46, column 7]\n _=*&s:destructor_scope::S [line 46, column 7]\n n$34=_fun_destructor_scope::S_~S(&s:destructor_scope::S*) [line 46, column 7]\n _=*&x1:destructor_scope::X [line 46, column 7]\n n$36=_fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 46, column 7]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_17" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_2" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" [label="18: DeclStmt \n _fun_destructor_scope::Y_Y(&y2:destructor_scope::Y*) [line 44, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" [label="18: DeclStmt \n n$37=_fun_destructor_scope::Y_Y(&y2:destructor_scope::Y*) [line 44, column 7]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_15" ; "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_19" [label="19: DeclStmt \n _fun_destructor_scope::X_X(&x2:destructor_scope::X*) [line 43, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_19" [label="19: DeclStmt \n n$38=_fun_destructor_scope::X_X(&x2:destructor_scope::X*) [line 43, column 7]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_19" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_20" [label="20: DeclStmt \n _fun_destructor_scope::S_S(&s:destructor_scope::S*) [line 41, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_20" [label="20: DeclStmt \n n$39=_fun_destructor_scope::S_S(&s:destructor_scope::S*) [line 41, column 5]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_20" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_19" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_21" [label="21: DeclStmt \n _fun_destructor_scope::X_X(&x1:destructor_scope::X*) [line 40, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_21" [label="21: DeclStmt \n n$40=_fun_destructor_scope::X_X(&x1:destructor_scope::X*) [line 40, column 5]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_21" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_20" ; @@ -133,7 +133,7 @@ digraph cfg { "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_2" [label="2: Exit destructor_scope::test2 \n " color=yellow style=filled] -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_3" [label="3: Destruction \n _=*&x1:destructor_scope::X [line 68, column 1]\n _fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 68, column 1]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_3" [label="3: Destruction \n _=*&x1:destructor_scope::X [line 68, column 1]\n n$1=_fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 68, column 1]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_3" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_2" ; @@ -141,31 +141,31 @@ digraph cfg { "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_4" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_3" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_5" [label="5: Prune (true branch, if) \n n$1=*&a:_Bool [line 61, column 7]\n PRUNE(n$1, true); [line 61, column 7]\n " shape="invhouse"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_5" [label="5: Prune (true branch, if) \n n$2=*&a:_Bool [line 61, column 7]\n PRUNE(n$2, true); [line 61, column 7]\n " shape="invhouse"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_5" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_8" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_6" [label="6: Prune (false branch, if) \n n$1=*&a:_Bool [line 61, column 7]\n PRUNE(!n$1, false); [line 61, column 7]\n " shape="invhouse"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_6" [label="6: Prune (false branch, if) \n n$2=*&a:_Bool [line 61, column 7]\n PRUNE(!n$2, false); [line 61, column 7]\n " shape="invhouse"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_6" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_10" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_7" [label="7: Return Stmt \n *&return:int=1 [line 63, column 5]\n _=*&x2:destructor_scope::X [line 63, column 12]\n _fun_destructor_scope::X_~X(&x2:destructor_scope::X*) [line 63, column 12]\n _=*&x1:destructor_scope::X [line 63, column 12]\n _fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 63, column 12]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_7" [label="7: Return Stmt \n *&return:int=1 [line 63, column 5]\n _=*&x2:destructor_scope::X [line 63, column 12]\n n$4=_fun_destructor_scope::X_~X(&x2:destructor_scope::X*) [line 63, column 12]\n _=*&x1:destructor_scope::X [line 63, column 12]\n n$6=_fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 63, column 12]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_7" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_2" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_8" [label="8: DeclStmt \n _fun_destructor_scope::X_X(&x2:destructor_scope::X*) [line 62, column 7]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_8" [label="8: DeclStmt \n n$7=_fun_destructor_scope::X_X(&x2:destructor_scope::X*) [line 62, column 7]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_8" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_7" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_9" [label="9: Return Stmt \n *&return:int=2 [line 66, column 5]\n _=*&x3:destructor_scope::X [line 66, column 12]\n _fun_destructor_scope::X_~X(&x3:destructor_scope::X*) [line 66, column 12]\n _=*&x1:destructor_scope::X [line 66, column 12]\n _fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 66, column 12]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_9" [label="9: Return Stmt \n *&return:int=2 [line 66, column 5]\n _=*&x3:destructor_scope::X [line 66, column 12]\n n$9=_fun_destructor_scope::X_~X(&x3:destructor_scope::X*) [line 66, column 12]\n _=*&x1:destructor_scope::X [line 66, column 12]\n n$11=_fun_destructor_scope::X_~X(&x1:destructor_scope::X*) [line 66, column 12]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_9" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_2" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_10" [label="10: DeclStmt \n _fun_destructor_scope::X_X(&x3:destructor_scope::X*) [line 65, column 7]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_10" [label="10: DeclStmt \n n$12=_fun_destructor_scope::X_X(&x3:destructor_scope::X*) [line 65, column 7]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_10" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_9" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_11" [label="11: DeclStmt \n _fun_destructor_scope::X_X(&x1:destructor_scope::X*) [line 60, column 5]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_11" [label="11: DeclStmt \n n$13=_fun_destructor_scope::X_X(&x1:destructor_scope::X*) [line 60, column 5]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_11" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_5" ; @@ -177,7 +177,7 @@ digraph cfg { "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_2" [label="2: Exit destructor_scope::S_S \n " color=yellow style=filled] -"S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" [label="3: Constructor Init \n n$0=*&this:destructor_scope::S* [line 21, column 8]\n _fun_destructor_scope::X_X(n$0.x1:destructor_scope::X*) [line 21, column 8]\n " shape="box"] +"S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" [label="3: Constructor Init \n n$0=*&this:destructor_scope::S* [line 21, column 8]\n n$1=_fun_destructor_scope::X_X(n$0.x1:destructor_scope::X*) [line 21, column 8]\n " shape="box"] "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" -> "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_2" ; @@ -223,7 +223,7 @@ digraph cfg { "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_2" [label="2: Exit destructor_scope::S___infer_inner_destructor_~S \n " color=yellow style=filled] -"__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" [label="3: Destruction \n n$0=*&this:destructor_scope::S* [line 21, column 8]\n _=*n$0.x1:destructor_scope::X [line 21, column 8]\n _fun_destructor_scope::X_~X(n$0.x1:destructor_scope::X*) [line 21, column 8]\n " shape="box"] +"__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" [label="3: Destruction \n n$0=*&this:destructor_scope::S* [line 21, column 8]\n _=*n$0.x1:destructor_scope::X [line 21, column 8]\n n$2=_fun_destructor_scope::X_~X(n$0.x1:destructor_scope::X*) [line 21, column 8]\n " shape="box"] "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" -> "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_2" ; @@ -234,15 +234,15 @@ digraph cfg { "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_2" [label="2: Exit destructor_scope::W___infer_inner_destructor_~W \n " color=yellow style=filled] -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_3" [label="3: Destruction \n n$0=*&this:destructor_scope::W* [line 36, column 3]\n _=*n$0.s:destructor_scope::S [line 36, column 3]\n _fun_destructor_scope::S_~S(n$0.s:destructor_scope::S*) [line 36, column 3]\n _=*n$0.y:destructor_scope::Y [line 36, column 3]\n _fun_destructor_scope::Y_~Y(n$0.y:destructor_scope::Y*) [line 36, column 3]\n _=*n$0.x:destructor_scope::X [line 36, column 3]\n _fun_destructor_scope::X_~X(n$0.x:destructor_scope::X*) [line 36, column 3]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_3" [label="3: Destruction \n n$0=*&this:destructor_scope::W* [line 36, column 3]\n _=*n$0.s:destructor_scope::S [line 36, column 3]\n n$6=_fun_destructor_scope::S_~S(n$0.s:destructor_scope::S*) [line 36, column 3]\n _=*n$0.y:destructor_scope::Y [line 36, column 3]\n n$4=_fun_destructor_scope::Y_~Y(n$0.y:destructor_scope::Y*) [line 36, column 3]\n _=*n$0.x:destructor_scope::X [line 36, column 3]\n n$2=_fun_destructor_scope::X_~X(n$0.x:destructor_scope::X*) [line 36, column 3]\n " shape="box"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_3" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_2" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_4" [label="4: Destruction \n _=*&y:destructor_scope::Y [line 36, column 3]\n _fun_destructor_scope::Y_~Y(&y:destructor_scope::Y*) [line 36, column 3]\n _=*&x:destructor_scope::X [line 36, column 3]\n _fun_destructor_scope::X_~X(&x:destructor_scope::X*) [line 36, column 3]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_4" [label="4: Destruction \n _=*&y:destructor_scope::Y [line 36, column 3]\n n$8=_fun_destructor_scope::Y_~Y(&y:destructor_scope::Y*) [line 36, column 3]\n _=*&x:destructor_scope::X [line 36, column 3]\n n$10=_fun_destructor_scope::X_~X(&x:destructor_scope::X*) [line 36, column 3]\n " shape="box"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_4" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_3" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_5" [label="5: DeclStmt \n _fun_destructor_scope::Y_Y(&y:destructor_scope::Y*) [line 35, column 7]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_5" [label="5: DeclStmt \n n$11=_fun_destructor_scope::Y_Y(&y:destructor_scope::Y*) [line 35, column 7]\n " shape="box"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_5" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_4" ; @@ -250,19 +250,19 @@ digraph cfg { "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_6" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_5" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" [label="7: Prune (true branch, if) \n n$6=*&this:destructor_scope::W* [line 33, column 9]\n n$7=*n$6.b:_Bool [line 33, column 9]\n PRUNE(n$7, true); [line 33, column 9]\n " shape="invhouse"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" [label="7: Prune (true branch, if) \n n$12=*&this:destructor_scope::W* [line 33, column 9]\n n$13=*n$12.b:_Bool [line 33, column 9]\n PRUNE(n$13, true); [line 33, column 9]\n " shape="invhouse"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_9" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_8" [label="8: Prune (false branch, if) \n n$6=*&this:destructor_scope::W* [line 33, column 9]\n n$7=*n$6.b:_Bool [line 33, column 9]\n PRUNE(!n$7, false); [line 33, column 9]\n " shape="invhouse"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_8" [label="8: Prune (false branch, if) \n n$12=*&this:destructor_scope::W* [line 33, column 9]\n n$13=*n$12.b:_Bool [line 33, column 9]\n PRUNE(!n$13, false); [line 33, column 9]\n " shape="invhouse"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_8" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_6" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_9" [label="9: Return Stmt \n _=*&x:destructor_scope::X [line 34, column 7]\n _fun_destructor_scope::X_~X(&x:destructor_scope::X*) [line 34, column 7]\n n$9=*&this:destructor_scope::W* [line 34, column 7]\n _=*n$9.s:destructor_scope::S [line 34, column 7]\n _fun_destructor_scope::S_~S(n$9.s:destructor_scope::S*) [line 34, column 7]\n _=*n$9.y:destructor_scope::Y [line 34, column 7]\n _fun_destructor_scope::Y_~Y(n$9.y:destructor_scope::Y*) [line 34, column 7]\n _=*n$9.x:destructor_scope::X [line 34, column 7]\n _fun_destructor_scope::X_~X(n$9.x:destructor_scope::X*) [line 34, column 7]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_9" [label="9: Return Stmt \n _=*&x:destructor_scope::X [line 34, column 7]\n n$15=_fun_destructor_scope::X_~X(&x:destructor_scope::X*) [line 34, column 7]\n n$16=*&this:destructor_scope::W* [line 34, column 7]\n _=*n$16.s:destructor_scope::S [line 34, column 7]\n n$22=_fun_destructor_scope::S_~S(n$16.s:destructor_scope::S*) [line 34, column 7]\n _=*n$16.y:destructor_scope::Y [line 34, column 7]\n n$20=_fun_destructor_scope::Y_~Y(n$16.y:destructor_scope::Y*) [line 34, column 7]\n _=*n$16.x:destructor_scope::X [line 34, column 7]\n n$18=_fun_destructor_scope::X_~X(n$16.x:destructor_scope::X*) [line 34, column 7]\n " shape="box"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_9" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_2" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_10" [label="10: DeclStmt \n _fun_destructor_scope::X_X(&x:destructor_scope::X*) [line 32, column 7]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_10" [label="10: DeclStmt \n n$23=_fun_destructor_scope::X_X(&x:destructor_scope::X*) [line 32, column 7]\n " shape="box"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_10" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" ; @@ -288,7 +288,7 @@ digraph cfg { "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_2" [label="2: Exit destructor_scope::S_~S \n " color=yellow style=filled] -"~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" [label="3: Destruction \n n$0=*&this:destructor_scope::S* [line 21, column 8]\n _=*n$0:destructor_scope::S [line 21, column 8]\n _fun_destructor_scope::S___infer_inner_destructor_~S(n$0:destructor_scope::S*) [line 21, column 8]\n " shape="box"] +"~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" [label="3: Destruction \n n$0=*&this:destructor_scope::S* [line 21, column 8]\n _=*n$0:destructor_scope::S [line 21, column 8]\n n$2=_fun_destructor_scope::S___infer_inner_destructor_~S(n$0:destructor_scope::S*) [line 21, column 8]\n " shape="box"] "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" -> "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_2" ; @@ -299,7 +299,7 @@ digraph cfg { "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_2" [label="2: Exit destructor_scope::W_~W \n " color=yellow style=filled] -"~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" [label="3: Destruction \n n$0=*&this:destructor_scope::W* [line 36, column 3]\n _=*n$0:destructor_scope::W [line 36, column 3]\n _fun_destructor_scope::W___infer_inner_destructor_~W(n$0:destructor_scope::W*) [line 36, column 3]\n " shape="box"] +"~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" [label="3: Destruction \n n$0=*&this:destructor_scope::W* [line 36, column 3]\n _=*n$0:destructor_scope::W [line 36, column 3]\n n$2=_fun_destructor_scope::W___infer_inner_destructor_~W(n$0:destructor_scope::W*) [line 36, column 3]\n " shape="box"] "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" -> "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_2" ; @@ -310,7 +310,7 @@ digraph cfg { "~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_2" [label="2: Exit destructor_scope::X_~X \n " color=yellow style=filled] -"~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_3" [label="3: Destruction \n n$0=*&this:destructor_scope::X* [line 12, column 9]\n _=*n$0:destructor_scope::X [line 12, column 9]\n _fun_destructor_scope::X___infer_inner_destructor_~X(n$0:destructor_scope::X*) [line 12, column 9]\n " shape="box"] +"~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_3" [label="3: Destruction \n n$0=*&this:destructor_scope::X* [line 12, column 9]\n _=*n$0:destructor_scope::X [line 12, column 9]\n n$2=_fun_destructor_scope::X___infer_inner_destructor_~X(n$0:destructor_scope::X*) [line 12, column 9]\n " shape="box"] "~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_3" -> "~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_2" ; @@ -321,7 +321,7 @@ digraph cfg { "~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_2" [label="2: Exit destructor_scope::Y_~Y \n " color=yellow style=filled] -"~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_3" [label="3: Destruction \n n$0=*&this:destructor_scope::Y* [line 16, column 9]\n _=*n$0:destructor_scope::Y [line 16, column 9]\n _fun_destructor_scope::Y___infer_inner_destructor_~Y(n$0:destructor_scope::Y*) [line 16, column 9]\n " shape="box"] +"~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_3" [label="3: Destruction \n n$0=*&this:destructor_scope::Y* [line 16, column 9]\n _=*n$0:destructor_scope::Y [line 16, column 9]\n n$2=_fun_destructor_scope::Y___infer_inner_destructor_~Y(n$0:destructor_scope::Y*) [line 16, column 9]\n " shape="box"] "~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_3" -> "~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot index 325f5450a..5c0470c77 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot @@ -29,7 +29,7 @@ digraph cfg { "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" [label="2: Exit A_~A \n " color=yellow style=filled] -"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction \n n$0=*&this:A* [line 12, column 17]\n _=*n$0:A [line 12, column 17]\n _fun_A___infer_inner_destructor_~A(n$0:A*) [line 12, column 17]\n " shape="box"] +"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction \n n$0=*&this:A* [line 12, column 17]\n _=*n$0:A [line 12, column 17]\n n$2=_fun_A___infer_inner_destructor_~A(n$0:A*) [line 12, column 17]\n " shape="box"] "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" ; @@ -40,7 +40,7 @@ digraph cfg { "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" [label="2: Exit B_~B \n " color=yellow style=filled] -"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" [label="3: Destruction \n n$0=*&this:B* [line 20, column 18]\n _=*n$0:B [line 20, column 18]\n _fun_B___infer_inner_destructor_~B(n$0:B*) [line 20, column 18]\n " shape="box"] +"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" [label="3: Destruction \n n$0=*&this:B* [line 20, column 18]\n _=*n$0:B [line 20, column 18]\n n$2=_fun_B___infer_inner_destructor_~B(n$0:B*) [line 20, column 18]\n " shape="box"] "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" -> "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot index 621151fe8..476c37467 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" [label="2: Exit __infer_globals_initializer_global \n " color=yellow style=filled] -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n _fun_X_X(&#GB$global:X const *) [line 13, column 9]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n n$0=_fun_X_X(&#GB$global:X const *) [line 13, column 9]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -29,7 +29,7 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 15, column 12]\n _fun_X_X(n$0:X*,&#GB$global:X const &) [line 15, column 19]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 15, column 12]\n n$1=_fun_X_X(n$0:X*,&#GB$global:X const &) [line 15, column 19]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot index 92112801b..ba843cb2d 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot @@ -11,7 +11,7 @@ digraph cfg { "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_3" -> "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_2" ; -"div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_4" [label="4: DeclStmt \n _fun_B_B(&b:B*) [line 19, column 8]\n " shape="box"] +"div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_4" [label="4: DeclStmt \n n$2=_fun_B_B(&b:B*) [line 19, column 8]\n " shape="box"] "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_4" -> "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_3" ; @@ -26,7 +26,7 @@ digraph cfg { "div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_3" -> "div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_2" ; -"div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_4" [label="4: DeclStmt \n _fun_B_B(&b:B*) [line 14, column 10]\n " shape="box"] +"div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_4" [label="4: DeclStmt \n n$2=_fun_B_B(&b:B*) [line 14, column 10]\n " shape="box"] "div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_4" -> "div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_3" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot index 985a27e05..64e79ff6a 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_2" [label="2: Exit init_list::list_init \n " color=yellow style=filled] -"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" [label="3: DeclStmt \n *&ty[0].z:int=1 [line 50, column 14]\n *&ty[0].x.a:int=2 [line 50, column 18]\n *&ty[0].x.p:int*=null [line 50, column 18]\n _fun_init_list::Y_Y(&ty[1]:init_list::Y*,&y:init_list::Y&) [line 50, column 33]\n n$0=*&yref:init_list::Y& [line 50, column 36]\n _fun_init_list::Y_Y(&ty[2]:init_list::Y*,n$0:init_list::Y&) [line 50, column 36]\n " shape="box"] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" [label="3: DeclStmt \n *&ty[0].z:int=1 [line 50, column 14]\n *&ty[0].x.a:int=2 [line 50, column 18]\n *&ty[0].x.p:int*=null [line 50, column 18]\n n$0=_fun_init_list::Y_Y(&ty[1]:init_list::Y*,&y:init_list::Y&) [line 50, column 33]\n n$1=*&yref:init_list::Y& [line 50, column 36]\n n$2=_fun_init_list::Y_Y(&ty[2]:init_list::Y*,n$1:init_list::Y&) [line 50, column 36]\n " shape="box"] "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_2" ; @@ -15,7 +15,7 @@ digraph cfg { "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_4" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" ; -"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_5" [label="5: DeclStmt \n _fun_init_list::Y_Y(&y:init_list::Y*) [line 48, column 5]\n " shape="box"] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_5" [label="5: DeclStmt \n n$3=_fun_init_list::Y_Y(&y:init_list::Y*) [line 48, column 5]\n " shape="box"] "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_5" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_4" ; @@ -30,11 +30,11 @@ digraph cfg { "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_2" [label="2: Exit init_list::record_init \n " color=yellow style=filled] -"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_3" [label="3: Destruction \n _=*&c:init_list::C [line 44, column 1]\n _fun_init_list::C_~C(&c:init_list::C*) [line 44, column 1]\n _=*&x:init_list::X [line 44, column 1]\n _fun_init_list::X_~X(&x:init_list::X*) [line 44, column 1]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_3" [label="3: Destruction \n _=*&c:init_list::C [line 44, column 1]\n n$1=_fun_init_list::C_~C(&c:init_list::C*) [line 44, column 1]\n _=*&x:init_list::X [line 44, column 1]\n n$3=_fun_init_list::X_~X(&x:init_list::X*) [line 44, column 1]\n " shape="box"] "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_3" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_2" ; -"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_4" [label="4: DeclStmt \n _fun_init_list::C_C(&c:init_list::C*,1:int,2:int,&x:init_list::X&) [line 43, column 5]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_4" [label="4: DeclStmt \n n$4=_fun_init_list::C_C(&c:init_list::C*,1:int,2:int,&x:init_list::X&) [line 43, column 5]\n " shape="box"] "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_4" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_3" ; @@ -42,7 +42,7 @@ digraph cfg { "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_5" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_4" ; -"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_6" [label="6: DeclStmt \n *&y1.z:int=1 [line 40, column 7]\n _fun_init_list::X_X(&y1.x:init_list::X*,&x:init_list::X&) [line 40, column 11]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_6" [label="6: DeclStmt \n *&y1.z:int=1 [line 40, column 7]\n n$5=_fun_init_list::X_X(&y1.x:init_list::X*,&x:init_list::X&) [line 40, column 11]\n " shape="box"] "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_6" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_5" ; @@ -76,11 +76,11 @@ digraph cfg { "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_2" [label="2: Exit init_list::zero_init_record \n " color=yellow style=filled] -"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_3" [label="3: Destruction \n _=*&c:init_list::C [line 36, column 1]\n _fun_init_list::C_~C(&c:init_list::C*) [line 36, column 1]\n " shape="box"] +"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_3" [label="3: Destruction \n _=*&c:init_list::C [line 36, column 1]\n n$1=_fun_init_list::C_~C(&c:init_list::C*) [line 36, column 1]\n " shape="box"] "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_3" -> "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_2" ; -"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" [label="4: DeclStmt \n _fun_init_list::C_C(&c:init_list::C*) [line 35, column 5]\n " shape="box"] +"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" [label="4: DeclStmt \n n$2=_fun_init_list::C_C(&c:init_list::C*) [line 35, column 5]\n " shape="box"] "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" -> "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_3" ; @@ -95,11 +95,11 @@ digraph cfg { "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_2" [label="2: Exit init_list::C_C \n " color=yellow style=filled] -"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" [label="3: Constructor Init \n n$0=*&this:init_list::C* [line 24, column 43]\n n$1=*&x:init_list::X const & [line 24, column 45]\n _fun_init_list::X_X(n$0.x:init_list::X*,n$1:init_list::X const &) [line 24, column 43]\n " shape="box"] +"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" [label="3: Constructor Init \n n$0=*&this:init_list::C* [line 24, column 43]\n n$1=*&x:init_list::X const & [line 24, column 45]\n n$2=_fun_init_list::X_X(n$0.x:init_list::X*,n$1:init_list::X const &) [line 24, column 43]\n " shape="box"] "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_2" ; -"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" [label="4: Constructor Init \n n$2=*&this:init_list::C* [line 24, column 33]\n n$3=*&a:int [line 24, column 35]\n n$4=*&b:int [line 24, column 39]\n *n$2.z:int=(n$3 + n$4) [line 24, column 33]\n " shape="box"] +"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" [label="4: Constructor Init \n n$3=*&this:init_list::C* [line 24, column 33]\n n$4=*&a:int [line 24, column 35]\n n$5=*&b:int [line 24, column 39]\n *n$3.z:int=(n$4 + n$5) [line 24, column 33]\n " shape="box"] "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" ; @@ -143,11 +143,11 @@ digraph cfg { "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_2" [label="2: Exit init_list::Y_Y \n " color=yellow style=filled] -"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" [label="3: Constructor Init \n n$0=*&this:init_list::Y* [line 14, column 8]\n n$1=*&__param_0:init_list::Y const & [line 14, column 8]\n _fun_init_list::X_X(n$0.x:init_list::X*,n$1.x:init_list::X&) [line 14, column 8]\n " shape="box"] +"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" [label="3: Constructor Init \n n$0=*&this:init_list::Y* [line 14, column 8]\n n$1=*&__param_0:init_list::Y const & [line 14, column 8]\n n$2=_fun_init_list::X_X(n$0.x:init_list::X*,n$1.x:init_list::X&) [line 14, column 8]\n " shape="box"] "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_2" ; -"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" [label="4: Constructor Init \n n$2=*&this:init_list::Y* [line 14, column 8]\n n$3=*&__param_0:init_list::Y const & [line 14, column 8]\n n$4=*n$3.z:int [line 14, column 8]\n *n$2.z:int=n$4 [line 14, column 8]\n " shape="box"] +"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" [label="4: Constructor Init \n n$3=*&this:init_list::Y* [line 14, column 8]\n n$4=*&__param_0:init_list::Y const & [line 14, column 8]\n n$5=*n$4.z:int [line 14, column 8]\n *n$3.z:int=n$5 [line 14, column 8]\n " shape="box"] "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" ; @@ -158,7 +158,7 @@ digraph cfg { "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_2" [label="2: Exit init_list::Y_Y \n " color=yellow style=filled] -"Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" [label="3: Constructor Init \n n$0=*&this:init_list::Y* [line 14, column 8]\n _fun_init_list::X_X(n$0.x:init_list::X*) [line 14, column 8]\n " shape="box"] +"Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" [label="3: Constructor Init \n n$0=*&this:init_list::Y* [line 14, column 8]\n n$1=_fun_init_list::X_X(n$0.x:init_list::X*) [line 14, column 8]\n " shape="box"] "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" -> "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot index a0df42c1d..ee7769b39 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot @@ -70,19 +70,19 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: Call _fun_get \n _fun_get() [line 21, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: Call _fun_get \n n$1=_fun_get() [line 21, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n n$1=_fun_get() [line 20, column 15]\n *&fp:float*=n$1 [line 20, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n n$2=_fun_get() [line 20, column 15]\n *&fp:float*=n$2 [line 20, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: DeclStmt \n n$2=_fun_get() [line 19, column 13]\n *&f:float=n$2 [line 19, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: DeclStmt \n n$3=_fun_get() [line 19, column 13]\n *&f:float=n$3 [line 19, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: DeclStmt \n n$3=_fun_get() [line 18, column 11]\n *&i:int=n$3 [line 18, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: DeclStmt \n n$4=_fun_get() [line 18, column 11]\n *&i:int=n$4 [line 18, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot index fa96b9c0f..33d0cb894 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot @@ -36,7 +36,7 @@ digraph cfg { "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_9" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" [label="1: Start test\nFormals: \nLocals: __end:iterator 0$?%__sil_tmpSIL_materialize_temp__n$0:iterator __begin:iterator 0$?%__sil_tmpSIL_materialize_temp__n$4:iterator 0$?%__sil_tmp__temp_return_n$9:iterator 0$?%__sil_tmp__temp_construct_n$10:iterator 0$?%__sil_tmp__temp_construct_n$11:iterator temp:int value:int __range:vec& vector:vec \n DECLARE_LOCALS(&return,&__end,&0$?%__sil_tmpSIL_materialize_temp__n$0,&__begin,&0$?%__sil_tmpSIL_materialize_temp__n$4,&0$?%__sil_tmp__temp_return_n$9,&0$?%__sil_tmp__temp_construct_n$10,&0$?%__sil_tmp__temp_construct_n$11,&temp,&value,&__range,&vector); [line 35, column 1]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" [label="1: Start test\nFormals: \nLocals: __end:iterator 0$?%__sil_tmpSIL_materialize_temp__n$0:iterator __begin:iterator 0$?%__sil_tmpSIL_materialize_temp__n$6:iterator 0$?%__sil_tmp__temp_return_n$13:iterator 0$?%__sil_tmp__temp_construct_n$15:iterator 0$?%__sil_tmp__temp_construct_n$17:iterator temp:int value:int __range:vec& vector:vec \n DECLARE_LOCALS(&return,&__end,&0$?%__sil_tmpSIL_materialize_temp__n$0,&__begin,&0$?%__sil_tmpSIL_materialize_temp__n$6,&0$?%__sil_tmp__temp_return_n$13,&0$?%__sil_tmp__temp_construct_n$15,&0$?%__sil_tmp__temp_construct_n$17,&temp,&value,&__range,&vector); [line 35, column 1]\n " color=yellow style=filled] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" ; @@ -47,36 +47,36 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n n$1=*&__range:vec& [line 37, column 18]\n _=*n$1:vec [line 37, column 18]\n _fun_vec_end(n$1:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$0:iterator*) [line 37, column 18]\n _fun_iterator_iterator(&__end:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$0:iterator&) [line 37, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n n$1=*&__range:vec& [line 37, column 18]\n _=*n$1:vec [line 37, column 18]\n n$4=_fun_vec_end(n$1:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$0:iterator*) [line 37, column 18]\n n$5=_fun_iterator_iterator(&__end:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$0:iterator&) [line 37, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$5=*&__range:vec& [line 37, column 18]\n _=*n$5:vec [line 37, column 18]\n _fun_vec_begin(n$5:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$4:iterator*) [line 37, column 18]\n _fun_iterator_iterator(&__begin:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$4:iterator&) [line 37, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$7=*&__range:vec& [line 37, column 18]\n _=*n$7:vec [line 37, column 18]\n n$10=_fun_vec_begin(n$7:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$6:iterator*) [line 37, column 18]\n n$11=_fun_iterator_iterator(&__begin:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$6:iterator&) [line 37, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: Call _fun_iterator_operator++ \n _fun_iterator_operator++(&__begin:iterator&,&0$?%__sil_tmp__temp_return_n$9:iterator*) [line 37, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: Call _fun_iterator_operator++ \n n$14=_fun_iterator_operator++(&__begin:iterator&,&0$?%__sil_tmp__temp_return_n$13:iterator*) [line 37, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: Call _fun_operator!= \n _fun_iterator_iterator(&0$?%__sil_tmp__temp_construct_n$10:iterator*,&__begin:iterator&) [line 37, column 18]\n _fun_iterator_iterator(&0$?%__sil_tmp__temp_construct_n$11:iterator*,&__end:iterator&) [line 37, column 18]\n n$12=_fun_operator!=(&0$?%__sil_tmp__temp_construct_n$10:iterator,&0$?%__sil_tmp__temp_construct_n$11:iterator) [line 37, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: Call _fun_operator!= \n n$16=_fun_iterator_iterator(&0$?%__sil_tmp__temp_construct_n$15:iterator*,&__begin:iterator&) [line 37, column 18]\n n$18=_fun_iterator_iterator(&0$?%__sil_tmp__temp_construct_n$17:iterator*,&__end:iterator&) [line 37, column 18]\n n$19=_fun_operator!=(&0$?%__sil_tmp__temp_construct_n$15:iterator,&0$?%__sil_tmp__temp_construct_n$17:iterator) [line 37, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" ; "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: Prune (true branch, for loop) \n PRUNE(n$12, true); [line 37, column 18]\n " shape="invhouse"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: Prune (true branch, for loop) \n PRUNE(n$19, true); [line 37, column 18]\n " shape="invhouse"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" [label="9: Prune (false branch, for loop) \n PRUNE(!n$12, false); [line 37, column 18]\n " shape="invhouse"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" [label="9: Prune (false branch, for loop) \n PRUNE(!n$19, false); [line 37, column 18]\n " shape="invhouse"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" [label="10: DeclStmt \n n$13=*&value:int [line 38, column 16]\n n$14=*&value:int [line 38, column 24]\n *&temp:int=((n$13 * n$14) + 10) [line 38, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" [label="10: DeclStmt \n n$20=*&value:int [line 38, column 16]\n n$21=*&value:int [line 38, column 24]\n *&temp:int=((n$20 * n$21) + 10) [line 38, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" [label="11: DeclStmt \n n$15=_fun_iterator_operator*(&__begin:iterator&) [line 37, column 18]\n *&value:int=n$15 [line 37, column 8]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" [label="11: DeclStmt \n n$22=_fun_iterator_operator*(&__begin:iterator&) [line 37, column 18]\n *&value:int=n$22 [line 37, column 8]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" ; @@ -84,7 +84,7 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" [label="13: DeclStmt \n _fun_vec_vec(&vector:vec*,10:int) [line 36, column 7]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" [label="13: DeclStmt \n n$23=_fun_vec_vec(&vector:vec*,10:int) [line 36, column 7]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" ; @@ -95,7 +95,7 @@ digraph cfg { "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_2" [label="2: Exit vec_begin \n " color=yellow style=filled] -"begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 28, column 22]\n n$1=*&this:vec* [line 28, column 29]\n _fun_iterator_iterator(n$0:iterator*,n$1.begin_:iterator&) [line 28, column 29]\n " shape="box"] +"begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 28, column 22]\n n$1=*&this:vec* [line 28, column 29]\n n$2=_fun_iterator_iterator(n$0:iterator*,n$1.begin_:iterator&) [line 28, column 29]\n " shape="box"] "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_3" -> "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_2" ; @@ -106,7 +106,7 @@ digraph cfg { "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_2" [label="2: Exit vec_end \n " color=yellow style=filled] -"end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 29, column 20]\n n$1=*&this:vec* [line 29, column 27]\n _fun_iterator_iterator(n$0:iterator*,n$1.end_:iterator&) [line 29, column 27]\n " shape="box"] +"end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 29, column 20]\n n$1=*&this:vec* [line 29, column 27]\n n$2=_fun_iterator_iterator(n$0:iterator*,n$1.end_:iterator&) [line 29, column 27]\n " shape="box"] "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_3" -> "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_2" ; @@ -157,11 +157,11 @@ digraph cfg { "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_2" [label="2: Exit iterator_operator++ \n " color=yellow style=filled] -"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 15, column 5]\n n$1=*&this:iterator* [line 15, column 13]\n _fun_iterator_iterator(n$0:iterator*,n$1:iterator&) [line 15, column 12]\n " shape="box"] +"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 15, column 5]\n n$1=*&this:iterator* [line 15, column 13]\n n$2=_fun_iterator_iterator(n$0:iterator*,n$1:iterator&) [line 15, column 12]\n " shape="box"] "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_3" -> "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_2" ; -"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_4" [label="4: BinaryOperatorStmt: AddAssign \n n$2=*&this:iterator* [line 14, column 5]\n n$3=*n$2.val:int [line 14, column 5]\n *n$2.val:int=(n$3 + 1) [line 14, column 5]\n " shape="box"] +"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_4" [label="4: BinaryOperatorStmt: AddAssign \n n$3=*&this:iterator* [line 14, column 5]\n n$4=*n$3.val:int [line 14, column 5]\n *n$3.val:int=(n$4 + 1) [line 14, column 5]\n " shape="box"] "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_4" -> "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_3" ; @@ -180,11 +180,11 @@ digraph cfg { "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_4" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_3" ; -"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" [label="5: Constructor Init \n n$3=*&this:vec* [line 24, column 3]\n _fun_iterator_iterator(n$3.end_:iterator*) [line 24, column 3]\n " shape="box"] +"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" [label="5: Constructor Init \n n$3=*&this:vec* [line 24, column 3]\n n$4=_fun_iterator_iterator(n$3.end_:iterator*) [line 24, column 3]\n " shape="box"] "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_4" ; -"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" [label="6: Constructor Init \n n$4=*&this:vec* [line 24, column 3]\n _fun_iterator_iterator(n$4.begin_:iterator*) [line 24, column 3]\n " shape="box"] +"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" [label="6: Constructor Init \n n$5=*&this:vec* [line 24, column 3]\n n$6=_fun_iterator_iterator(n$5.begin_:iterator*) [line 24, column 3]\n " shape="box"] "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/union.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/union.cpp.dot index 82ddf4d9a..a72aafb32 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/union.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/union.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_2" [label="2: Exit __infer_globals_initializer_y \n " color=yellow style=filled] -"__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" [label="3: DeclStmt \n _fun_anonymous_union_nestedoperators_union.cpp:15:1_(&#GB$y:anonymous_union_nestedoperators_union.cpp:15:1*) [line 25, column 3]\n " shape="box"] +"__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" [label="3: DeclStmt \n n$0=_fun_anonymous_union_nestedoperators_union.cpp:15:1_(&#GB$y:anonymous_union_nestedoperators_union.cpp:15:1*) [line 25, column 3]\n " shape="box"] "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" -> "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot index 7aad11e76..dc247e4c0 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_2" [label="2: Exit simple \n " color=yellow style=filled] -"simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" [label="3: Return Stmt \n _fun___infer_skip(&vec:void&) [line 12, column 44]\n n$0=*-1:void [line 12, column 44]\n *&return:void=n$0 [line 12, column 37]\n " shape="box"] +"simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" [label="3: Return Stmt \n n$0=_fun___infer_skip(&vec:void&) [line 12, column 44]\n n$1=*-1:void [line 12, column 44]\n *&return:void=n$1 [line 12, column 37]\n " shape="box"] "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" -> "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot index 517510bc8..f1dbdfe1a 100644 --- a/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot @@ -130,11 +130,11 @@ digraph cfg { "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_2" ; -"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 91, column 3]\n _fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 91, column 3]\n " shape="box"] +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 91, column 3]\n n$4=_fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 91, column 3]\n " shape="box"] "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" ; -"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 90, column 23]\n n$4=*&t:int* [line 90, column 23]\n " shape="box"] +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" [label="5: DeclStmt \n n$6=_fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 90, column 23]\n n$5=*&t:int* [line 90, column 23]\n " shape="box"] "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" ; @@ -149,11 +149,11 @@ digraph cfg { "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_2" ; -"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 97, column 3]\n _fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 97, column 3]\n " shape="box"] +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 97, column 3]\n n$4=_fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 97, column 3]\n " shape="box"] "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" ; -"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 96, column 23]\n n$4=*&t:int* [line 96, column 23]\n " shape="box"] +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" [label="5: DeclStmt \n n$6=_fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 96, column 23]\n n$5=*&t:int* [line 96, column 23]\n " shape="box"] "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" ; @@ -168,11 +168,11 @@ digraph cfg { "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_2" ; -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 104, column 3]\n _fun_TranslateAsPtr_setPtr(&t:int*&,&a:int*) [line 104, column 3]\n " shape="box"] +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 104, column 3]\n n$4=_fun_TranslateAsPtr_setPtr(&t:int*&,&a:int*) [line 104, column 3]\n " shape="box"] "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" ; -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 103, column 23]\n n$4=*&t:int* [line 103, column 23]\n " shape="box"] +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" [label="5: DeclStmt \n n$6=_fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 103, column 23]\n n$5=*&t:int* [line 103, column 23]\n " shape="box"] "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" ; @@ -191,11 +191,11 @@ digraph cfg { "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_2" ; -"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 129, column 3]\n _fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 129, column 3]\n " shape="box"] +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 129, column 3]\n n$4=_fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 129, column 3]\n " shape="box"] "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" ; -"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 128, column 23]\n n$4=*&t:int* [line 128, column 23]\n " shape="box"] +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" [label="5: DeclStmt \n n$6=_fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 128, column 23]\n n$5=*&t:int* [line 128, column 23]\n " shape="box"] "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" ; @@ -210,11 +210,11 @@ digraph cfg { "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_2" ; -"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 135, column 3]\n _fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 135, column 3]\n " shape="box"] +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 135, column 3]\n n$4=_fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 135, column 3]\n " shape="box"] "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" ; -"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 134, column 23]\n n$4=*&t:int* [line 134, column 23]\n " shape="box"] +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" [label="5: DeclStmt \n n$6=_fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 134, column 23]\n n$5=*&t:int* [line 134, column 23]\n " shape="box"] "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" ; @@ -229,11 +229,11 @@ digraph cfg { "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_2" ; -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 142, column 3]\n _fun_TranslateAsPtr_setPtr(&t:int*&,&a:int*) [line 142, column 3]\n " shape="box"] +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 142, column 3]\n n$4=_fun_TranslateAsPtr_setPtr(&t:int*&,&a:int*) [line 142, column 3]\n " shape="box"] "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" ; -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 141, column 23]\n n$4=*&t:int* [line 141, column 23]\n " shape="box"] +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" [label="5: DeclStmt \n n$6=_fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 141, column 23]\n n$5=*&t:int* [line 141, column 23]\n " shape="box"] "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" ; @@ -252,11 +252,11 @@ digraph cfg { "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_2" ; -"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 110, column 3]\n _fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 110, column 3]\n " shape="box"] +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 110, column 3]\n n$3=_fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 110, column 3]\n " shape="box"] "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" ; -"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 109, column 23]\n n$3=*&t:int* [line 109, column 23]\n " shape="box"] +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" [label="5: DeclStmt \n n$5=_fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 109, column 23]\n n$4=*&t:int* [line 109, column 23]\n " shape="box"] "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" ; @@ -271,11 +271,11 @@ digraph cfg { "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_2" ; -"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 116, column 3]\n _fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 116, column 3]\n " shape="box"] +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 116, column 3]\n n$4=_fun_TranslateAsPtr_setPtr(&t:int*&,null:int*) [line 116, column 3]\n " shape="box"] "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" ; -"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 115, column 23]\n n$4=*&t:int* [line 115, column 23]\n " shape="box"] +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" [label="5: DeclStmt \n n$6=_fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 115, column 23]\n n$5=*&t:int* [line 115, column 23]\n " shape="box"] "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" ; @@ -290,11 +290,11 @@ digraph cfg { "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_2" ; -"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 123, column 3]\n _fun_TranslateAsPtr_setPtr(&t:int*&,&a:int*) [line 123, column 3]\n " shape="box"] +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int* [line 123, column 3]\n n$4=_fun_TranslateAsPtr_setPtr(&t:int*&,&a:int*) [line 123, column 3]\n " shape="box"] "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" ; -"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 122, column 23]\n n$4=*&t:int* [line 122, column 23]\n " shape="box"] +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" [label="5: DeclStmt \n n$6=_fun_TranslateAsPtr_TranslateAsPtr(&t:int**,null:int*) [line 122, column 23]\n n$5=*&t:int* [line 122, column 23]\n " shape="box"] "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" ; @@ -305,7 +305,7 @@ digraph cfg { "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_2" [label="2: Exit TranslateAsPtr_TranslateAsPtr \n " color=yellow style=filled] -"TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" [label="3: Call _fun_TranslateAsPtr_setPtr \n n$0=*&this:int** [line 76, column 36]\n _=*n$0:int* [line 76, column 36]\n n$2=*&t:int* [line 76, column 43]\n _fun_TranslateAsPtr_setPtr(n$0:int**,n$2:int*) [line 76, column 36]\n " shape="box"] +"TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" [label="3: Call _fun_TranslateAsPtr_setPtr \n n$0=*&this:int** [line 76, column 36]\n _=*n$0:int* [line 76, column 36]\n n$2=*&t:int* [line 76, column 43]\n n$3=_fun_TranslateAsPtr_setPtr(n$0:int**,n$2:int*) [line 76, column 36]\n " shape="box"] "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" -> "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot index d93703a5e..0449dc7f2 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot @@ -1,13 +1,13 @@ /* @generated */ digraph cfg { -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_1" [label="1: Start binary_conditional::binaryConditional\nFormals: \nLocals: x:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$3:binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X a:binary_conditional::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$3,&0$?%__sil_tmpSIL_temp_conditional___n$5,&0$?%__sil_tmpSIL_materialize_temp__n$2,&a); [line 22, column 1]\n " color=yellow style=filled] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_1" [label="1: Start binary_conditional::binaryConditional\nFormals: \nLocals: x:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$8:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$4:binary_conditional::X a:binary_conditional::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$5,&0$?%__sil_tmpSIL_temp_conditional___n$8,&0$?%__sil_tmpSIL_materialize_temp__n$4,&a); [line 22, column 1]\n " color=yellow style=filled] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_1" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" ; "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_2" [label="2: Exit binary_conditional::binaryConditional \n " color=yellow style=filled] -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_3" [label="3: Destruction \n _=*&x:binary_conditional::X [line 25, column 1]\n _fun_binary_conditional::X_~X(&x:binary_conditional::X*) [line 25, column 1]\n _=*&a:binary_conditional::X [line 25, column 1]\n _fun_binary_conditional::X_~X(&a:binary_conditional::X*) [line 25, column 1]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_3" [label="3: Destruction \n _=*&x:binary_conditional::X [line 25, column 1]\n n$1=_fun_binary_conditional::X_~X(&x:binary_conditional::X*) [line 25, column 1]\n _=*&a:binary_conditional::X [line 25, column 1]\n n$3=_fun_binary_conditional::X_~X(&a:binary_conditional::X*) [line 25, column 1]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_3" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_2" ; @@ -15,47 +15,47 @@ digraph cfg { "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_4" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" [label="5: Call _fun_binary_conditional::X_operator_bool \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:binary_conditional::X [line 24, column 9]\n n$7=_fun_binary_conditional::X_operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$3:binary_conditional::X&) [line 24, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" [label="5: Call _fun_binary_conditional::X_operator_bool \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X [line 24, column 9]\n n$10=_fun_binary_conditional::X_operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X&) [line 24, column 9]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" ; "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$7, true); [line 24, column 9]\n " shape="invhouse"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$10, true); [line 24, column 9]\n " shape="invhouse"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$7, false); [line 24, column 9]\n " shape="invhouse"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$10, false); [line 24, column 9]\n " shape="invhouse"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" [label="8: ConditinalStmt Branch \n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$3:binary_conditional::X&) [line 24, column 9]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 24, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" [label="8: ConditinalStmt Branch \n n$11=_fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$4:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X&) [line 24, column 9]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$4 [line 24, column 9]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_4" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" [label="9: ConditinalStmt Branch \n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X*,&a:binary_conditional::X&) [line 24, column 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 24, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" [label="9: ConditinalStmt Branch \n n$12=_fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$4:binary_conditional::X*,&a:binary_conditional::X&) [line 24, column 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$4 [line 24, column 9]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_4" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" [label="10: BinaryConditinalStmt Init \n _fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$3:binary_conditional::X*) [line 24, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" [label="10: BinaryConditinalStmt Init \n n$7=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*) [line 24, column 9]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" [label="11: DeclStmt \n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X [line 24, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X=n$8 [line 24, column 9]\n _fun_binary_conditional::X_X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X&) [line 24, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" [label="11: DeclStmt \n n$13=*&0$?%__sil_tmpSIL_temp_conditional___n$8:binary_conditional::X [line 24, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$4:binary_conditional::X=n$13 [line 24, column 9]\n n$14=_fun_binary_conditional::X_X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:binary_conditional::X&) [line 24, column 9]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_3" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" [label="12: DeclStmt \n _fun_binary_conditional::X_X(&a:binary_conditional::X*) [line 23, column 5]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" [label="12: DeclStmt \n n$15=_fun_binary_conditional::X_X(&a:binary_conditional::X*) [line 23, column 5]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_1" [label="1: Start binary_conditional::conditional\nFormals: \nLocals: x:binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$3:binary_conditional::X 0$?%__sil_tmp__temp_return_n$5:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X a:binary_conditional::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$3,&0$?%__sil_tmp__temp_return_n$5,&0$?%__sil_tmpSIL_materialize_temp__n$7,&0$?%__sil_tmpSIL_materialize_temp__n$2,&a); [line 27, column 1]\n " color=yellow style=filled] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_1" [label="1: Start binary_conditional::conditional\nFormals: \nLocals: x:binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X 0$?%__sil_tmp__temp_return_n$7:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$4:binary_conditional::X a:binary_conditional::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$5,&0$?%__sil_tmp__temp_return_n$7,&0$?%__sil_tmpSIL_materialize_temp__n$10,&0$?%__sil_tmpSIL_materialize_temp__n$4,&a); [line 27, column 1]\n " color=yellow style=filled] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_1" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_11" ; "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_2" [label="2: Exit binary_conditional::conditional \n " color=yellow style=filled] -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_3" [label="3: Destruction \n _=*&x:binary_conditional::X [line 30, column 1]\n _fun_binary_conditional::X_~X(&x:binary_conditional::X*) [line 30, column 1]\n _=*&a:binary_conditional::X [line 30, column 1]\n _fun_binary_conditional::X_~X(&a:binary_conditional::X*) [line 30, column 1]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_3" [label="3: Destruction \n _=*&x:binary_conditional::X [line 30, column 1]\n n$1=_fun_binary_conditional::X_~X(&x:binary_conditional::X*) [line 30, column 1]\n _=*&a:binary_conditional::X [line 30, column 1]\n n$3=_fun_binary_conditional::X_~X(&a:binary_conditional::X*) [line 30, column 1]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_3" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_2" ; @@ -63,32 +63,32 @@ digraph cfg { "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_4" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_10" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" [label="5: Call _fun_binary_conditional::X_operator_bool \n _fun_binary_conditional::getX(&0$?%__sil_tmp__temp_return_n$5:binary_conditional::X*) [line 29, column 9]\n n$6=_fun_binary_conditional::X_operator_bool(&0$?%__sil_tmp__temp_return_n$5:binary_conditional::X&) [line 29, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" [label="5: Call _fun_binary_conditional::X_operator_bool \n n$8=_fun_binary_conditional::getX(&0$?%__sil_tmp__temp_return_n$7:binary_conditional::X*) [line 29, column 9]\n n$9=_fun_binary_conditional::X_operator_bool(&0$?%__sil_tmp__temp_return_n$7:binary_conditional::X&) [line 29, column 9]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_6" ; "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$6, true); [line 29, column 9]\n " shape="invhouse"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$9, true); [line 29, column 9]\n " shape="invhouse"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_6" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_8" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$6, false); [line 29, column 9]\n " shape="invhouse"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$9, false); [line 29, column 9]\n " shape="invhouse"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_9" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_8" [label="8: ConditinalStmt Branch \n _fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X*) [line 29, column 18]\n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X&) [line 29, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 29, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_8" [label="8: ConditinalStmt Branch \n n$12=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X*) [line 29, column 18]\n n$13=_fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$4:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X&) [line 29, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$4 [line 29, column 9]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_8" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_4" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_9" [label="9: ConditinalStmt Branch \n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X*,&a:binary_conditional::X&) [line 29, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 29, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_9" [label="9: ConditinalStmt Branch \n n$14=_fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$4:binary_conditional::X*,&a:binary_conditional::X&) [line 29, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$4 [line 29, column 9]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_9" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_4" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_10" [label="10: DeclStmt \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$3:binary_conditional::X [line 29, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X=n$9 [line 29, column 9]\n _fun_binary_conditional::X_X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$2:binary_conditional::X&) [line 29, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_10" [label="10: DeclStmt \n n$15=*&0$?%__sil_tmpSIL_temp_conditional___n$5:binary_conditional::X [line 29, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$4:binary_conditional::X=n$15 [line 29, column 9]\n n$16=_fun_binary_conditional::X_X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:binary_conditional::X&) [line 29, column 9]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_10" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_3" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_11" [label="11: DeclStmt \n _fun_binary_conditional::X_X(&a:binary_conditional::X*) [line 28, column 5]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_11" [label="11: DeclStmt \n n$17=_fun_binary_conditional::X_X(&a:binary_conditional::X*) [line 28, column 5]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_11" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" ; @@ -99,11 +99,11 @@ digraph cfg { "getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_2" [label="2: Exit binary_conditional::getX \n " color=yellow style=filled] -"getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_3" [label="3: Return Stmt \n n$0=*&__return_param:binary_conditional::X* [line 18, column 3]\n _fun_binary_conditional::X_X(n$0:binary_conditional::X*,&x:binary_conditional::X&) [line 18, column 10]\n _=*&x:binary_conditional::X [line 18, column 10]\n _fun_binary_conditional::X_~X(&x:binary_conditional::X*) [line 18, column 10]\n " shape="box"] +"getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_3" [label="3: Return Stmt \n n$0=*&__return_param:binary_conditional::X* [line 18, column 3]\n n$1=_fun_binary_conditional::X_X(n$0:binary_conditional::X*,&x:binary_conditional::X&) [line 18, column 10]\n _=*&x:binary_conditional::X [line 18, column 10]\n n$3=_fun_binary_conditional::X_~X(&x:binary_conditional::X*) [line 18, column 10]\n " shape="box"] "getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_3" -> "getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_2" ; -"getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_4" [label="4: DeclStmt \n _fun_binary_conditional::X_X(&x:binary_conditional::X*) [line 17, column 5]\n " shape="box"] +"getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_4" [label="4: DeclStmt \n n$4=_fun_binary_conditional::X_X(&x:binary_conditional::X*) [line 17, column 5]\n " shape="box"] "getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_4" -> "getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot index 0decac13c..e49c16908 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot @@ -1,6 +1,6 @@ /* @generated */ digraph cfg { -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_1" [label="1: Start array_of_person\nFormals: \nLocals: arr:Person[10*4] 0$?%__sil_tmpSIL_materialize_temp__n$1:Person 0$?%__sil_tmpSIL_materialize_temp__n$2:Person 0$?%__sil_tmpSIL_materialize_temp__n$3:Person \n DECLARE_LOCALS(&return,&arr,&0$?%__sil_tmpSIL_materialize_temp__n$1,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 17, column 1]\n " color=yellow style=filled] +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_1" [label="1: Start array_of_person\nFormals: \nLocals: arr:Person[10*4] 0$?%__sil_tmpSIL_materialize_temp__n$1:Person 0$?%__sil_tmpSIL_materialize_temp__n$4:Person 0$?%__sil_tmpSIL_materialize_temp__n$7:Person \n DECLARE_LOCALS(&return,&arr,&0$?%__sil_tmpSIL_materialize_temp__n$1,&0$?%__sil_tmpSIL_materialize_temp__n$4,&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 17, column 1]\n " color=yellow style=filled] "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_1" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" ; @@ -11,7 +11,7 @@ digraph cfg { "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_2" ; -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" [label="4: DeclStmt \n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 18, column 21]\n _fun_Person_Person(&arr[0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 18, column 21]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 18, column 31]\n _fun_Person_Person(&arr[1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 18, column 31]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) [line 18, column 41]\n _fun_Person_Person(&arr[2]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Person&) [line 18, column 41]\n " shape="box"] +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" [label="4: DeclStmt \n n$2=_fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 18, column 21]\n n$3=_fun_Person_Person(&arr[0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 18, column 21]\n n$5=_fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) [line 18, column 31]\n n$6=_fun_Person_Person(&arr[1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$4:Person&) [line 18, column 31]\n n$8=_fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$7:Person*) [line 18, column 41]\n n$9=_fun_Person_Person(&arr[2]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$7:Person&) [line 18, column 41]\n " shape="box"] "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" ; @@ -22,7 +22,7 @@ digraph cfg { "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_2" [label="2: Exit initialization_c_style \n " color=yellow style=filled] -"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" [label="3: DeclStmt \n _fun_Z_Z(&z2:Z*) [line 34, column 12]\n " shape="box"] +"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" [label="3: DeclStmt \n n$0=_fun_Z_Z(&z2:Z*) [line 34, column 12]\n " shape="box"] "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" -> "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_2" ; @@ -37,19 +37,19 @@ digraph cfg { "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_2" [label="2: Exit initialization_mixed_styles_not_handled_correctly \n " color=yellow style=filled] -"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_3" [label="3: DeclStmt \n _fun_Z_Z(&z2:Z*) [line 42, column 12]\n " shape="box"] +"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_3" [label="3: DeclStmt \n n$0=_fun_Z_Z(&z2:Z*) [line 42, column 12]\n " shape="box"] "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_3" -> "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_2" ; -"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_4" [label="4: DeclStmt \n *&z[0].a:int=1 [line 41, column 20]\n *&z[0].b:int=2 [line 41, column 20]\n _fun_Z_Z(&z[1]:Z*,&old:Z&) [line 41, column 28]\n " shape="box"] +"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_4" [label="4: DeclStmt \n *&z[0].a:int=1 [line 41, column 20]\n *&z[0].b:int=2 [line 41, column 20]\n n$1=_fun_Z_Z(&z[1]:Z*,&old:Z&) [line 41, column 28]\n " shape="box"] "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_4" -> "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_3" ; -"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_5" [label="5: DeclStmt \n _fun_Z_Z(&old:Z*) [line 40, column 12]\n " shape="box"] +"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_5" [label="5: DeclStmt \n n$2=_fun_Z_Z(&old:Z*) [line 40, column 12]\n " shape="box"] "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_5" -> "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_4" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_1" [label="1: Start matrix_of_person\nFormals: \nLocals: arr:Person[2*4][2*8] 0$?%__sil_tmpSIL_materialize_temp__n$1:Person 0$?%__sil_tmpSIL_materialize_temp__n$2:Person 0$?%__sil_tmpSIL_materialize_temp__n$3:Person 0$?%__sil_tmpSIL_materialize_temp__n$4:Person \n DECLARE_LOCALS(&return,&arr,&0$?%__sil_tmpSIL_materialize_temp__n$1,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmpSIL_materialize_temp__n$3,&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 22, column 1]\n " color=yellow style=filled] +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_1" [label="1: Start matrix_of_person\nFormals: \nLocals: arr:Person[2*4][2*8] 0$?%__sil_tmpSIL_materialize_temp__n$1:Person 0$?%__sil_tmpSIL_materialize_temp__n$4:Person 0$?%__sil_tmpSIL_materialize_temp__n$7:Person 0$?%__sil_tmpSIL_materialize_temp__n$10:Person \n DECLARE_LOCALS(&return,&arr,&0$?%__sil_tmpSIL_materialize_temp__n$1,&0$?%__sil_tmpSIL_materialize_temp__n$4,&0$?%__sil_tmpSIL_materialize_temp__n$7,&0$?%__sil_tmpSIL_materialize_temp__n$10); [line 22, column 1]\n " color=yellow style=filled] "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_1" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" ; @@ -60,7 +60,7 @@ digraph cfg { "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_2" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" [label="4: DeclStmt \n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 23, column 23]\n _fun_Person_Person(&arr[0][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 23, column 23]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 23, column 33]\n _fun_Person_Person(&arr[0][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 23, column 33]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) [line 23, column 43]\n _fun_Person_Person(&arr[1][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Person&) [line 23, column 43]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) [line 23, column 53]\n _fun_Person_Person(&arr[1][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$4:Person&) [line 23, column 53]\n " shape="box"] +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" [label="4: DeclStmt \n n$2=_fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 23, column 23]\n n$3=_fun_Person_Person(&arr[0][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 23, column 23]\n n$5=_fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) [line 23, column 33]\n n$6=_fun_Person_Person(&arr[0][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$4:Person&) [line 23, column 33]\n n$8=_fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$7:Person*) [line 23, column 43]\n n$9=_fun_Person_Person(&arr[1][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$7:Person&) [line 23, column 43]\n n$11=_fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$10:Person*) [line 23, column 53]\n n$12=_fun_Person_Person(&arr[1][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$10:Person&) [line 23, column 53]\n " shape="box"] "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot index a59d464ad..2d12a5b45 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot @@ -7,15 +7,15 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n _fun_X_X(&x3:X*,0:int,1:int) [line 23, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n n$0=_fun_X_X(&x3:X*,0:int,1:int) [line 23, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n _fun_X_X(&x2:X*,1:int,0:int) [line 22, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n n$1=_fun_X_X(&x2:X*,1:int,0:int) [line 22, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n _fun_X_X(&x1:X*,0:int,0:int) [line 21, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$2=_fun_X_X(&x1:X*,0:int,0:int) [line 21, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot index 60db64bc9..dfb079d8d 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot @@ -7,15 +7,15 @@ digraph cfg { "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_2" [label="2: Exit delegate_constr_f2_div0 \n " color=yellow style=filled] -"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 51, column 14]\n *&return:int=(1 / n$0) [line 51, column 3]\n _=*&b:B [line 51, column 16]\n _fun_B_~B(&b:B*) [line 51, column 16]\n " shape="box"] +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 51, column 14]\n *&return:int=(1 / n$0) [line 51, column 3]\n _=*&b:B [line 51, column 16]\n n$2=_fun_B_~B(&b:B*) [line 51, column 16]\n " shape="box"] "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_2" ; -"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" [label="4: DeclStmt \n n$2=*&b.f:int [line 50, column 15]\n *&v:int=(1 / n$2) [line 50, column 3]\n " shape="box"] +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" [label="4: DeclStmt \n n$3=*&b.f:int [line 50, column 15]\n *&v:int=(1 / n$3) [line 50, column 3]\n " shape="box"] "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" ; -"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" [label="5: DeclStmt \n _fun_B_B(&b:B*,-1:int,0:int) [line 49, column 5]\n " shape="box"] +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" [label="5: DeclStmt \n n$4=_fun_B_B(&b:B*,-1:int,0:int) [line 49, column 5]\n " shape="box"] "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" ; @@ -26,15 +26,15 @@ digraph cfg { "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_2" [label="2: Exit delegate_constr_f_div0 \n " color=yellow style=filled] -"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 45, column 14]\n *&return:int=(1 / n$0) [line 45, column 3]\n _=*&b:B [line 45, column 16]\n _fun_B_~B(&b:B*) [line 45, column 16]\n " shape="box"] +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 45, column 14]\n *&return:int=(1 / n$0) [line 45, column 3]\n _=*&b:B [line 45, column 16]\n n$2=_fun_B_~B(&b:B*) [line 45, column 16]\n " shape="box"] "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_2" ; -"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" [label="4: DeclStmt \n n$2=*&b.f2:int [line 44, column 15]\n *&v:int=(1 / n$2) [line 44, column 3]\n " shape="box"] +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" [label="4: DeclStmt \n n$3=*&b.f2:int [line 44, column 15]\n *&v:int=(1 / n$3) [line 44, column 3]\n " shape="box"] "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" ; -"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" [label="5: DeclStmt \n _fun_B_B(&b:B*,-1:int,1:int) [line 43, column 5]\n " shape="box"] +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" [label="5: DeclStmt \n n$4=_fun_B_B(&b:B*,-1:int,1:int) [line 43, column 5]\n " shape="box"] "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" ; @@ -45,11 +45,11 @@ digraph cfg { "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_2" [label="2: Exit f2_div0 \n " color=yellow style=filled] -"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 29, column 14]\n *&return:int=(1 / n$0) [line 29, column 3]\n _=*&b:B [line 29, column 16]\n _fun_B_~B(&b:B*) [line 29, column 16]\n " shape="box"] +"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 29, column 14]\n *&return:int=(1 / n$0) [line 29, column 3]\n _=*&b:B [line 29, column 16]\n n$2=_fun_B_~B(&b:B*) [line 29, column 16]\n " shape="box"] "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_2" ; -"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" [label="4: DeclStmt \n _fun_B_B(&b:B*,0:int) [line 28, column 5]\n " shape="box"] +"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" [label="4: DeclStmt \n n$3=_fun_B_B(&b:B*,0:int) [line 28, column 5]\n " shape="box"] "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" ; @@ -60,11 +60,11 @@ digraph cfg { "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_2" [label="2: Exit f_div0 \n " color=yellow style=filled] -"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 34, column 14]\n *&return:int=(1 / n$0) [line 34, column 3]\n _=*&b:B [line 34, column 16]\n _fun_B_~B(&b:B*) [line 34, column 16]\n " shape="box"] +"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 34, column 14]\n *&return:int=(1 / n$0) [line 34, column 3]\n _=*&b:B [line 34, column 16]\n n$2=_fun_B_~B(&b:B*) [line 34, column 16]\n " shape="box"] "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_2" ; -"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" [label="4: DeclStmt \n _fun_B_B(&b:B*,0:int) [line 33, column 5]\n " shape="box"] +"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" [label="4: DeclStmt \n n$3=_fun_B_B(&b:B*,0:int) [line 33, column 5]\n " shape="box"] "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" ; @@ -75,23 +75,23 @@ digraph cfg { "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_2" [label="2: Exit f_f2_div1 \n " color=yellow style=filled] -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" [label="3: Return Stmt \n n$0=*&v:int [line 59, column 10]\n n$1=*&v2:int [line 59, column 14]\n *&return:int=(n$0 + n$1) [line 59, column 3]\n _=*&b:B [line 59, column 14]\n _fun_B_~B(&b:B*) [line 59, column 14]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" [label="3: Return Stmt \n n$0=*&v:int [line 59, column 10]\n n$1=*&v2:int [line 59, column 14]\n *&return:int=(n$0 + n$1) [line 59, column 3]\n _=*&b:B [line 59, column 14]\n n$3=_fun_B_~B(&b:B*) [line 59, column 14]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_2" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" [label="4: DeclStmt \n n$3=*&b.t.v:int [line 58, column 16]\n *&v3:int=(1 / n$3) [line 58, column 3]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" [label="4: DeclStmt \n n$4=*&b.t.v:int [line 58, column 16]\n *&v3:int=(1 / n$4) [line 58, column 3]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" [label="5: DeclStmt \n n$4=*&b.f2:int [line 57, column 16]\n *&v2:int=(1 / n$4) [line 57, column 3]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" [label="5: DeclStmt \n n$5=*&b.f2:int [line 57, column 16]\n *&v2:int=(1 / n$5) [line 57, column 3]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" [label="6: DeclStmt \n n$5=*&b.f:int [line 56, column 15]\n *&v:int=(1 / n$5) [line 56, column 3]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" [label="6: DeclStmt \n n$6=*&b.f:int [line 56, column 15]\n *&v:int=(1 / n$6) [line 56, column 3]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" [label="7: DeclStmt \n _fun_B_B(&b:B*,1:int) [line 55, column 5]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" [label="7: DeclStmt \n n$7=_fun_B_B(&b:B*,1:int) [line 55, column 5]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" ; @@ -102,11 +102,11 @@ digraph cfg { "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_2" [label="2: Exit t_div0 \n " color=yellow style=filled] -"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" [label="3: Return Stmt \n n$0=*&b.t.v:int [line 39, column 14]\n *&return:int=(1 / n$0) [line 39, column 3]\n _=*&b:B [line 39, column 18]\n _fun_B_~B(&b:B*) [line 39, column 18]\n " shape="box"] +"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" [label="3: Return Stmt \n n$0=*&b.t.v:int [line 39, column 14]\n *&return:int=(1 / n$0) [line 39, column 3]\n _=*&b:B [line 39, column 18]\n n$2=_fun_B_~B(&b:B*) [line 39, column 18]\n " shape="box"] "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_2" ; -"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" [label="4: DeclStmt \n _fun_B_B(&b:B*,0:int) [line 38, column 5]\n " shape="box"] +"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" [label="4: DeclStmt \n n$3=_fun_B_B(&b:B*,0:int) [line 38, column 5]\n " shape="box"] "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" ; @@ -128,15 +128,15 @@ digraph cfg { "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_2" [label="2: Exit B_B \n " color=yellow style=filled] -"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" [label="3: Constructor Init \n n$0=*&this:B* [line 22, column 27]\n n$1=*&a:int [line 22, column 29]\n _fun_B::T_T(n$0.t:B::T*,n$1:int) [line 22, column 27]\n " shape="box"] +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" [label="3: Constructor Init \n n$0=*&this:B* [line 22, column 27]\n n$1=*&a:int [line 22, column 29]\n n$2=_fun_B::T_T(n$0.t:B::T*,n$1:int) [line 22, column 27]\n " shape="box"] "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_2" ; -"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" [label="4: Constructor Init \n n$2=*&this:B* [line 22, column 20]\n n$3=*&a:int [line 22, column 23]\n *n$2.f2:int=n$3 [line 22, column 20]\n " shape="box"] +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" [label="4: Constructor Init \n n$3=*&this:B* [line 22, column 20]\n n$4=*&a:int [line 22, column 23]\n *n$3.f2:int=n$4 [line 22, column 20]\n " shape="box"] "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" ; -"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" [label="5: Constructor Init \n n$4=*&this:B* [line 22, column 14]\n n$5=*&a:int [line 22, column 16]\n _fun_A_A(n$4:B*,n$5:int) [line 22, column 14]\n " shape="box"] +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" [label="5: Constructor Init \n n$5=*&this:B* [line 22, column 14]\n n$6=*&a:int [line 22, column 16]\n n$7=_fun_A_A(n$5:B*,n$6:int) [line 22, column 14]\n " shape="box"] "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" ; @@ -151,7 +151,7 @@ digraph cfg { "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_3" -> "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_2" ; -"B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_4" [label="4: Constructor Init \n n$2=*&this:B* [line 24, column 21]\n n$3=*&a:int [line 24, column 23]\n n$4=*&b:int [line 24, column 27]\n _fun_B_B(n$2:B*,(n$3 + n$4):int) [line 24, column 21]\n " shape="box"] +"B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_4" [label="4: Constructor Init \n n$2=*&this:B* [line 24, column 21]\n n$3=*&a:int [line 24, column 23]\n n$4=*&b:int [line 24, column 27]\n n$5=_fun_B_B(n$2:B*,(n$3 + n$4):int) [line 24, column 21]\n " shape="box"] "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_4" -> "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot index fab22fba6..244871a63 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot @@ -43,7 +43,7 @@ digraph cfg { "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_2" [label="2: Exit constructor_new::array_of_person_with_constant_size \n " color=yellow style=filled] -"array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" [label="3: DeclStmt \n n$0=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 95, column 62]\n _fun_constructor_new::Person_Person(n$0[0]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[1]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[2]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[3]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[4]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[5]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[6]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[7]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[8]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[9]:constructor_new::Person[_*_](*)) [line 95, column 66]\n *&tarray:constructor_new::Person*=n$0 [line 95, column 45]\n " shape="box"] +"array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" [label="3: DeclStmt \n n$0=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 95, column 62]\n n$1=_fun_constructor_new::Person_Person(n$0[0]:constructor_new::Person[_*_](*)) [line 95, column 66]\n n$2=_fun_constructor_new::Person_Person(n$0[1]:constructor_new::Person[_*_](*)) [line 95, column 66]\n n$3=_fun_constructor_new::Person_Person(n$0[2]:constructor_new::Person[_*_](*)) [line 95, column 66]\n n$4=_fun_constructor_new::Person_Person(n$0[3]:constructor_new::Person[_*_](*)) [line 95, column 66]\n n$5=_fun_constructor_new::Person_Person(n$0[4]:constructor_new::Person[_*_](*)) [line 95, column 66]\n n$6=_fun_constructor_new::Person_Person(n$0[5]:constructor_new::Person[_*_](*)) [line 95, column 66]\n n$7=_fun_constructor_new::Person_Person(n$0[6]:constructor_new::Person[_*_](*)) [line 95, column 66]\n n$8=_fun_constructor_new::Person_Person(n$0[7]:constructor_new::Person[_*_](*)) [line 95, column 66]\n n$9=_fun_constructor_new::Person_Person(n$0[8]:constructor_new::Person[_*_](*)) [line 95, column 66]\n n$10=_fun_constructor_new::Person_Person(n$0[9]:constructor_new::Person[_*_](*)) [line 95, column 66]\n *&tarray:constructor_new::Person*=n$0 [line 95, column 45]\n " shape="box"] "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" -> "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_2" ; @@ -58,7 +58,7 @@ digraph cfg { "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_2" ; -"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 30, column 15]\n _fun_constructor_new::Person_Person(n$2:constructor_new::Person*,5:int) [line 30, column 19]\n *&p:constructor_new::Person*=n$2 [line 30, column 3]\n " shape="box"] +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 30, column 15]\n n$3=_fun_constructor_new::Person_Person(n$2:constructor_new::Person*,5:int) [line 30, column 19]\n *&p:constructor_new::Person*=n$2 [line 30, column 3]\n " shape="box"] "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" ; @@ -73,7 +73,7 @@ digraph cfg { "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_2" ; -"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 35, column 15]\n _fun_constructor_new::Person_Person(n$2:constructor_new::Person*,5:int,6:int,7:int) [line 35, column 19]\n *&p:constructor_new::Person*=n$2 [line 35, column 3]\n " shape="box"] +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 35, column 15]\n n$3=_fun_constructor_new::Person_Person(n$2:constructor_new::Person*,5:int,6:int,7:int) [line 35, column 19]\n *&p:constructor_new::Person*=n$2 [line 35, column 3]\n " shape="box"] "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" ; @@ -113,7 +113,7 @@ digraph cfg { "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" [label="10: DeclStmt \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 73, column 15]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 73, column 26]\n _fun_constructor_new::Person_Person(n$2:constructor_new::Person*,n$7:int) [line 73, column 19]\n *&p:constructor_new::Person*=n$2 [line 73, column 3]\n " shape="box"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" [label="10: DeclStmt \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 73, column 15]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 73, column 26]\n n$8=_fun_constructor_new::Person_Person(n$2:constructor_new::Person*,n$7:int) [line 73, column 19]\n *&p:constructor_new::Person*=n$2 [line 73, column 3]\n " shape="box"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" ; @@ -325,11 +325,11 @@ digraph cfg { "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_2" [label="2: Exit constructor_new::matrix_of_person \n " color=yellow style=filled] -"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&tarray:constructor_new::Person** [line 100, column 3]\n n$1=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 100, column 15]\n _fun_constructor_new::Person_Person(n$1[0]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[1]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[2]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[3]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[4]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[5]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[6]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[7]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[8]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[9]:constructor_new::Person[_*_](*)) [line 100, column 19]\n *n$0[0]:constructor_new::Person*=n$1 [line 100, column 3]\n " shape="box"] +"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&tarray:constructor_new::Person** [line 100, column 3]\n n$1=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 100, column 15]\n n$2=_fun_constructor_new::Person_Person(n$1[0]:constructor_new::Person[_*_](*)) [line 100, column 19]\n n$3=_fun_constructor_new::Person_Person(n$1[1]:constructor_new::Person[_*_](*)) [line 100, column 19]\n n$4=_fun_constructor_new::Person_Person(n$1[2]:constructor_new::Person[_*_](*)) [line 100, column 19]\n n$5=_fun_constructor_new::Person_Person(n$1[3]:constructor_new::Person[_*_](*)) [line 100, column 19]\n n$6=_fun_constructor_new::Person_Person(n$1[4]:constructor_new::Person[_*_](*)) [line 100, column 19]\n n$7=_fun_constructor_new::Person_Person(n$1[5]:constructor_new::Person[_*_](*)) [line 100, column 19]\n n$8=_fun_constructor_new::Person_Person(n$1[6]:constructor_new::Person[_*_](*)) [line 100, column 19]\n n$9=_fun_constructor_new::Person_Person(n$1[7]:constructor_new::Person[_*_](*)) [line 100, column 19]\n n$10=_fun_constructor_new::Person_Person(n$1[8]:constructor_new::Person[_*_](*)) [line 100, column 19]\n n$11=_fun_constructor_new::Person_Person(n$1[9]:constructor_new::Person[_*_](*)) [line 100, column 19]\n *n$0[0]:constructor_new::Person*=n$1 [line 100, column 3]\n " shape="box"] "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" -> "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_2" ; -"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" [label="4: DeclStmt \n n$2=_fun___new_array((sizeof(t=constructor_new::Person*) * 10):unsigned long) [line 99, column 21]\n *&tarray:constructor_new::Person**=n$2 [line 99, column 3]\n " shape="box"] +"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" [label="4: DeclStmt \n n$12=_fun___new_array((sizeof(t=constructor_new::Person*) * 10):unsigned long) [line 99, column 21]\n *&tarray:constructor_new::Person**=n$12 [line 99, column 3]\n " shape="box"] "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" -> "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot index f34ba25f4..0708fd9ac 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n *&0$?%__sil_tmpSIL_init_list__n$0.top:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.left:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.bottom:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.right:int=0 [line 17, column 25]\n _fun_Person_Person(&p:Person*,&0$?%__sil_tmpSIL_init_list__n$0:Insets) [line 17, column 22]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n *&0$?%__sil_tmpSIL_init_list__n$0.top:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.left:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.bottom:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.right:int=0 [line 17, column 25]\n n$1=_fun_Person_Person(&p:Person*,&0$?%__sil_tmpSIL_init_list__n$0:Insets) [line 17, column 22]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot index 6b46fae7c..b41c9824f 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot @@ -11,7 +11,7 @@ digraph cfg { "test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_3" -> "test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_2" ; -"test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_4" [label="4: DeclStmt \n _fun_constructor_with_body::X_X(&x:constructor_with_body::X*,-2:int,2:int) [line 31, column 5]\n " shape="box"] +"test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_4" [label="4: DeclStmt \n n$2=_fun_constructor_with_body::X_X(&x:constructor_with_body::X*,-2:int,2:int) [line 31, column 5]\n " shape="box"] "test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_4" -> "test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_3" ; @@ -26,7 +26,7 @@ digraph cfg { "test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_3" -> "test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_2" ; -"test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_4" [label="4: DeclStmt \n _fun_constructor_with_body::X_X(&x:constructor_with_body::X*) [line 36, column 5]\n " shape="box"] +"test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_4" [label="4: DeclStmt \n n$2=_fun_constructor_with_body::X_X(&x:constructor_with_body::X*) [line 36, column 5]\n " shape="box"] "test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_4" -> "test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_3" ; @@ -41,7 +41,7 @@ digraph cfg { "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_3" -> "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_2" ; -"test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_4" [label="4: DeclStmt \n _fun_constructor_with_body::X_X(&x:constructor_with_body::X*,0:int,1:int) [line 41, column 5]\n " shape="box"] +"test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_4" [label="4: DeclStmt \n n$2=_fun_constructor_with_body::X_X(&x:constructor_with_body::X*,0:int,1:int) [line 41, column 5]\n " shape="box"] "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_4" -> "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_3" ; @@ -52,7 +52,7 @@ digraph cfg { "X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_2" [label="2: Exit constructor_with_body::X_X \n " color=yellow style=filled] -"X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_3" [label="3: Call _fun_constructor_with_body::X_init \n n$0=*&this:constructor_with_body::X* [line 17, column 9]\n _=*n$0:constructor_with_body::X [line 17, column 9]\n _fun_constructor_with_body::X_init(n$0:constructor_with_body::X*) [line 17, column 9]\n " shape="box"] +"X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_3" [label="3: Call _fun_constructor_with_body::X_init \n n$0=*&this:constructor_with_body::X* [line 17, column 9]\n _=*n$0:constructor_with_body::X [line 17, column 9]\n n$2=_fun_constructor_with_body::X_init(n$0:constructor_with_body::X*) [line 17, column 9]\n " shape="box"] "X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_3" -> "X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_2" ; @@ -67,11 +67,11 @@ digraph cfg { "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_3" -> "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_2" ; -"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_4" [label="4: Call _fun_constructor_with_body::X_init \n n$2=*&this:constructor_with_body::X* [line 26, column 3]\n _=*n$2:constructor_with_body::X [line 26, column 3]\n _fun_constructor_with_body::X_init(n$2:constructor_with_body::X*) [line 26, column 3]\n " shape="box"] +"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_4" [label="4: Call _fun_constructor_with_body::X_init \n n$2=*&this:constructor_with_body::X* [line 26, column 3]\n _=*n$2:constructor_with_body::X [line 26, column 3]\n n$4=_fun_constructor_with_body::X_init(n$2:constructor_with_body::X*) [line 26, column 3]\n " shape="box"] "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_4" -> "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_3" ; -"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_5" [label="5: DeclStmt \n n$4=*&a:int [line 25, column 11]\n n$5=*&b:int [line 25, column 15]\n *&c:int=(n$4 + n$5) [line 25, column 3]\n " shape="box"] +"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_5" [label="5: DeclStmt \n n$5=*&a:int [line 25, column 11]\n n$6=*&b:int [line 25, column 15]\n *&c:int=(n$5 + n$6) [line 25, column 3]\n " shape="box"] "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_5" -> "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/copy_array_field.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/copy_array_field.cpp.dot index 81445c4ac..a7416a3bb 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/copy_array_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/copy_array_field.cpp.dot @@ -11,7 +11,7 @@ digraph cfg { "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_2" ; -"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" [label="4: DeclStmt \n _fun_copy_array_field::X_X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 26, column 10]\n " shape="box"] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" [label="4: DeclStmt \n n$2=_fun_copy_array_field::X_X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 26, column 10]\n " shape="box"] "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" ; @@ -19,7 +19,7 @@ digraph cfg { "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_5" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" ; -"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" [label="6: DeclStmt \n _fun_copy_array_field::X_X(&x1:copy_array_field::X*) [line 24, column 5]\n " shape="box"] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" [label="6: DeclStmt \n n$3=_fun_copy_array_field::X_X(&x1:copy_array_field::X*) [line 24, column 5]\n " shape="box"] "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_5" ; @@ -38,7 +38,7 @@ digraph cfg { "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_2" ; -"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" [label="4: DeclStmt \n _fun_copy_array_field::X_X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 18, column 10]\n " shape="box"] +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" [label="4: DeclStmt \n n$2=_fun_copy_array_field::X_X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 18, column 10]\n " shape="box"] "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" ; @@ -46,7 +46,7 @@ digraph cfg { "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_5" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" ; -"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" [label="6: DeclStmt \n _fun_copy_array_field::X_X(&x1:copy_array_field::X*) [line 16, column 5]\n " shape="box"] +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" [label="6: DeclStmt \n n$3=_fun_copy_array_field::X_X(&x1:copy_array_field::X*) [line 16, column 5]\n " shape="box"] "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_5" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot index 502a427d0..290a31c79 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_2" [label="2: Exit copy_move_constructor::copyX_div0 \n " color=yellow style=filled] -"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" [label="3: Return Stmt \n n$0=*&x2.f:int [line 45, column 14]\n *&return:int=(1 / n$0) [line 45, column 3]\n _=*&x2:copy_move_constructor::X [line 45, column 17]\n _fun_copy_move_constructor::X_~X(&x2:copy_move_constructor::X*) [line 45, column 17]\n _=*&x1:copy_move_constructor::X [line 45, column 17]\n _fun_copy_move_constructor::X_~X(&x1:copy_move_constructor::X*) [line 45, column 17]\n " shape="box"] +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" [label="3: Return Stmt \n n$0=*&x2.f:int [line 45, column 14]\n *&return:int=(1 / n$0) [line 45, column 3]\n _=*&x2:copy_move_constructor::X [line 45, column 17]\n n$2=_fun_copy_move_constructor::X_~X(&x2:copy_move_constructor::X*) [line 45, column 17]\n _=*&x1:copy_move_constructor::X [line 45, column 17]\n n$4=_fun_copy_move_constructor::X_~X(&x1:copy_move_constructor::X*) [line 45, column 17]\n " shape="box"] "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_2" ; -"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" [label="4: DeclStmt \n _fun_copy_move_constructor::X_X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 44, column 10]\n " shape="box"] +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" [label="4: DeclStmt \n n$5=_fun_copy_move_constructor::X_X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 44, column 10]\n " shape="box"] "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" ; @@ -19,30 +19,30 @@ digraph cfg { "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_5" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" ; -"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" [label="6: DeclStmt \n _fun_copy_move_constructor::X_X(&x1:copy_move_constructor::X*) [line 42, column 5]\n " shape="box"] +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" [label="6: DeclStmt \n n$6=_fun_copy_move_constructor::X_X(&x1:copy_move_constructor::X*) [line 42, column 5]\n " shape="box"] "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_5" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_1" [label="1: Start copy_move_constructor::copyX_moveX_div1\nFormals: \nLocals: d2:int 0$?%__sil_tmpSIL_materialize_temp__n$4:copy_move_constructor::X d1:int x2:copy_move_constructor::X x1:copy_move_constructor::X \n DECLARE_LOCALS(&return,&d2,&0$?%__sil_tmpSIL_materialize_temp__n$4,&d1,&x2,&x1); [line 65, column 1]\n " color=yellow style=filled] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_1" [label="1: Start copy_move_constructor::copyX_moveX_div1\nFormals: \nLocals: d2:int 0$?%__sil_tmpSIL_materialize_temp__n$6:copy_move_constructor::X d1:int x2:copy_move_constructor::X x1:copy_move_constructor::X \n DECLARE_LOCALS(&return,&d2,&0$?%__sil_tmpSIL_materialize_temp__n$6,&d1,&x2,&x1); [line 65, column 1]\n " color=yellow style=filled] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_1" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" ; "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_2" [label="2: Exit copy_move_constructor::copyX_moveX_div1 \n " color=yellow style=filled] -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" [label="3: Return Stmt \n n$0=*&d1:int [line 71, column 10]\n n$1=*&d2:int [line 71, column 15]\n *&return:int=(n$0 + n$1) [line 71, column 3]\n _=*&x2:copy_move_constructor::X [line 71, column 15]\n _fun_copy_move_constructor::X_~X(&x2:copy_move_constructor::X*) [line 71, column 15]\n _=*&x1:copy_move_constructor::X [line 71, column 15]\n _fun_copy_move_constructor::X_~X(&x1:copy_move_constructor::X*) [line 71, column 15]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" [label="3: Return Stmt \n n$0=*&d1:int [line 71, column 10]\n n$1=*&d2:int [line 71, column 15]\n *&return:int=(n$0 + n$1) [line 71, column 3]\n _=*&x2:copy_move_constructor::X [line 71, column 15]\n n$3=_fun_copy_move_constructor::X_~X(&x2:copy_move_constructor::X*) [line 71, column 15]\n _=*&x1:copy_move_constructor::X [line 71, column 15]\n n$5=_fun_copy_move_constructor::X_~X(&x1:copy_move_constructor::X*) [line 71, column 15]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_2" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" [label="4: DeclStmt \n _fun_copy_move_constructor::getX(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:copy_move_constructor::X*) [line 70, column 16]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$4.f:int [line 70, column 16]\n *&d2:int=(1 / n$6) [line 70, column 3]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" [label="4: DeclStmt \n n$8=_fun_copy_move_constructor::getX(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$6:copy_move_constructor::X*) [line 70, column 16]\n n$9=*&0$?%__sil_tmpSIL_materialize_temp__n$6.f:int [line 70, column 16]\n *&d2:int=(1 / n$9) [line 70, column 3]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" [label="5: DeclStmt \n n$7=*&x2.f:int [line 69, column 16]\n *&d1:int=(1 / n$7) [line 69, column 3]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" [label="5: DeclStmt \n n$10=*&x2.f:int [line 69, column 16]\n *&d1:int=(1 / n$10) [line 69, column 3]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" [label="6: DeclStmt \n _fun_copy_move_constructor::X_X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 68, column 10]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" [label="6: DeclStmt \n n$11=_fun_copy_move_constructor::X_X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 68, column 10]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" ; @@ -50,7 +50,7 @@ digraph cfg { "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" [label="8: DeclStmt \n _fun_copy_move_constructor::X_X(&x1:copy_move_constructor::X*) [line 66, column 5]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" [label="8: DeclStmt \n n$12=_fun_copy_move_constructor::X_X(&x1:copy_move_constructor::X*) [line 66, column 5]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" ; @@ -61,11 +61,11 @@ digraph cfg { "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_2" [label="2: Exit copy_move_constructor::copyY_div0 \n " color=yellow style=filled] -"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 54, column 14]\n *&return:int=(1 / n$0) [line 54, column 3]\n _=*&y2:copy_move_constructor::Y [line 54, column 17]\n _fun_copy_move_constructor::Y_~Y(&y2:copy_move_constructor::Y*) [line 54, column 17]\n _=*&y1:copy_move_constructor::Y [line 54, column 17]\n _fun_copy_move_constructor::Y_~Y(&y1:copy_move_constructor::Y*) [line 54, column 17]\n " shape="box"] +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 54, column 14]\n *&return:int=(1 / n$0) [line 54, column 3]\n _=*&y2:copy_move_constructor::Y [line 54, column 17]\n n$2=_fun_copy_move_constructor::Y_~Y(&y2:copy_move_constructor::Y*) [line 54, column 17]\n _=*&y1:copy_move_constructor::Y [line 54, column 17]\n n$4=_fun_copy_move_constructor::Y_~Y(&y1:copy_move_constructor::Y*) [line 54, column 17]\n " shape="box"] "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_2" ; -"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" [label="4: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 53, column 10]\n " shape="box"] +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" [label="4: DeclStmt \n n$5=_fun_copy_move_constructor::Y_Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 53, column 10]\n " shape="box"] "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" ; @@ -73,30 +73,30 @@ digraph cfg { "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_5" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" ; -"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" [label="6: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y1:copy_move_constructor::Y*) [line 51, column 5]\n " shape="box"] +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" [label="6: DeclStmt \n n$6=_fun_copy_move_constructor::Y_Y(&y1:copy_move_constructor::Y*) [line 51, column 5]\n " shape="box"] "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_5" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_1" [label="1: Start copy_move_constructor::copyY_moveY_div1\nFormals: \nLocals: d2:int 0$?%__sil_tmpSIL_materialize_temp__n$4:copy_move_constructor::Y d1:int y2:copy_move_constructor::Y y1:copy_move_constructor::Y \n DECLARE_LOCALS(&return,&d2,&0$?%__sil_tmpSIL_materialize_temp__n$4,&d1,&y2,&y1); [line 74, column 1]\n " color=yellow style=filled] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_1" [label="1: Start copy_move_constructor::copyY_moveY_div1\nFormals: \nLocals: d2:int 0$?%__sil_tmpSIL_materialize_temp__n$6:copy_move_constructor::Y d1:int y2:copy_move_constructor::Y y1:copy_move_constructor::Y \n DECLARE_LOCALS(&return,&d2,&0$?%__sil_tmpSIL_materialize_temp__n$6,&d1,&y2,&y1); [line 74, column 1]\n " color=yellow style=filled] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_1" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" ; "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_2" [label="2: Exit copy_move_constructor::copyY_moveY_div1 \n " color=yellow style=filled] -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" [label="3: Return Stmt \n n$0=*&d1:int [line 80, column 10]\n n$1=*&d2:int [line 80, column 15]\n *&return:int=(n$0 + n$1) [line 80, column 3]\n _=*&y2:copy_move_constructor::Y [line 80, column 15]\n _fun_copy_move_constructor::Y_~Y(&y2:copy_move_constructor::Y*) [line 80, column 15]\n _=*&y1:copy_move_constructor::Y [line 80, column 15]\n _fun_copy_move_constructor::Y_~Y(&y1:copy_move_constructor::Y*) [line 80, column 15]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" [label="3: Return Stmt \n n$0=*&d1:int [line 80, column 10]\n n$1=*&d2:int [line 80, column 15]\n *&return:int=(n$0 + n$1) [line 80, column 3]\n _=*&y2:copy_move_constructor::Y [line 80, column 15]\n n$3=_fun_copy_move_constructor::Y_~Y(&y2:copy_move_constructor::Y*) [line 80, column 15]\n _=*&y1:copy_move_constructor::Y [line 80, column 15]\n n$5=_fun_copy_move_constructor::Y_~Y(&y1:copy_move_constructor::Y*) [line 80, column 15]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_2" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" [label="4: DeclStmt \n _fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:copy_move_constructor::Y*) [line 79, column 16]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$4.f:int [line 79, column 16]\n *&d2:int=(1 / n$6) [line 79, column 3]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" [label="4: DeclStmt \n n$8=_fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$6:copy_move_constructor::Y*) [line 79, column 16]\n n$9=*&0$?%__sil_tmpSIL_materialize_temp__n$6.f:int [line 79, column 16]\n *&d2:int=(1 / n$9) [line 79, column 3]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" [label="5: DeclStmt \n n$7=*&y2.f:int [line 78, column 16]\n *&d1:int=(1 / n$7) [line 78, column 3]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" [label="5: DeclStmt \n n$10=*&y2.f:int [line 78, column 16]\n *&d1:int=(1 / n$10) [line 78, column 3]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" [label="6: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 77, column 10]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" [label="6: DeclStmt \n n$11=_fun_copy_move_constructor::Y_Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 77, column 10]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" ; @@ -104,7 +104,7 @@ digraph cfg { "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" [label="8: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y1:copy_move_constructor::Y*) [line 75, column 5]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" [label="8: DeclStmt \n n$12=_fun_copy_move_constructor::Y_Y(&y1:copy_move_constructor::Y*) [line 75, column 5]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" ; @@ -115,15 +115,15 @@ digraph cfg { "getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_2" [label="2: Exit copy_move_constructor::getX \n " color=yellow style=filled] -"getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::X* [line 32, column 3]\n _fun_copy_move_constructor::X_X(n$0:copy_move_constructor::X*,&x:copy_move_constructor::X&) [line 32, column 10]\n _=*&x:copy_move_constructor::X [line 32, column 10]\n _fun_copy_move_constructor::X_~X(&x:copy_move_constructor::X*) [line 32, column 10]\n " shape="box"] +"getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::X* [line 32, column 3]\n n$1=_fun_copy_move_constructor::X_X(n$0:copy_move_constructor::X*,&x:copy_move_constructor::X&) [line 32, column 10]\n _=*&x:copy_move_constructor::X [line 32, column 10]\n n$3=_fun_copy_move_constructor::X_~X(&x:copy_move_constructor::X*) [line 32, column 10]\n " shape="box"] "getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_3" -> "getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_2" ; -"getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 31, column 9]\n *&x.f:int=n$2 [line 31, column 3]\n " shape="box"] +"getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&f:int [line 31, column 9]\n *&x.f:int=n$4 [line 31, column 3]\n " shape="box"] "getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_4" -> "getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_3" ; -"getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_5" [label="5: DeclStmt \n _fun_copy_move_constructor::X_X(&x:copy_move_constructor::X*) [line 30, column 5]\n " shape="box"] +"getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_5" [label="5: DeclStmt \n n$5=_fun_copy_move_constructor::X_X(&x:copy_move_constructor::X*) [line 30, column 5]\n " shape="box"] "getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_5" -> "getX#copy_move_constructor#2211685783611424509.876b259ed079b8b199249e0c38ad55df_4" ; @@ -134,15 +134,15 @@ digraph cfg { "getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_2" [label="2: Exit copy_move_constructor::getY \n " color=yellow style=filled] -"getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::Y* [line 38, column 3]\n _fun_copy_move_constructor::Y_Y(n$0:copy_move_constructor::Y*,&y:copy_move_constructor::Y&) [line 38, column 10]\n _=*&y:copy_move_constructor::Y [line 38, column 10]\n _fun_copy_move_constructor::Y_~Y(&y:copy_move_constructor::Y*) [line 38, column 10]\n " shape="box"] +"getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::Y* [line 38, column 3]\n n$1=_fun_copy_move_constructor::Y_Y(n$0:copy_move_constructor::Y*,&y:copy_move_constructor::Y&) [line 38, column 10]\n _=*&y:copy_move_constructor::Y [line 38, column 10]\n n$3=_fun_copy_move_constructor::Y_~Y(&y:copy_move_constructor::Y*) [line 38, column 10]\n " shape="box"] "getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_3" -> "getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_2" ; -"getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 37, column 9]\n *&y.f:int=n$2 [line 37, column 3]\n " shape="box"] +"getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&f:int [line 37, column 9]\n *&y.f:int=n$4 [line 37, column 3]\n " shape="box"] "getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_4" -> "getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_3" ; -"getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_5" [label="5: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y:copy_move_constructor::Y*) [line 36, column 5]\n " shape="box"] +"getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_5" [label="5: DeclStmt \n n$5=_fun_copy_move_constructor::Y_Y(&y:copy_move_constructor::Y*) [line 36, column 5]\n " shape="box"] "getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_5" -> "getY#copy_move_constructor#1712013823822590270.2c171bbad2707d6170d0b7974ac3c196_4" ; @@ -153,7 +153,7 @@ digraph cfg { "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_2" [label="2: Exit copy_move_constructor::moveX_div0 \n " color=yellow style=filled] -"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_3" [label="3: Return Stmt \n _fun_copy_move_constructor::getX(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X*) [line 48, column 31]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 48, column 31]\n *&return:int=(1 / n$2) [line 48, column 20]\n " shape="box"] +"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_3" [label="3: Return Stmt \n n$2=_fun_copy_move_constructor::getX(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X*) [line 48, column 31]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 48, column 31]\n *&return:int=(1 / n$3) [line 48, column 20]\n " shape="box"] "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_3" -> "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_2" ; @@ -164,26 +164,26 @@ digraph cfg { "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_2" [label="2: Exit copy_move_constructor::moveY_div0 \n " color=yellow style=filled] -"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_3" [label="3: Return Stmt \n _fun_copy_move_constructor::getY(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y*) [line 57, column 31]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 57, column 31]\n *&return:int=(1 / n$2) [line 57, column 20]\n " shape="box"] +"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_3" [label="3: Return Stmt \n n$2=_fun_copy_move_constructor::getY(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y*) [line 57, column 31]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 57, column 31]\n *&return:int=(1 / n$3) [line 57, column 20]\n " shape="box"] "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_3" -> "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_2" ; -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_1" [label="1: Start copy_move_constructor::moveY_moveY_copyY_div0\nFormals: \nLocals: y2:copy_move_constructor::Y y1:copy_move_constructor::Y 0$?%__sil_tmpSIL_materialize_temp__n$3:copy_move_constructor::Y \n DECLARE_LOCALS(&return,&y2,&y1,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 59, column 1]\n " color=yellow style=filled] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_1" [label="1: Start copy_move_constructor::moveY_moveY_copyY_div0\nFormals: \nLocals: y2:copy_move_constructor::Y y1:copy_move_constructor::Y 0$?%__sil_tmpSIL_materialize_temp__n$6:copy_move_constructor::Y \n DECLARE_LOCALS(&return,&y2,&y1,&0$?%__sil_tmpSIL_materialize_temp__n$6); [line 59, column 1]\n " color=yellow style=filled] "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_1" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" ; "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_2" [label="2: Exit copy_move_constructor::moveY_moveY_copyY_div0 \n " color=yellow style=filled] -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 62, column 14]\n *&return:int=(1 / n$0) [line 62, column 3]\n _=*&y2:copy_move_constructor::Y [line 62, column 17]\n _fun_copy_move_constructor::Y_~Y(&y2:copy_move_constructor::Y*) [line 62, column 17]\n _=*&y1:copy_move_constructor::Y [line 62, column 17]\n _fun_copy_move_constructor::Y_~Y(&y1:copy_move_constructor::Y*) [line 62, column 17]\n " shape="box"] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 62, column 14]\n *&return:int=(1 / n$0) [line 62, column 3]\n _=*&y2:copy_move_constructor::Y [line 62, column 17]\n n$2=_fun_copy_move_constructor::Y_~Y(&y2:copy_move_constructor::Y*) [line 62, column 17]\n _=*&y1:copy_move_constructor::Y [line 62, column 17]\n n$4=_fun_copy_move_constructor::Y_~Y(&y1:copy_move_constructor::Y*) [line 62, column 17]\n " shape="box"] "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_2" ; -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" [label="4: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 61, column 10]\n " shape="box"] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" [label="4: DeclStmt \n n$5=_fun_copy_move_constructor::Y_Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 61, column 10]\n " shape="box"] "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" ; -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" [label="5: DeclStmt \n _fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$3:copy_move_constructor::Y*) [line 60, column 10]\n _fun_copy_move_constructor::Y_Y(&y1:copy_move_constructor::Y*,&0$?%__sil_tmpSIL_materialize_temp__n$3:copy_move_constructor::Y&) [line 60, column 10]\n " shape="box"] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" [label="5: DeclStmt \n n$8=_fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$6:copy_move_constructor::Y*) [line 60, column 10]\n n$9=_fun_copy_move_constructor::Y_Y(&y1:copy_move_constructor::Y*,&0$?%__sil_tmpSIL_materialize_temp__n$6:copy_move_constructor::Y&) [line 60, column 10]\n " shape="box"] "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot index 812c960d9..292f145f1 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n _fun_Y_Y(&y:Y*) [line 25, column 17]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n n$0=_fun_Y_Y(&y:Y*) [line 25, column 17]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; @@ -56,15 +56,15 @@ digraph cfg { "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_2" [label="2: Exit Y_Y \n " color=yellow style=filled] -"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" [label="3: Constructor Init \n n$0=*&this:Y* [line 19, column 8]\n _fun_X_X(n$0.x3:X*) [line 19, column 8]\n " shape="box"] +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" [label="3: Constructor Init \n n$0=*&this:Y* [line 19, column 8]\n n$1=_fun_X_X(n$0.x3:X*) [line 19, column 8]\n " shape="box"] "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_2" ; -"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" [label="4: Constructor Init \n n$1=*&this:Y* [line 21, column 7]\n _fun_X_X(n$1.x2:X*) [line 21, column 7]\n " shape="box"] +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" [label="4: Constructor Init \n n$2=*&this:Y* [line 21, column 7]\n n$3=_fun_X_X(n$2.x2:X*) [line 21, column 7]\n " shape="box"] "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" ; -"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" [label="5: Constructor Init \n n$2=*&this:Y* [line 20, column 7]\n _fun_X_X(n$2.x1:X*,1:int,2:int) [line 20, column 7]\n " shape="box"] +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" [label="5: Constructor Init \n n$4=*&this:Y* [line 20, column 7]\n n$5=_fun_X_X(n$4.x1:X*,1:int,2:int) [line 20, column 7]\n " shape="box"] "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot index 0896cee7f..545c6f83c 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$0[0]:int=1 [line 24, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[1]:int=2 [line 24, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[2]:int=3 [line 24, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[3]:int=4 [line 24, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[4]:int=5 [line 24, column 20]\n n$1=_fun___infer_skip_function(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const [5*4] const ) [line 24, column 20]\n _fun_X_X(&x:X*,n$1:std::initializer_list) [line 24, column 20]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$0[0]:int=1 [line 24, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[1]:int=2 [line 24, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[2]:int=3 [line 24, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[3]:int=4 [line 24, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[4]:int=5 [line 24, column 20]\n n$1=_fun___infer_skip_function(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const [5*4] const ) [line 24, column 20]\n n$2=_fun_X_X(&x:X*,n$1:std::initializer_list) [line 24, column 20]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot index 6f8439d7a..bbb3ef511 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot @@ -1,17 +1,17 @@ /* @generated */ digraph cfg { -"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_1" [label="1: Start temp_object::assign_temp_div0\nFormals: \nLocals: x:temp_object::X 0$?%__sil_tmpSIL_materialize_temp__n$3:temp_object::X const \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 28, column 1]\n " color=yellow style=filled] +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_1" [label="1: Start temp_object::assign_temp_div0\nFormals: \nLocals: x:temp_object::X 0$?%__sil_tmpSIL_materialize_temp__n$4:temp_object::X const \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 28, column 1]\n " color=yellow style=filled] "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_1" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" ; "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_2" [label="2: Exit temp_object::assign_temp_div0 \n " color=yellow style=filled] -"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" [label="3: Return Stmt \n _=*&x:temp_object::X [line 30, column 10]\n n$1=_fun_temp_object::X_div(&x:temp_object::X&) [line 30, column 10]\n *&return:int=n$1 [line 30, column 3]\n _=*&x:temp_object::X [line 30, column 16]\n _fun_temp_object::X_~X(&x:temp_object::X*) [line 30, column 16]\n " shape="box"] +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" [label="3: Return Stmt \n _=*&x:temp_object::X [line 30, column 10]\n n$1=_fun_temp_object::X_div(&x:temp_object::X&) [line 30, column 10]\n *&return:int=n$1 [line 30, column 3]\n _=*&x:temp_object::X [line 30, column 16]\n n$3=_fun_temp_object::X_~X(&x:temp_object::X*) [line 30, column 16]\n " shape="box"] "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_2" ; -"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" [label="4: DeclStmt \n _fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$3:temp_object::X const *,0:int,1:int) [line 29, column 9]\n _fun_temp_object::X_X(&x:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$3:temp_object::X const &) [line 29, column 9]\n " shape="box"] +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" [label="4: DeclStmt \n n$5=_fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$4:temp_object::X const *,0:int,1:int) [line 29, column 9]\n n$6=_fun_temp_object::X_X(&x:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:temp_object::X const &) [line 29, column 9]\n " shape="box"] "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" ; @@ -33,7 +33,7 @@ digraph cfg { "getX#temp_object#4720444219866178245.f48412a1530fe282a769812167194f6c_2" [label="2: Exit temp_object::getX \n " color=yellow style=filled] -"getX#temp_object#4720444219866178245.f48412a1530fe282a769812167194f6c_3" [label="3: Return Stmt \n n$0=*&__return_param:temp_object::X* [line 26, column 24]\n n$2=*&a:int [line 26, column 33]\n n$3=*&b:int [line 26, column 36]\n _fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *,n$2:int,n$3:int) [line 26, column 31]\n _fun_temp_object::X_X(n$0:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const &) [line 26, column 31]\n " shape="box"] +"getX#temp_object#4720444219866178245.f48412a1530fe282a769812167194f6c_3" [label="3: Return Stmt \n n$0=*&__return_param:temp_object::X* [line 26, column 24]\n n$2=*&a:int [line 26, column 33]\n n$3=*&b:int [line 26, column 36]\n n$4=_fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *,n$2:int,n$3:int) [line 26, column 31]\n n$5=_fun_temp_object::X_X(n$0:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const &) [line 26, column 31]\n " shape="box"] "getX#temp_object#4720444219866178245.f48412a1530fe282a769812167194f6c_3" -> "getX#temp_object#4720444219866178245.f48412a1530fe282a769812167194f6c_2" ; @@ -44,7 +44,7 @@ digraph cfg { "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_2" [label="2: Exit temp_object::getX_field_div0 \n " color=yellow style=filled] -"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_3" [label="3: Return Stmt \n _fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) [line 39, column 36]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 39, column 36]\n n$3=_fun_temp_object::div(n$2:int) [line 39, column 32]\n *&return:int=n$3 [line 39, column 25]\n " shape="box"] +"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_3" [label="3: Return Stmt \n n$2=_fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) [line 39, column 36]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 39, column 36]\n n$4=_fun_temp_object::div(n$3:int) [line 39, column 32]\n *&return:int=n$4 [line 39, column 25]\n " shape="box"] "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_3" -> "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_2" ; @@ -55,7 +55,7 @@ digraph cfg { "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_2" [label="2: Exit temp_object::getX_field_div1 \n " color=yellow style=filled] -"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_3" [label="3: Return Stmt \n _fun_temp_object::getX(1:int,0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) [line 45, column 36]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 45, column 36]\n n$3=_fun_temp_object::div(n$2:int) [line 45, column 32]\n *&return:int=n$3 [line 45, column 25]\n " shape="box"] +"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_3" [label="3: Return Stmt \n n$2=_fun_temp_object::getX(1:int,0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) [line 45, column 36]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 45, column 36]\n n$4=_fun_temp_object::div(n$3:int) [line 45, column 32]\n *&return:int=n$4 [line 45, column 25]\n " shape="box"] "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_3" -> "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_2" ; @@ -66,7 +66,7 @@ digraph cfg { "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_2" [label="2: Exit temp_object::getX_method_div0 \n " color=yellow style=filled] -"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_3" [label="3: Return Stmt \n _fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) [line 41, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 41, column 33]\n n$3=_fun_temp_object::X_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 41, column 33]\n *&return:int=n$3 [line 41, column 26]\n " shape="box"] +"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_3" [label="3: Return Stmt \n n$2=_fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) [line 41, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 41, column 33]\n n$4=_fun_temp_object::X_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 41, column 33]\n *&return:int=n$4 [line 41, column 26]\n " shape="box"] "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_3" -> "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_2" ; @@ -77,7 +77,7 @@ digraph cfg { "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_2" [label="2: Exit temp_object::temp_field2_div0 \n " color=yellow style=filled] -"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_3" [label="3: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int) [line 35, column 37]\n n$1=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 35, column 37]\n n$2=_fun_temp_object::div(n$1:int) [line 35, column 33]\n *&return:int=n$2 [line 35, column 26]\n " shape="box"] +"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_3" [label="3: Return Stmt \n n$1=_fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int) [line 35, column 37]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 35, column 37]\n n$3=_fun_temp_object::div(n$2:int) [line 35, column 33]\n *&return:int=n$3 [line 35, column 26]\n " shape="box"] "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_3" -> "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_2" ; @@ -88,7 +88,7 @@ digraph cfg { "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_2" [label="2: Exit temp_object::temp_field_div0 \n " color=yellow style=filled] -"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_3" [label="3: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 33, column 36]\n n$1=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 33, column 36]\n n$2=_fun_temp_object::div(n$1:int) [line 33, column 32]\n *&return:int=n$2 [line 33, column 25]\n " shape="box"] +"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_3" [label="3: Return Stmt \n n$1=_fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 33, column 36]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 33, column 36]\n n$3=_fun_temp_object::div(n$2:int) [line 33, column 32]\n *&return:int=n$3 [line 33, column 25]\n " shape="box"] "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_3" -> "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_2" ; @@ -99,7 +99,7 @@ digraph cfg { "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_2" [label="2: Exit temp_object::temp_field_div1 \n " color=yellow style=filled] -"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_3" [label="3: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,1:int,0:int) [line 43, column 36]\n n$1=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 43, column 36]\n n$2=_fun_temp_object::div(n$1:int) [line 43, column 32]\n *&return:int=n$2 [line 43, column 25]\n " shape="box"] +"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_3" [label="3: Return Stmt \n n$1=_fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,1:int,0:int) [line 43, column 36]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 43, column 36]\n n$3=_fun_temp_object::div(n$2:int) [line 43, column 32]\n *&return:int=n$3 [line 43, column 25]\n " shape="box"] "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_3" -> "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_2" ; @@ -110,7 +110,7 @@ digraph cfg { "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_2" [label="2: Exit temp_object::temp_method_div0 \n " color=yellow style=filled] -"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" [label="3: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 37, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 37, column 33]\n n$2=_fun_temp_object::X_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 37, column 33]\n *&return:int=n$2 [line 37, column 26]\n " shape="box"] +"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" [label="3: Return Stmt \n n$1=_fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 37, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 37, column 33]\n n$3=_fun_temp_object::X_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 37, column 33]\n *&return:int=n$3 [line 37, column 26]\n " shape="box"] "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" -> "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot index eebb50b86..d9ecc6eb9 100644 --- a/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot @@ -39,7 +39,7 @@ digraph cfg { "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" ; -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" [label="8: ObjCCPPThrow \n _fun___infer_objc_cpp_throw(\"Null pointer!\":char const *) [line 12, column 5]\n " shape="box"] +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" [label="8: ObjCCPPThrow \n n$3=_fun___infer_objc_cpp_throw(\"Null pointer!\":char const *) [line 12, column 5]\n " shape="box"] "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot index b69cc0fd7..d652db7fa 100644 --- a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot @@ -1,17 +1,17 @@ /* @generated */ digraph cfg { -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_1" [label="1: Start bar\nFormals: \nLocals: func:bar::lambda_shared_lambda_lambda1.cpp:11:15 0$?%__sil_tmpSIL_materialize_temp__n$2:bar::lambda_shared_lambda_lambda1.cpp:11:15 \n DECLARE_LOCALS(&return,&func,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 10, column 1]\n " color=yellow style=filled] +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_1" [label="1: Start bar\nFormals: \nLocals: func:bar::lambda_shared_lambda_lambda1.cpp:11:15 0$?%__sil_tmpSIL_materialize_temp__n$3:bar::lambda_shared_lambda_lambda1.cpp:11:15 \n DECLARE_LOCALS(&return,&func,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 10, column 1]\n " color=yellow style=filled] "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_1" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" ; "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_2" [label="2: Exit bar \n " color=yellow style=filled] -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" [label="3: Return Stmt \n n$0=_fun_bar::lambda_shared_lambda_lambda1.cpp:11:15_operator()(&func:bar::lambda_shared_lambda_lambda1.cpp:11:15&) [line 15, column 14]\n *&return:int=(7 / n$0) [line 15, column 3]\n _=*&func:bar::lambda_shared_lambda_lambda1.cpp:11:15 [line 15, column 19]\n _fun_bar::lambda_shared_lambda_lambda1.cpp:11:15_~(&func:bar::lambda_shared_lambda_lambda1.cpp:11:15*) [line 15, column 19]\n " shape="box"] +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" [label="3: Return Stmt \n n$0=_fun_bar::lambda_shared_lambda_lambda1.cpp:11:15_operator()(&func:bar::lambda_shared_lambda_lambda1.cpp:11:15&) [line 15, column 14]\n *&return:int=(7 / n$0) [line 15, column 3]\n _=*&func:bar::lambda_shared_lambda_lambda1.cpp:11:15 [line 15, column 19]\n n$2=_fun_bar::lambda_shared_lambda_lambda1.cpp:11:15_~(&func:bar::lambda_shared_lambda_lambda1.cpp:11:15*) [line 15, column 19]\n " shape="box"] "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_2" ; -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$2:bar::lambda_shared_lambda_lambda1.cpp:11:15=(_fun_bar::lambda_shared_lambda_lambda1.cpp:11:15_operator()) [line 11, column 15]\n _fun_bar::lambda_shared_lambda_lambda1.cpp:11:15_(&func:bar::lambda_shared_lambda_lambda1.cpp:11:15*,&0$?%__sil_tmpSIL_materialize_temp__n$2:bar::lambda_shared_lambda_lambda1.cpp:11:15&) [line 11, column 15]\n " shape="box"] +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$3:bar::lambda_shared_lambda_lambda1.cpp:11:15=(_fun_bar::lambda_shared_lambda_lambda1.cpp:11:15_operator()) [line 11, column 15]\n n$4=_fun_bar::lambda_shared_lambda_lambda1.cpp:11:15_(&func:bar::lambda_shared_lambda_lambda1.cpp:11:15*,&0$?%__sil_tmpSIL_materialize_temp__n$3:bar::lambda_shared_lambda_lambda1.cpp:11:15&) [line 11, column 15]\n " shape="box"] "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" ; @@ -26,7 +26,7 @@ digraph cfg { "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_2" ; -"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" [label="4: Call _fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:38:3_operator() \n _fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:38:3_operator()((_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:38:3_operator(),&x):capture_by_ref::lambda_shared_lambda_lambda1.cpp:38:3) [line 38, column 3]\n " shape="box"] +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" [label="4: Call _fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:38:3_operator() \n n$1=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:38:3_operator()((_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:38:3_operator(),&x):capture_by_ref::lambda_shared_lambda_lambda1.cpp:38:3) [line 38, column 3]\n " shape="box"] "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" ; @@ -34,37 +34,37 @@ digraph cfg { "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_5" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_1" [label="1: Start foo\nFormals: \nLocals: y:foo::lambda_shared_lambda_lambda1.cpp:20:12 0$?%__sil_tmpSIL_materialize_temp__n$3:foo::lambda_shared_lambda_lambda1.cpp:20:12 unused:foo::lambda_shared_lambda_lambda1.cpp:19:17 0$?%__sil_tmpSIL_materialize_temp__n$4:foo::lambda_shared_lambda_lambda1.cpp:19:17 \n DECLARE_LOCALS(&return,&y,&0$?%__sil_tmpSIL_materialize_temp__n$3,&unused,&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 18, column 1]\n " color=yellow style=filled] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_1" [label="1: Start foo\nFormals: \nLocals: y:foo::lambda_shared_lambda_lambda1.cpp:20:12 0$?%__sil_tmpSIL_materialize_temp__n$5:foo::lambda_shared_lambda_lambda1.cpp:20:12 unused:foo::lambda_shared_lambda_lambda1.cpp:19:17 0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:19:17 \n DECLARE_LOCALS(&return,&y,&0$?%__sil_tmpSIL_materialize_temp__n$5,&unused,&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 18, column 1]\n " color=yellow style=filled] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_1" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" ; "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" [label="2: Exit foo \n " color=yellow style=filled] -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" [label="3: Return Stmt \n n$0=_fun_foo::lambda_shared_lambda_lambda1.cpp:20:12_operator()(&y:foo::lambda_shared_lambda_lambda1.cpp:20:12&,3:int) [line 21, column 19]\n *&return:int=(5 / (4 - n$0)) [line 21, column 3]\n _=*&y:foo::lambda_shared_lambda_lambda1.cpp:20:12 [line 21, column 23]\n _fun_foo::lambda_shared_lambda_lambda1.cpp:20:12_~(&y:foo::lambda_shared_lambda_lambda1.cpp:20:12*) [line 21, column 23]\n _=*&unused:foo::lambda_shared_lambda_lambda1.cpp:19:17 [line 21, column 23]\n _fun_foo::lambda_shared_lambda_lambda1.cpp:19:17_~(&unused:foo::lambda_shared_lambda_lambda1.cpp:19:17*) [line 21, column 23]\n " shape="box"] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" [label="3: Return Stmt \n n$0=_fun_foo::lambda_shared_lambda_lambda1.cpp:20:12_operator()(&y:foo::lambda_shared_lambda_lambda1.cpp:20:12&,3:int) [line 21, column 19]\n *&return:int=(5 / (4 - n$0)) [line 21, column 3]\n _=*&y:foo::lambda_shared_lambda_lambda1.cpp:20:12 [line 21, column 23]\n n$2=_fun_foo::lambda_shared_lambda_lambda1.cpp:20:12_~(&y:foo::lambda_shared_lambda_lambda1.cpp:20:12*) [line 21, column 23]\n _=*&unused:foo::lambda_shared_lambda_lambda1.cpp:19:17 [line 21, column 23]\n n$4=_fun_foo::lambda_shared_lambda_lambda1.cpp:19:17_~(&unused:foo::lambda_shared_lambda_lambda1.cpp:19:17*) [line 21, column 23]\n " shape="box"] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$3:foo::lambda_shared_lambda_lambda1.cpp:20:12=(_fun_foo::lambda_shared_lambda_lambda1.cpp:20:12_operator()) [line 20, column 12]\n _fun_foo::lambda_shared_lambda_lambda1.cpp:20:12_(&y:foo::lambda_shared_lambda_lambda1.cpp:20:12*,&0$?%__sil_tmpSIL_materialize_temp__n$3:foo::lambda_shared_lambda_lambda1.cpp:20:12&) [line 20, column 12]\n " shape="box"] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$5:foo::lambda_shared_lambda_lambda1.cpp:20:12=(_fun_foo::lambda_shared_lambda_lambda1.cpp:20:12_operator()) [line 20, column 12]\n n$6=_fun_foo::lambda_shared_lambda_lambda1.cpp:20:12_(&y:foo::lambda_shared_lambda_lambda1.cpp:20:12*,&0$?%__sil_tmpSIL_materialize_temp__n$5:foo::lambda_shared_lambda_lambda1.cpp:20:12&) [line 20, column 12]\n " shape="box"] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" [label="5: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$4:foo::lambda_shared_lambda_lambda1.cpp:19:17=(_fun_foo::lambda_shared_lambda_lambda1.cpp:19:17_operator()) [line 19, column 17]\n _fun_foo::lambda_shared_lambda_lambda1.cpp:19:17_(&unused:foo::lambda_shared_lambda_lambda1.cpp:19:17*,&0$?%__sil_tmpSIL_materialize_temp__n$4:foo::lambda_shared_lambda_lambda1.cpp:19:17&) [line 19, column 17]\n " shape="box"] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" [label="5: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:19:17=(_fun_foo::lambda_shared_lambda_lambda1.cpp:19:17_operator()) [line 19, column 17]\n n$8=_fun_foo::lambda_shared_lambda_lambda1.cpp:19:17_(&unused:foo::lambda_shared_lambda_lambda1.cpp:19:17*,&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:19:17&) [line 19, column 17]\n " shape="box"] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" ; -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_1" [label="1: Start fooOK\nFormals: \nLocals: y:fooOK::lambda_shared_lambda_lambda1.cpp:26:12 0$?%__sil_tmpSIL_materialize_temp__n$2:fooOK::lambda_shared_lambda_lambda1.cpp:26:12 \n DECLARE_LOCALS(&return,&y,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 24, column 1]\n " color=yellow style=filled] +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_1" [label="1: Start fooOK\nFormals: \nLocals: y:fooOK::lambda_shared_lambda_lambda1.cpp:26:12 0$?%__sil_tmpSIL_materialize_temp__n$3:fooOK::lambda_shared_lambda_lambda1.cpp:26:12 \n DECLARE_LOCALS(&return,&y,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 24, column 1]\n " color=yellow style=filled] "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_1" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" ; "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_2" [label="2: Exit fooOK \n " color=yellow style=filled] -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" [label="3: Return Stmt \n n$0=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:26:12_operator()(&y:fooOK::lambda_shared_lambda_lambda1.cpp:26:12&,3:int) [line 27, column 19]\n *&return:int=(5 / (4 - n$0)) [line 27, column 3]\n _=*&y:fooOK::lambda_shared_lambda_lambda1.cpp:26:12 [line 27, column 23]\n _fun_fooOK::lambda_shared_lambda_lambda1.cpp:26:12_~(&y:fooOK::lambda_shared_lambda_lambda1.cpp:26:12*) [line 27, column 23]\n " shape="box"] +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" [label="3: Return Stmt \n n$0=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:26:12_operator()(&y:fooOK::lambda_shared_lambda_lambda1.cpp:26:12&,3:int) [line 27, column 19]\n *&return:int=(5 / (4 - n$0)) [line 27, column 3]\n _=*&y:fooOK::lambda_shared_lambda_lambda1.cpp:26:12 [line 27, column 23]\n n$2=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:26:12_~(&y:fooOK::lambda_shared_lambda_lambda1.cpp:26:12*) [line 27, column 23]\n " shape="box"] "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_2" ; -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$2:fooOK::lambda_shared_lambda_lambda1.cpp:26:12=(_fun_fooOK::lambda_shared_lambda_lambda1.cpp:26:12_operator()) [line 26, column 12]\n _fun_fooOK::lambda_shared_lambda_lambda1.cpp:26:12_(&y:fooOK::lambda_shared_lambda_lambda1.cpp:26:12*,&0$?%__sil_tmpSIL_materialize_temp__n$2:fooOK::lambda_shared_lambda_lambda1.cpp:26:12&) [line 26, column 12]\n " shape="box"] +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$3:fooOK::lambda_shared_lambda_lambda1.cpp:26:12=(_fun_fooOK::lambda_shared_lambda_lambda1.cpp:26:12_operator()) [line 26, column 12]\n n$4=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:26:12_(&y:fooOK::lambda_shared_lambda_lambda1.cpp:26:12*,&0$?%__sil_tmpSIL_materialize_temp__n$3:fooOK::lambda_shared_lambda_lambda1.cpp:26:12&) [line 26, column 12]\n " shape="box"] "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" ; @@ -175,7 +175,7 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:59:19#capture_star_this#Capture#{9456129203468966420|constexpr}.4865d22cd69692723766b951221a21d1_2" [label="2: Exit Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19_ \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:59:19#capture_star_this#Capture#{9456129203468966420|constexpr}.4865d22cd69692723766b951221a21d1_3" [label="3: Constructor Init \n n$0=*&this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19* [line 59, column 19]\n n$1=*&__param_0:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19& [line 59, column 19]\n _fun_Capture_Capture(n$0.:Capture*,n$1.:Capture&) [line 59, column 19]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:59:19#capture_star_this#Capture#{9456129203468966420|constexpr}.4865d22cd69692723766b951221a21d1_3" [label="3: Constructor Init \n n$0=*&this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19* [line 59, column 19]\n n$1=*&__param_0:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19& [line 59, column 19]\n n$2=_fun_Capture_Capture(n$0.:Capture*,n$1.:Capture&) [line 59, column 19]\n " shape="box"] "#lambda_shared_lambda_lambda1.cpp:59:19#capture_star_this#Capture#{9456129203468966420|constexpr}.4865d22cd69692723766b951221a21d1_3" -> "#lambda_shared_lambda_lambda1.cpp:59:19#capture_star_this#Capture#{9456129203468966420|constexpr}.4865d22cd69692723766b951221a21d1_2" ; @@ -215,63 +215,63 @@ digraph cfg { "Capture#Capture#{15371931494294124755|constexpr}.9ede96f2e081983279c43accbd64cbd2_2" [label="2: Exit Capture_Capture \n " color=yellow style=filled] -"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_1" [label="1: Start Capture_capture_star_this\nFormals: this:Capture*\nLocals: lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19 0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 58, column 3]\n " color=yellow style=filled] +"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_1" [label="1: Start Capture_capture_star_this\nFormals: this:Capture*\nLocals: lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19 0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 58, column 3]\n " color=yellow style=filled] "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_1" -> "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" ; "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_2" [label="2: Exit Capture_capture_star_this \n " color=yellow style=filled] -"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_3" [label="3: Destruction \n _=*&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19 [line 62, column 3]\n _fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19_~(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19*) [line 62, column 3]\n " shape="box"] +"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_3" [label="3: Destruction \n _=*&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19 [line 62, column 3]\n n$1=_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19_~(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19*) [line 62, column 3]\n " shape="box"] "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_3" -> "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_2" ; -"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" [label="4: DeclStmt \n n$2=*&this:Capture* [line 59, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19=(_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19_operator(),(n$2 &this:Capture*)) [line 59, column 19]\n _fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19_(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19&) [line 59, column 19]\n " shape="box"] +"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" [label="4: DeclStmt \n n$3=*&this:Capture* [line 59, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19=(_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19_operator(),(n$3 &this:Capture*)) [line 59, column 19]\n n$4=_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19_(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:59:19&) [line 59, column 19]\n " shape="box"] "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" -> "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_3" ; -"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_1" [label="1: Start Capture_capture_this_explicit\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19 0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 54, column 3]\n " color=yellow style=filled] +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_1" [label="1: Start Capture_capture_this_explicit\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19 0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 54, column 3]\n " color=yellow style=filled] "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_1" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" ; "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_2" [label="2: Exit Capture_capture_this_explicit \n " color=yellow style=filled] -"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19 [line 56, column 3]\n _fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19_~(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19*) [line 56, column 3]\n " shape="box"] +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19 [line 56, column 3]\n n$1=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19_~(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19*) [line 56, column 3]\n " shape="box"] "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_2" ; -"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19=(_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19_operator(),&this) [line 55, column 19]\n _fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19_(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19&) [line 55, column 19]\n " shape="box"] +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19=(_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19_operator(),&this) [line 55, column 19]\n n$3=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19_(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:55:19&) [line 55, column 19]\n " shape="box"] "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" ; -"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_1" [label="1: Start Capture_capture_this_with_auto\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19 0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 68, column 3]\n " color=yellow style=filled] +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_1" [label="1: Start Capture_capture_this_with_auto\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19 0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 68, column 3]\n " color=yellow style=filled] "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_1" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" ; "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_2" [label="2: Exit Capture_capture_this_with_auto \n " color=yellow style=filled] -"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19 [line 70, column 3]\n _fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19_~(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19*) [line 70, column 3]\n " shape="box"] +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19 [line 70, column 3]\n n$1=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19_~(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19*) [line 70, column 3]\n " shape="box"] "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_2" ; -"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19=(_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19_operator(),&this) [line 69, column 19]\n _fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19_(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19&) [line 69, column 19]\n " shape="box"] +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19=(_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19_operator(),&this) [line 69, column 19]\n n$3=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19_(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:69:19&) [line 69, column 19]\n " shape="box"] "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" ; -"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_1" [label="1: Start Capture_capture_this_with_equal\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19 0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 64, column 3]\n " color=yellow style=filled] +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_1" [label="1: Start Capture_capture_this_with_equal\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19 0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 64, column 3]\n " color=yellow style=filled] "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_1" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" ; "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_2" [label="2: Exit Capture_capture_this_with_equal \n " color=yellow style=filled] -"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19 [line 66, column 3]\n _fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19_~(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19*) [line 66, column 3]\n " shape="box"] +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19 [line 66, column 3]\n n$1=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19_~(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19*) [line 66, column 3]\n " shape="box"] "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_2" ; -"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19=(_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19_operator(),&this) [line 65, column 19]\n _fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19_(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19&) [line 65, column 19]\n " shape="box"] +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19=(_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19_operator(),&this) [line 65, column 19]\n n$3=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19_(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:65:19&) [line 65, column 19]\n " shape="box"] "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot index 6faedfd9e..3bcbc99c1 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot @@ -84,7 +84,7 @@ digraph cfg { "make_id#pass_by_val#6647322778693099135.2f2dd9bec9bb8475abd845248a5b9203_2" [label="2: Exit pass_by_val::make_id \n " color=yellow style=filled] -"make_id#pass_by_val#6647322778693099135.2f2dd9bec9bb8475abd845248a5b9203_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 61, column 3]\n n$2=*&args:int& [line 61, column 35]\n n$3=_fun_std::forward(n$2:int&) [line 61, column 16]\n n$4=*n$3:int [line 61, column 16]\n n$5=*&args:int& [line 61, column 35]\n n$6=_fun_std::forward(n$5:int&) [line 61, column 16]\n n$7=*&args:int& [line 61, column 35]\n n$8=_fun_std::forward(n$7:int&) [line 61, column 16]\n _fun_pass_by_val::Id_Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*,n$4:int,n$6:int&,n$8:int&) [line 61, column 10]\n _fun_pass_by_val::Id_Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 61, column 10]\n " shape="box"] +"make_id#pass_by_val#6647322778693099135.2f2dd9bec9bb8475abd845248a5b9203_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 61, column 3]\n n$2=*&args:int& [line 61, column 35]\n n$3=_fun_std::forward(n$2:int&) [line 61, column 16]\n n$4=*n$3:int [line 61, column 16]\n n$5=*&args:int& [line 61, column 35]\n n$6=_fun_std::forward(n$5:int&) [line 61, column 16]\n n$7=*&args:int& [line 61, column 35]\n n$8=_fun_std::forward(n$7:int&) [line 61, column 16]\n n$9=_fun_pass_by_val::Id_Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*,n$4:int,n$6:int&,n$8:int&) [line 61, column 10]\n n$10=_fun_pass_by_val::Id_Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 61, column 10]\n " shape="box"] "make_id#pass_by_val#6647322778693099135.2f2dd9bec9bb8475abd845248a5b9203_3" -> "make_id#pass_by_val#6647322778693099135.2f2dd9bec9bb8475abd845248a5b9203_2" ; @@ -95,7 +95,7 @@ digraph cfg { "perfect_forwarding_by_ref#pass_by_val#7578991627406493712.47db45acfc842e77ec927aa5a23ec0ee_2" [label="2: Exit pass_by_val::perfect_forwarding_by_ref \n " color=yellow style=filled] -"perfect_forwarding_by_ref#pass_by_val#7578991627406493712.47db45acfc842e77ec927aa5a23ec0ee_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 66, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=2 [line 66, column 29]\n _fun_pass_by_val::make_id(&a:int&,&b:int&,&0$?%__sil_tmpSIL_materialize_temp__n$2:int&,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) [line 66, column 10]\n _fun_pass_by_val::Id_Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 66, column 10]\n " shape="box"] +"perfect_forwarding_by_ref#pass_by_val#7578991627406493712.47db45acfc842e77ec927aa5a23ec0ee_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 66, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=2 [line 66, column 29]\n n$4=_fun_pass_by_val::make_id(&a:int&,&b:int&,&0$?%__sil_tmpSIL_materialize_temp__n$2:int&,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) [line 66, column 10]\n n$5=_fun_pass_by_val::Id_Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 66, column 10]\n " shape="box"] "perfect_forwarding_by_ref#pass_by_val#7578991627406493712.47db45acfc842e77ec927aa5a23ec0ee_3" -> "perfect_forwarding_by_ref#pass_by_val#7578991627406493712.47db45acfc842e77ec927aa5a23ec0ee_2" ; @@ -162,14 +162,14 @@ digraph cfg { "type_alias_by_ref#pass_by_val#1261506501219871814.f656e449ac4cf31b24b37d7b81156083_3" -> "type_alias_by_ref#pass_by_val#1261506501219871814.f656e449ac4cf31b24b37d7b81156083_2" ; -"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_1" [label="1: Start pass_by_val::type_alias_by_val\nFormals: p1:pass_by_val::PlainStruct&(byval) p2:pass_by_val::PlainStruct&(byval)\nLocals: 0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct 0$?%__sil_tmp__temp_construct_n$3:pass_by_val::PlainStruct \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0,&0$?%__sil_tmp__temp_construct_n$3); [line 31, column 1]\n " color=yellow style=filled] +"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_1" [label="1: Start pass_by_val::type_alias_by_val\nFormals: p1:pass_by_val::PlainStruct&(byval) p2:pass_by_val::PlainStruct&(byval)\nLocals: 0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct 0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0,&0$?%__sil_tmp__temp_construct_n$4); [line 31, column 1]\n " color=yellow style=filled] "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_1" -> "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" ; "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_2" [label="2: Exit pass_by_val::type_alias_by_val \n " color=yellow style=filled] -"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" [label="3: Return Stmt \n n$1=*&p1:pass_by_val::PlainStruct& [line 32, column 30]\n _fun_pass_by_val::PlainStruct_PlainStruct(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct*,n$1:pass_by_val::PlainStruct&) [line 32, column 30]\n n$2=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct) [line 32, column 10]\n n$4=*&p2:pass_by_val::PlainStruct& [line 32, column 56]\n _fun_pass_by_val::PlainStruct_PlainStruct(&0$?%__sil_tmp__temp_construct_n$3:pass_by_val::PlainStruct*,n$4:pass_by_val::PlainStruct&) [line 32, column 56]\n n$5=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$3:pass_by_val::PlainStruct) [line 32, column 36]\n *&return:int=(n$2 + n$5) [line 32, column 3]\n " shape="box"] +"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" [label="3: Return Stmt \n n$1=*&p1:pass_by_val::PlainStruct& [line 32, column 30]\n n$2=_fun_pass_by_val::PlainStruct_PlainStruct(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct*,n$1:pass_by_val::PlainStruct&) [line 32, column 30]\n n$3=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct) [line 32, column 10]\n n$5=*&p2:pass_by_val::PlainStruct& [line 32, column 56]\n n$6=_fun_pass_by_val::PlainStruct_PlainStruct(&0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct*,n$5:pass_by_val::PlainStruct&) [line 32, column 56]\n n$7=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct) [line 32, column 36]\n *&return:int=(n$3 + n$7) [line 32, column 3]\n " shape="box"] "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" -> "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot index e3fe60385..c09f0d1e2 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" [label="2: Exit conversion_operator::branch_div0 \n " color=yellow style=filled] -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 40, column 10]\n n$1=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 40, column 10]\n *&return:int=n$1 [line 40, column 3]\n _=*&x:conversion_operator::X [line 40, column 10]\n _fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 40, column 10]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 40, column 10]\n n$1=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 40, column 10]\n *&return:int=n$1 [line 40, column 3]\n _=*&x:conversion_operator::X [line 40, column 10]\n n$3=_fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 40, column 10]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" ; @@ -15,28 +15,28 @@ digraph cfg { "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" [label="5: Call _fun_conversion_operator::X_operator_bool \n _=*&x:conversion_operator::X [line 36, column 7]\n n$4=_fun_conversion_operator::X_operator_bool(&x:conversion_operator::X&) [line 36, column 7]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" [label="5: Call _fun_conversion_operator::X_operator_bool \n _=*&x:conversion_operator::X [line 36, column 7]\n n$5=_fun_conversion_operator::X_operator_bool(&x:conversion_operator::X&) [line 36, column 7]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" ; "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" [label="6: Prune (true branch, if) \n PRUNE(n$4, true); [line 36, column 7]\n " shape="invhouse"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" [label="6: Prune (true branch, if) \n PRUNE(n$5, true); [line 36, column 7]\n " shape="invhouse"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" [label="7: Prune (false branch, if) \n PRUNE(!n$4, false); [line 36, column 7]\n " shape="invhouse"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" [label="7: Prune (false branch, if) \n PRUNE(!n$5, false); [line 36, column 7]\n " shape="invhouse"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" [label="8: Return Stmt \n n$5=*&v:int [line 38, column 16]\n *&return:int=(1 / n$5) [line 38, column 5]\n _=*&x:conversion_operator::X [line 38, column 16]\n _fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 38, column 16]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" [label="8: Return Stmt \n n$6=*&v:int [line 38, column 16]\n *&return:int=(1 / n$6) [line 38, column 5]\n _=*&x:conversion_operator::X [line 38, column 16]\n n$8=_fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 38, column 16]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" [label="9: DeclStmt \n _=*&x:conversion_operator::X [line 37, column 13]\n n$8=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 37, column 13]\n *&v:int=n$8 [line 37, column 5]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" [label="9: DeclStmt \n _=*&x:conversion_operator::X [line 37, column 13]\n n$10=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 37, column 13]\n *&v:int=n$10 [line 37, column 5]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" [label="10: DeclStmt \n _fun_conversion_operator::X_X(&x:conversion_operator::X*,0:int,1:_Bool) [line 35, column 5]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" [label="10: DeclStmt \n n$11=_fun_conversion_operator::X_X(&x:conversion_operator::X*,0:int,1:_Bool) [line 35, column 5]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" ; @@ -47,7 +47,7 @@ digraph cfg { "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" [label="2: Exit conversion_operator::branch_div1 \n " color=yellow style=filled] -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 69, column 10]\n n$1=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 69, column 10]\n *&return:int=n$1 [line 69, column 3]\n _=*&x:conversion_operator::X [line 69, column 10]\n _fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 69, column 10]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 69, column 10]\n n$1=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 69, column 10]\n *&return:int=n$1 [line 69, column 3]\n _=*&x:conversion_operator::X [line 69, column 10]\n n$3=_fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 69, column 10]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" ; @@ -55,28 +55,28 @@ digraph cfg { "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" [label="5: Call _fun_conversion_operator::X_operator_bool \n _=*&x:conversion_operator::X [line 65, column 7]\n n$4=_fun_conversion_operator::X_operator_bool(&x:conversion_operator::X&) [line 65, column 7]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" [label="5: Call _fun_conversion_operator::X_operator_bool \n _=*&x:conversion_operator::X [line 65, column 7]\n n$5=_fun_conversion_operator::X_operator_bool(&x:conversion_operator::X&) [line 65, column 7]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" ; "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" [label="6: Prune (true branch, if) \n PRUNE(n$4, true); [line 65, column 7]\n " shape="invhouse"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" [label="6: Prune (true branch, if) \n PRUNE(n$5, true); [line 65, column 7]\n " shape="invhouse"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$4, false); [line 65, column 7]\n " shape="invhouse"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$5, false); [line 65, column 7]\n " shape="invhouse"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" [label="8: Return Stmt \n n$5=*&v:int [line 67, column 16]\n *&return:int=(1 / n$5) [line 67, column 5]\n _=*&x:conversion_operator::X [line 67, column 16]\n _fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 67, column 16]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" [label="8: Return Stmt \n n$6=*&v:int [line 67, column 16]\n *&return:int=(1 / n$6) [line 67, column 5]\n _=*&x:conversion_operator::X [line 67, column 16]\n n$8=_fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 67, column 16]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" [label="9: DeclStmt \n _=*&x:conversion_operator::X [line 66, column 13]\n n$8=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 66, column 13]\n *&v:int=n$8 [line 66, column 5]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" [label="9: DeclStmt \n _=*&x:conversion_operator::X [line 66, column 13]\n n$10=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 66, column 13]\n *&v:int=n$10 [line 66, column 5]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" [label="10: DeclStmt \n _fun_conversion_operator::X_X(&x:conversion_operator::X*,1:int,1:_Bool) [line 64, column 5]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" [label="10: DeclStmt \n n$11=_fun_conversion_operator::X_X(&x:conversion_operator::X*,1:int,1:_Bool) [line 64, column 5]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" ; @@ -87,7 +87,7 @@ digraph cfg { "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" [label="2: Exit conversion_operator::branch_no_div \n " color=yellow style=filled] -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 60, column 10]\n n$1=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 60, column 10]\n *&return:int=n$1 [line 60, column 3]\n _=*&x:conversion_operator::X [line 60, column 10]\n _fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 60, column 10]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 60, column 10]\n n$1=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 60, column 10]\n *&return:int=n$1 [line 60, column 3]\n _=*&x:conversion_operator::X [line 60, column 10]\n n$3=_fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 60, column 10]\n " shape="box"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" ; @@ -95,39 +95,39 @@ digraph cfg { "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" [label="5: Call _fun_conversion_operator::X_operator_bool \n _=*&x:conversion_operator::X [line 56, column 7]\n n$4=_fun_conversion_operator::X_operator_bool(&x:conversion_operator::X&) [line 56, column 7]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" [label="5: Call _fun_conversion_operator::X_operator_bool \n _=*&x:conversion_operator::X [line 56, column 7]\n n$5=_fun_conversion_operator::X_operator_bool(&x:conversion_operator::X&) [line 56, column 7]\n " shape="box"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" ; "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" [label="6: Prune (true branch, if) \n PRUNE(n$4, true); [line 56, column 7]\n " shape="invhouse"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" [label="6: Prune (true branch, if) \n PRUNE(n$5, true); [line 56, column 7]\n " shape="invhouse"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" [label="7: Prune (false branch, if) \n PRUNE(!n$4, false); [line 56, column 7]\n " shape="invhouse"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" [label="7: Prune (false branch, if) \n PRUNE(!n$5, false); [line 56, column 7]\n " shape="invhouse"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" [label="8: Return Stmt \n n$5=*&v:int [line 58, column 16]\n *&return:int=(1 / n$5) [line 58, column 5]\n _=*&x:conversion_operator::X [line 58, column 16]\n _fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 58, column 16]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" [label="8: Return Stmt \n n$6=*&v:int [line 58, column 16]\n *&return:int=(1 / n$6) [line 58, column 5]\n _=*&x:conversion_operator::X [line 58, column 16]\n n$8=_fun_conversion_operator::X_~X(&x:conversion_operator::X*) [line 58, column 16]\n " shape="box"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" [label="9: DeclStmt \n _=*&x:conversion_operator::X [line 57, column 13]\n n$8=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 57, column 13]\n *&v:int=n$8 [line 57, column 5]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" [label="9: DeclStmt \n _=*&x:conversion_operator::X [line 57, column 13]\n n$10=_fun_conversion_operator::X_operator_int(&x:conversion_operator::X&) [line 57, column 13]\n *&v:int=n$10 [line 57, column 5]\n " shape="box"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" [label="10: DeclStmt \n _fun_conversion_operator::X_X(&x:conversion_operator::X*,0:int,0:_Bool) [line 55, column 5]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" [label="10: DeclStmt \n n$11=_fun_conversion_operator::X_X(&x:conversion_operator::X*,0:int,0:_Bool) [line 55, column 5]\n " shape="box"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_1" [label="1: Start conversion_operator::y_branch_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:conversion_operator::X 0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X 0$?%__sil_tmp__temp_construct_n$5:conversion_operator::X 0$?%__sil_tmpSIL_materialize_temp__n$6:conversion_operator::X v:int 0$?%__sil_tmp__temp_construct_n$11:conversion_operator::X 0$?%__sil_tmpSIL_materialize_temp__n$12:conversion_operator::X y:conversion_operator::Y \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0,&0$?%__sil_tmpSIL_materialize_temp__n$1,&0$?%__sil_tmp__temp_construct_n$5,&0$?%__sil_tmpSIL_materialize_temp__n$6,&v,&0$?%__sil_tmp__temp_construct_n$11,&0$?%__sil_tmpSIL_materialize_temp__n$12,&y); [line 43, column 1]\n " color=yellow style=filled] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_1" [label="1: Start conversion_operator::y_branch_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:conversion_operator::X 0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X 0$?%__sil_tmp__temp_construct_n$7:conversion_operator::X 0$?%__sil_tmpSIL_materialize_temp__n$8:conversion_operator::X v:int 0$?%__sil_tmp__temp_construct_n$15:conversion_operator::X 0$?%__sil_tmpSIL_materialize_temp__n$16:conversion_operator::X y:conversion_operator::Y \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0,&0$?%__sil_tmpSIL_materialize_temp__n$1,&0$?%__sil_tmp__temp_construct_n$7,&0$?%__sil_tmpSIL_materialize_temp__n$8,&v,&0$?%__sil_tmp__temp_construct_n$15,&0$?%__sil_tmpSIL_materialize_temp__n$16,&y); [line 43, column 1]\n " color=yellow style=filled] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_1" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" ; "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" [label="2: Exit conversion_operator::y_branch_div0 \n " color=yellow style=filled] -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_3" [label="3: Return Stmt \n _=*&y:conversion_operator::Y [line 51, column 13]\n _fun_conversion_operator::Y_operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X*) [line 51, column 13]\n _fun_conversion_operator::X_X(&0$?%__sil_tmp__temp_construct_n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X&) [line 51, column 10]\n n$4=_fun_conversion_operator::X_operator_int(&0$?%__sil_tmp__temp_construct_n$0:conversion_operator::X&) [line 51, column 10]\n *&return:int=n$4 [line 51, column 3]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_3" [label="3: Return Stmt \n _=*&y:conversion_operator::Y [line 51, column 13]\n n$4=_fun_conversion_operator::Y_operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X*) [line 51, column 13]\n n$5=_fun_conversion_operator::X_X(&0$?%__sil_tmp__temp_construct_n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X&) [line 51, column 10]\n n$6=_fun_conversion_operator::X_operator_int(&0$?%__sil_tmp__temp_construct_n$0:conversion_operator::X&) [line 51, column 10]\n *&return:int=n$6 [line 51, column 3]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_3" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" ; @@ -135,24 +135,24 @@ digraph cfg { "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_4" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_3" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_5" [label="5: Call _fun_conversion_operator::X_operator_bool \n _=*&y:conversion_operator::Y [line 47, column 10]\n _fun_conversion_operator::Y_operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$6:conversion_operator::X*) [line 47, column 10]\n _fun_conversion_operator::X_X(&0$?%__sil_tmp__temp_construct_n$5:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$6:conversion_operator::X&) [line 47, column 7]\n n$9=_fun_conversion_operator::X_operator_bool(&0$?%__sil_tmp__temp_construct_n$5:conversion_operator::X&) [line 47, column 7]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_5" [label="5: Call _fun_conversion_operator::X_operator_bool \n _=*&y:conversion_operator::Y [line 47, column 10]\n n$11=_fun_conversion_operator::Y_operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$8:conversion_operator::X*) [line 47, column 10]\n n$12=_fun_conversion_operator::X_X(&0$?%__sil_tmp__temp_construct_n$7:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$8:conversion_operator::X&) [line 47, column 7]\n n$13=_fun_conversion_operator::X_operator_bool(&0$?%__sil_tmp__temp_construct_n$7:conversion_operator::X&) [line 47, column 7]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_5" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" ; "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_5" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" [label="6: Prune (true branch, if) \n PRUNE(n$9, true); [line 47, column 7]\n " shape="invhouse"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" [label="6: Prune (true branch, if) \n PRUNE(n$13, true); [line 47, column 7]\n " shape="invhouse"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$9, false); [line 47, column 7]\n " shape="invhouse"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$13, false); [line 47, column 7]\n " shape="invhouse"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_4" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" [label="8: Return Stmt \n n$10=*&v:int [line 49, column 16]\n *&return:int=(1 / n$10) [line 49, column 5]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" [label="8: Return Stmt \n n$14=*&v:int [line 49, column 16]\n *&return:int=(1 / n$14) [line 49, column 5]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" [label="9: DeclStmt \n _=*&y:conversion_operator::Y [line 48, column 16]\n _fun_conversion_operator::Y_operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$12:conversion_operator::X*) [line 48, column 16]\n _fun_conversion_operator::X_X(&0$?%__sil_tmp__temp_construct_n$11:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$12:conversion_operator::X&) [line 48, column 13]\n n$15=_fun_conversion_operator::X_operator_int(&0$?%__sil_tmp__temp_construct_n$11:conversion_operator::X&) [line 48, column 13]\n *&v:int=n$15 [line 48, column 5]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" [label="9: DeclStmt \n _=*&y:conversion_operator::Y [line 48, column 16]\n n$19=_fun_conversion_operator::Y_operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$16:conversion_operator::X*) [line 48, column 16]\n n$20=_fun_conversion_operator::X_X(&0$?%__sil_tmp__temp_construct_n$15:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$16:conversion_operator::X&) [line 48, column 13]\n n$21=_fun_conversion_operator::X_operator_int(&0$?%__sil_tmp__temp_construct_n$15:conversion_operator::X&) [line 48, column 13]\n *&v:int=n$21 [line 48, column 5]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" ; @@ -164,7 +164,7 @@ digraph cfg { "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_10" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" [label="12: DeclStmt \n _fun_conversion_operator::Y_Y(&y:conversion_operator::Y*) [line 44, column 5]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" [label="12: DeclStmt \n n$22=_fun_conversion_operator::Y_Y(&y:conversion_operator::Y*) [line 44, column 5]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" ; @@ -212,7 +212,7 @@ digraph cfg { "operator_X#Y#conversion_operator#(9875474444891926125).7f70b2cd003a12c6c9b239bf43d976ea_2" [label="2: Exit conversion_operator::Y_operator_X \n " color=yellow style=filled] -"operator_X#Y#conversion_operator#(9875474444891926125).7f70b2cd003a12c6c9b239bf43d976ea_3" [label="3: Return Stmt \n n$0=*&__return_param:conversion_operator::X* [line 29, column 18]\n n$2=*&this:conversion_operator::Y* [line 29, column 27]\n n$3=*n$2.f:int [line 29, column 27]\n n$4=*&this:conversion_operator::Y* [line 29, column 30]\n n$5=*n$4.b:int [line 29, column 30]\n _fun_conversion_operator::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *,n$3:int,n$5:_Bool) [line 29, column 25]\n _fun_conversion_operator::X_X(n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const &) [line 29, column 25]\n " shape="box"] +"operator_X#Y#conversion_operator#(9875474444891926125).7f70b2cd003a12c6c9b239bf43d976ea_3" [label="3: Return Stmt \n n$0=*&__return_param:conversion_operator::X* [line 29, column 18]\n n$2=*&this:conversion_operator::Y* [line 29, column 27]\n n$3=*n$2.f:int [line 29, column 27]\n n$4=*&this:conversion_operator::Y* [line 29, column 30]\n n$5=*n$4.b:int [line 29, column 30]\n n$6=_fun_conversion_operator::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *,n$3:int,n$5:_Bool) [line 29, column 25]\n n$7=_fun_conversion_operator::X_X(n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const &) [line 29, column 25]\n " shape="box"] "operator_X#Y#conversion_operator#(9875474444891926125).7f70b2cd003a12c6c9b239bf43d976ea_3" -> "operator_X#Y#conversion_operator#(9875474444891926125).7f70b2cd003a12c6c9b239bf43d976ea_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot index 9ac130441..7cfa77d22 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot @@ -33,7 +33,7 @@ digraph cfg { "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_2" ; -"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" [label="4: Call _fun_A_init \n n$2=*&this:A* [line 19, column 3]\n _=*n$2:A [line 19, column 3]\n _fun_A_init(n$2:A*,10:int) [line 19, column 3]\n " shape="box"] +"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" [label="4: Call _fun_A_init \n n$2=*&this:A* [line 19, column 3]\n _=*n$2:A [line 19, column 3]\n n$4=_fun_A_init(n$2:A*,10:int) [line 19, column 3]\n " shape="box"] "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot index 79adff38c..ca248c9b6 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot @@ -1,17 +1,17 @@ /* @generated */ digraph cfg { -"test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_1" [label="1: Start test\nFormals: a:A*\nLocals: x:X 0$?%__sil_tmpSIL_materialize_temp__n$2:X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 21, column 1]\n " color=yellow style=filled] +"test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_1" [label="1: Start test\nFormals: a:A*\nLocals: x:X 0$?%__sil_tmpSIL_materialize_temp__n$3:X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 21, column 1]\n " color=yellow style=filled] "test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_1" -> "test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_4" ; "test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_2" [label="2: Exit test \n " color=yellow style=filled] -"test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 23, column 14]\n *&return:int=(1 / n$0) [line 23, column 3]\n _=*&x:X [line 23, column 16]\n _fun_X_~X(&x:X*) [line 23, column 16]\n " shape="box"] +"test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 23, column 14]\n *&return:int=(1 / n$0) [line 23, column 3]\n _=*&x:X [line 23, column 16]\n n$2=_fun_X_~X(&x:X*) [line 23, column 16]\n " shape="box"] "test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_3" -> "test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_2" ; -"test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_4" [label="4: DeclStmt \n n$3=*&a:A* [line 22, column 9]\n _=*n$3:A [line 22, column 9]\n _fun_A_get(n$3:A*,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$2:X*) [line 22, column 9]\n _fun_X_X(&x:X*,&0$?%__sil_tmpSIL_materialize_temp__n$2:X&) [line 22, column 9]\n " shape="box"] +"test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_4" [label="4: DeclStmt \n n$4=*&a:A* [line 22, column 9]\n _=*n$4:A [line 22, column 9]\n n$7=_fun_A_get(n$4:A*,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$3:X*) [line 22, column 9]\n n$8=_fun_X_X(&x:X*,&0$?%__sil_tmpSIL_materialize_temp__n$3:X&) [line 22, column 9]\n " shape="box"] "test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_4" -> "test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_3" ; @@ -40,11 +40,11 @@ digraph cfg { "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_2" [label="2: Exit A_get \n " color=yellow style=filled] -"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 17, column 5]\n _fun_X_X(n$0:X*,&x:X&) [line 17, column 12]\n _=*&x:X [line 17, column 12]\n _fun_X_~X(&x:X*) [line 17, column 12]\n " shape="box"] +"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 17, column 5]\n n$1=_fun_X_X(n$0:X*,&x:X&) [line 17, column 12]\n _=*&x:X [line 17, column 12]\n n$3=_fun_X_~X(&x:X*) [line 17, column 12]\n " shape="box"] "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_3" -> "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_2" ; -"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_4" [label="4: DeclStmt \n _fun_X_X(&x:X*) [line 16, column 7]\n " shape="box"] +"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_4" [label="4: DeclStmt \n n$4=_fun_X_X(&x:X*) [line 16, column 7]\n " shape="box"] "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_4" -> "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot index 11b77fc3c..5814827b4 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_2" [label="2: Exit call_virtual_destructor \n " color=yellow style=filled] -"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" [label="3: Call delete \n n$0=*&trgl:Polygon* [line 72, column 10]\n _fun___delete(n$0:Polygon*) [line 72, column 3]\n " shape="box"] +"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" [label="3: Call delete \n n$0=*&trgl:Polygon* [line 72, column 10]\n n$1=_fun___delete(n$0:Polygon*) [line 72, column 3]\n " shape="box"] "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" -> "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_2" ; -"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" [label="4: DeclStmt \n n$1=_fun___new(sizeof(t=Triangle):unsigned long) [line 71, column 19]\n _fun_Triangle_Triangle(n$1:Triangle*) [line 71, column 23]\n *&trgl:Triangle*=n$1 [line 71, column 3]\n " shape="box"] +"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=Triangle):unsigned long) [line 71, column 19]\n n$3=_fun_Triangle_Triangle(n$2:Triangle*) [line 71, column 23]\n *&trgl:Triangle*=n$2 [line 71, column 3]\n " shape="box"] "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" -> "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" ; @@ -22,7 +22,7 @@ digraph cfg { "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" [label="2: Exit poly_area \n " color=yellow style=filled] -"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" [label="3: Return Stmt \n n$0=*&ppoly3:Polygon* [line 56, column 14]\n _=*n$0:Polygon [line 56, column 14]\n n$2=_fun_Polygon_area(n$0:Polygon*) virtual [line 56, column 14]\n *&return:int=(1 / n$2) [line 56, column 3]\n _=*&poly:Polygon [line 56, column 27]\n _fun_Polygon_~Polygon(&poly:Polygon*) virtual [line 56, column 27]\n " shape="box"] +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" [label="3: Return Stmt \n n$0=*&ppoly3:Polygon* [line 56, column 14]\n _=*n$0:Polygon [line 56, column 14]\n n$2=_fun_Polygon_area(n$0:Polygon*) virtual [line 56, column 14]\n *&return:int=(1 / n$2) [line 56, column 3]\n _=*&poly:Polygon [line 56, column 27]\n n$4=_fun_Polygon_~Polygon(&poly:Polygon*) virtual [line 56, column 27]\n " shape="box"] "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" ; @@ -30,7 +30,7 @@ digraph cfg { "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" ; -"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" [label="5: DeclStmt \n _fun_Polygon_Polygon(&poly:Polygon*) [line 54, column 11]\n " shape="box"] +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" [label="5: DeclStmt \n n$5=_fun_Polygon_Polygon(&poly:Polygon*) [line 54, column 11]\n " shape="box"] "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" ; @@ -41,11 +41,11 @@ digraph cfg { "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" [label="2: Exit rect_area \n " color=yellow style=filled] -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" [label="3: Return Stmt \n n$0=*&ppoly1:Polygon* [line 42, column 15]\n _=*n$0:Polygon [line 42, column 15]\n n$2=_fun_Polygon_area(n$0:Polygon*) virtual [line 42, column 15]\n *&return:int=(1 / (n$2 - 20)) [line 42, column 3]\n _=*&rect:Rectangle [line 42, column 34]\n _fun_Rectangle_~Rectangle(&rect:Rectangle*) virtual [line 42, column 34]\n " shape="box"] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" [label="3: Return Stmt \n n$0=*&ppoly1:Polygon* [line 42, column 15]\n _=*n$0:Polygon [line 42, column 15]\n n$2=_fun_Polygon_area(n$0:Polygon*) virtual [line 42, column 15]\n *&return:int=(1 / (n$2 - 20)) [line 42, column 3]\n _=*&rect:Rectangle [line 42, column 34]\n n$4=_fun_Rectangle_~Rectangle(&rect:Rectangle*) virtual [line 42, column 34]\n " shape="box"] "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" ; -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" [label="4: Call _fun_Polygon_set_values \n n$4=*&ppoly1:Polygon* [line 41, column 3]\n _=*n$4:Polygon [line 41, column 3]\n _fun_Polygon_set_values(n$4:Polygon*,4:int,5:int) [line 41, column 3]\n " shape="box"] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" [label="4: Call _fun_Polygon_set_values \n n$5=*&ppoly1:Polygon* [line 41, column 3]\n _=*n$5:Polygon [line 41, column 3]\n n$7=_fun_Polygon_set_values(n$5:Polygon*,4:int,5:int) [line 41, column 3]\n " shape="box"] "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" ; @@ -53,7 +53,7 @@ digraph cfg { "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" ; -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" [label="6: DeclStmt \n _fun_Rectangle_Rectangle(&rect:Rectangle*) [line 39, column 13]\n " shape="box"] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" [label="6: DeclStmt \n n$8=_fun_Rectangle_Rectangle(&rect:Rectangle*) [line 39, column 13]\n " shape="box"] "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" ; @@ -64,11 +64,11 @@ digraph cfg { "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" [label="2: Exit tri_area \n " color=yellow style=filled] -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 50, column 15]\n _=*n$0:Polygon [line 50, column 15]\n n$2=_fun_Polygon_area(n$0:Polygon*) virtual [line 50, column 15]\n *&return:int=(1 / (n$2 - 10)) [line 50, column 3]\n _=*&poly:Polygon [line 50, column 34]\n _fun_Polygon_~Polygon(&poly:Polygon*) virtual [line 50, column 34]\n _=*&trgl:Triangle [line 50, column 34]\n _fun_Triangle_~Triangle(&trgl:Triangle*) virtual [line 50, column 34]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 50, column 15]\n _=*n$0:Polygon [line 50, column 15]\n n$2=_fun_Polygon_area(n$0:Polygon*) virtual [line 50, column 15]\n *&return:int=(1 / (n$2 - 10)) [line 50, column 3]\n _=*&poly:Polygon [line 50, column 34]\n n$4=_fun_Polygon_~Polygon(&poly:Polygon*) virtual [line 50, column 34]\n _=*&trgl:Triangle [line 50, column 34]\n n$6=_fun_Triangle_~Triangle(&trgl:Triangle*) virtual [line 50, column 34]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" [label="4: Call _fun_Polygon_set_values \n n$5=*&ppoly2:Polygon* [line 49, column 3]\n _=*n$5:Polygon [line 49, column 3]\n _fun_Polygon_set_values(n$5:Polygon*,4:int,5:int) [line 49, column 3]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" [label="4: Call _fun_Polygon_set_values \n n$7=*&ppoly2:Polygon* [line 49, column 3]\n _=*n$7:Polygon [line 49, column 3]\n n$9=_fun_Polygon_set_values(n$7:Polygon*,4:int,5:int) [line 49, column 3]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" ; @@ -76,11 +76,11 @@ digraph cfg { "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" [label="6: DeclStmt \n _fun_Polygon_Polygon(&poly:Polygon*) [line 47, column 11]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" [label="6: DeclStmt \n n$10=_fun_Polygon_Polygon(&poly:Polygon*) [line 47, column 11]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" [label="7: DeclStmt \n _fun_Triangle_Triangle(&trgl:Triangle*) [line 46, column 12]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" [label="7: DeclStmt \n n$11=_fun_Triangle_Triangle(&trgl:Triangle*) [line 46, column 12]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" ; @@ -91,11 +91,11 @@ digraph cfg { "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" [label="2: Exit tri_not_virtual_area \n " color=yellow style=filled] -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 64, column 14]\n _=*n$0:Polygon [line 64, column 14]\n n$2=_fun_Polygon_area(n$0:Polygon*) [line 64, column 14]\n *&return:int=(1 / n$2) [line 64, column 3]\n _=*&poly:Polygon [line 64, column 36]\n _fun_Polygon_~Polygon(&poly:Polygon*) virtual [line 64, column 36]\n _=*&trgl:Triangle [line 64, column 36]\n _fun_Triangle_~Triangle(&trgl:Triangle*) virtual [line 64, column 36]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 64, column 14]\n _=*n$0:Polygon [line 64, column 14]\n n$2=_fun_Polygon_area(n$0:Polygon*) [line 64, column 14]\n *&return:int=(1 / n$2) [line 64, column 3]\n _=*&poly:Polygon [line 64, column 36]\n n$4=_fun_Polygon_~Polygon(&poly:Polygon*) virtual [line 64, column 36]\n _=*&trgl:Triangle [line 64, column 36]\n n$6=_fun_Triangle_~Triangle(&trgl:Triangle*) virtual [line 64, column 36]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" ; -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" [label="4: Call _fun_Polygon_set_values \n n$5=*&ppoly2:Polygon* [line 63, column 3]\n _=*n$5:Polygon [line 63, column 3]\n _fun_Polygon_set_values(n$5:Polygon*,4:int,5:int) [line 63, column 3]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" [label="4: Call _fun_Polygon_set_values \n n$7=*&ppoly2:Polygon* [line 63, column 3]\n _=*n$7:Polygon [line 63, column 3]\n n$9=_fun_Polygon_set_values(n$7:Polygon*,4:int,5:int) [line 63, column 3]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" ; @@ -103,11 +103,11 @@ digraph cfg { "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_5" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" ; -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" [label="6: DeclStmt \n _fun_Polygon_Polygon(&poly:Polygon*) [line 61, column 11]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" [label="6: DeclStmt \n n$10=_fun_Polygon_Polygon(&poly:Polygon*) [line 61, column 11]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_5" ; -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" [label="7: DeclStmt \n _fun_Triangle_Triangle(&trgl:Triangle*) [line 60, column 12]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" [label="7: DeclStmt \n n$11=_fun_Triangle_Triangle(&trgl:Triangle*) [line 60, column 12]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" ; @@ -125,7 +125,7 @@ digraph cfg { "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" [label="2: Exit Rectangle_Rectangle \n " color=yellow style=filled] -"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" [label="3: Constructor Init \n n$0=*&this:Rectangle* [line 23, column 7]\n _fun_Polygon_Polygon(n$0:Rectangle*) [line 23, column 7]\n " shape="box"] +"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" [label="3: Constructor Init \n n$0=*&this:Rectangle* [line 23, column 7]\n n$1=_fun_Polygon_Polygon(n$0:Rectangle*) [line 23, column 7]\n " shape="box"] "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" -> "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" ; @@ -136,7 +136,7 @@ digraph cfg { "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" [label="2: Exit Triangle_Triangle \n " color=yellow style=filled] -"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" [label="3: Constructor Init \n n$0=*&this:Triangle* [line 29, column 7]\n _fun_Polygon_Polygon(n$0:Triangle*) [line 29, column 7]\n " shape="box"] +"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" [label="3: Constructor Init \n n$0=*&this:Triangle* [line 29, column 7]\n n$1=_fun_Polygon_Polygon(n$0:Triangle*) [line 29, column 7]\n " shape="box"] "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" -> "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" ; @@ -147,7 +147,7 @@ digraph cfg { "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_2" [label="2: Exit Triangle___infer_inner_destructor_~Triangle \n " color=yellow style=filled] -"__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" [label="3: Destruction \n n$0=*&this:Triangle* [line 31, column 15]\n _=*n$0:Triangle [line 31, column 15]\n _fun_Polygon___infer_inner_destructor_~Polygon(n$0:Triangle*) virtual [line 31, column 15]\n " shape="box"] +"__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" [label="3: Destruction \n n$0=*&this:Triangle* [line 31, column 15]\n _=*n$0:Triangle [line 31, column 15]\n n$2=_fun_Polygon___infer_inner_destructor_~Polygon(n$0:Triangle*) virtual [line 31, column 15]\n " shape="box"] "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" -> "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_2" ; @@ -210,7 +210,7 @@ digraph cfg { "~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_2" [label="2: Exit Triangle_~Triangle \n " color=yellow style=filled] -"~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_3" [label="3: Destruction \n n$0=*&this:Triangle* [line 31, column 15]\n _=*n$0:Triangle [line 31, column 15]\n _fun_Triangle___infer_inner_destructor_~Triangle(n$0:Triangle*) virtual [line 31, column 15]\n " shape="box"] +"~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_3" [label="3: Destruction \n n$0=*&this:Triangle* [line 31, column 15]\n _=*n$0:Triangle [line 31, column 15]\n n$2=_fun_Triangle___infer_inner_destructor_~Triangle(n$0:Triangle*) virtual [line 31, column 15]\n " shape="box"] "~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_3" -> "~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot index e3cfa93e1..ecc2c3a9d 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot @@ -27,23 +27,23 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_foo::Rectangle_set_values \n _=*&rect2:foo::Rectangle [line 52, column 3]\n _fun_foo::Rectangle_set_values(&rect2:foo::Rectangle&,7:int,10:int) [line 52, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_foo::Rectangle_set_values \n _=*&rect2:foo::Rectangle [line 52, column 3]\n n$4=_fun_foo::Rectangle_set_values(&rect2:foo::Rectangle&,7:int,10:int) [line 52, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n _fun_foo::Rectangle_Rectangle(&rect2:foo::Rectangle*) [line 51, column 18]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$5=_fun_foo::Rectangle_Rectangle(&rect2:foo::Rectangle*) [line 51, column 18]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Call _fun_bar::Rectangle_set_values \n _=*&rect1:bar::Rectangle [line 49, column 3]\n _fun_bar::Rectangle_set_values(&rect1:bar::Rectangle&,3:int,4:int) [line 49, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Call _fun_bar::Rectangle_set_values \n _=*&rect1:bar::Rectangle [line 49, column 3]\n n$7=_fun_bar::Rectangle_set_values(&rect1:bar::Rectangle&,3:int,4:int) [line 49, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n _fun_bar::Rectangle_Rectangle(&rect1:bar::Rectangle*) [line 48, column 18]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n n$8=_fun_bar::Rectangle_Rectangle(&rect1:bar::Rectangle*) [line 48, column 18]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n _fun_foo::my_record_(&x:foo::my_record*) [line 46, column 18]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n n$9=_fun_foo::my_record_(&x:foo::my_record*) [line 46, column 18]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; @@ -65,7 +65,7 @@ digraph cfg { "rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_2" [label="2: Exit __infer_globals_initializer_bar::rect \n " color=yellow style=filled] -"rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_3" [label="3: DeclStmt \n _fun_bar::Rectangle_Rectangle(&#GB$bar::rect:bar::Rectangle*) [line 38, column 3]\n " shape="box"] +"rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_3" [label="3: DeclStmt \n n$0=_fun_bar::Rectangle_Rectangle(&#GB$bar::rect:bar::Rectangle*) [line 38, column 3]\n " shape="box"] "rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_3" -> "rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot index 3bb99426b..ae8d63d83 100644 --- a/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot @@ -55,7 +55,7 @@ digraph cfg { "npe_call_with_forward_declaration#12046983290123510130.5e902eb9a8f96f74e83d527b422bd861_2" [label="2: Exit npe_call_with_forward_declaration \n " color=yellow style=filled] -"npe_call_with_forward_declaration#12046983290123510130.5e902eb9a8f96f74e83d527b422bd861_3" [label="3: Call _fun_call_with_forward_declaration \n _fun_call_with_forward_declaration(null:XForward*) [line 38, column 3]\n " shape="box"] +"npe_call_with_forward_declaration#12046983290123510130.5e902eb9a8f96f74e83d527b422bd861_3" [label="3: Call _fun_call_with_forward_declaration \n n$0=_fun_call_with_forward_declaration(null:XForward*) [line 38, column 3]\n " shape="box"] "npe_call_with_forward_declaration#12046983290123510130.5e902eb9a8f96f74e83d527b422bd861_3" -> "npe_call_with_forward_declaration#12046983290123510130.5e902eb9a8f96f74e83d527b422bd861_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot index 4baa26d8b..8e902c57a 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" [label="2: Exit __infer_globals_initializer_global \n " color=yellow style=filled] -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n _fun_X_X(&#GB$global:X*) [line 15, column 3]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n n$0=_fun_X_X(&#GB$global:X*) [line 15, column 3]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot index 79c8d24d6..6b9d3ed79 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot @@ -7,15 +7,15 @@ digraph cfg { "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_2" [label="2: Exit noskip \n " color=yellow style=filled] -"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_3" [label="3: Call _fun_List_add_byref \n n$0=*&l:List& [line 37, column 3]\n _=*n$0:List [line 37, column 3]\n _fun_List_add_byref(n$0:List&,&i:item&) [line 37, column 3]\n " shape="box"] +"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_3" [label="3: Call _fun_List_add_byref \n n$0=*&l:List& [line 37, column 3]\n _=*n$0:List [line 37, column 3]\n n$2=_fun_List_add_byref(n$0:List&,&i:item&) [line 37, column 3]\n " shape="box"] "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_3" -> "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_2" ; -"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_4" [label="4: Call _fun_List_add \n n$2=*&l:List& [line 36, column 3]\n _=*n$2:List [line 36, column 3]\n _fun_List_add(n$2:List&,&i:item*) [line 36, column 3]\n " shape="box"] +"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_4" [label="4: Call _fun_List_add \n n$3=*&l:List& [line 36, column 3]\n _=*n$3:List [line 36, column 3]\n n$5=_fun_List_add(n$3:List&,&i:item*) [line 36, column 3]\n " shape="box"] "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_4" -> "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_3" ; -"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_5" [label="5: DeclStmt \n _fun_item_item(&i:item*) [line 35, column 8]\n " shape="box"] +"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_5" [label="5: DeclStmt \n n$6=_fun_item_item(&i:item*) [line 35, column 8]\n " shape="box"] "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_5" -> "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot index 30ffa7027..1c687f257 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_2" [label="2: Exit reference_field::ptr_F_div0 \n " color=yellow style=filled] -"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X* [line 86, column 14]\n n$1=*n$0.f:int [line 86, column 14]\n *&return:int=(1 / n$1) [line 86, column 3]\n _=*&x:reference_field::X [line 86, column 19]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 86, column 19]\n " shape="box"] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X* [line 86, column 14]\n n$1=*n$0.f:int [line 86, column 14]\n *&return:int=(1 / n$1) [line 86, column 3]\n _=*&x:reference_field::X [line 86, column 19]\n n$3=_fun_reference_field::X_~X(&x:reference_field::X*) [line 86, column 19]\n " shape="box"] "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_2" ; @@ -15,7 +15,7 @@ digraph cfg { "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_4" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" ; -"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" [label="5: DeclStmt \n _fun_reference_field::Ptr_Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 84, column 7]\n " shape="box"] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" [label="5: DeclStmt \n n$4=_fun_reference_field::Ptr_Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 84, column 7]\n " shape="box"] "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_4" ; @@ -23,7 +23,7 @@ digraph cfg { "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_6" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" ; -"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 82, column 5]\n " shape="box"] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" [label="7: DeclStmt \n n$5=_fun_reference_field::X_X(&x:reference_field::X*) [line 82, column 5]\n " shape="box"] "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_6" ; @@ -34,7 +34,7 @@ digraph cfg { "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_2" [label="2: Exit reference_field::ptr_I_div0 \n " color=yellow style=filled] -"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" [label="3: Return Stmt \n n$0=*&r.i:int* [line 94, column 15]\n n$1=*n$0:int [line 94, column 14]\n *&return:int=(1 / n$1) [line 94, column 3]\n _=*&x:reference_field::X [line 94, column 17]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 94, column 17]\n " shape="box"] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" [label="3: Return Stmt \n n$0=*&r.i:int* [line 94, column 15]\n n$1=*n$0:int [line 94, column 14]\n *&return:int=(1 / n$1) [line 94, column 3]\n _=*&x:reference_field::X [line 94, column 17]\n n$3=_fun_reference_field::X_~X(&x:reference_field::X*) [line 94, column 17]\n " shape="box"] "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_2" ; @@ -42,7 +42,7 @@ digraph cfg { "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_4" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" ; -"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" [label="5: DeclStmt \n _fun_reference_field::Ptr_Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 92, column 7]\n " shape="box"] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" [label="5: DeclStmt \n n$4=_fun_reference_field::Ptr_Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 92, column 7]\n " shape="box"] "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_4" ; @@ -50,7 +50,7 @@ digraph cfg { "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_6" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" ; -"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 90, column 5]\n " shape="box"] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" [label="7: DeclStmt \n n$5=_fun_reference_field::X_X(&x:reference_field::X*) [line 90, column 5]\n " shape="box"] "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_6" ; @@ -61,7 +61,7 @@ digraph cfg { "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_2" [label="2: Exit reference_field::ptr_getF_div0 \n " color=yellow style=filled] -"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 102, column 14]\n n$1=_fun_reference_field::Ptr_getF(&r:reference_field::Ptr&) [line 102, column 14]\n *&return:int=(1 / n$1) [line 102, column 3]\n _=*&x:reference_field::X [line 102, column 21]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 102, column 21]\n " shape="box"] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 102, column 14]\n n$1=_fun_reference_field::Ptr_getF(&r:reference_field::Ptr&) [line 102, column 14]\n *&return:int=(1 / n$1) [line 102, column 3]\n _=*&x:reference_field::X [line 102, column 21]\n n$3=_fun_reference_field::X_~X(&x:reference_field::X*) [line 102, column 21]\n " shape="box"] "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_2" ; @@ -69,7 +69,7 @@ digraph cfg { "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_4" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" ; -"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" [label="5: DeclStmt \n _fun_reference_field::Ptr_Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 100, column 7]\n " shape="box"] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" [label="5: DeclStmt \n n$4=_fun_reference_field::Ptr_Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 100, column 7]\n " shape="box"] "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_4" ; @@ -77,7 +77,7 @@ digraph cfg { "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_6" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" ; -"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 98, column 5]\n " shape="box"] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" [label="7: DeclStmt \n n$5=_fun_reference_field::X_X(&x:reference_field::X*) [line 98, column 5]\n " shape="box"] "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_6" ; @@ -88,7 +88,7 @@ digraph cfg { "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_2" [label="2: Exit reference_field::ptr_getI_div0 \n " color=yellow style=filled] -"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 110, column 14]\n n$1=_fun_reference_field::Ptr_getI(&r:reference_field::Ptr&) [line 110, column 14]\n *&return:int=(1 / n$1) [line 110, column 3]\n _=*&x:reference_field::X [line 110, column 21]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 110, column 21]\n " shape="box"] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 110, column 14]\n n$1=_fun_reference_field::Ptr_getI(&r:reference_field::Ptr&) [line 110, column 14]\n *&return:int=(1 / n$1) [line 110, column 3]\n _=*&x:reference_field::X [line 110, column 21]\n n$3=_fun_reference_field::X_~X(&x:reference_field::X*) [line 110, column 21]\n " shape="box"] "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_2" ; @@ -96,7 +96,7 @@ digraph cfg { "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_4" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" ; -"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" [label="5: DeclStmt \n _fun_reference_field::Ptr_Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 108, column 7]\n " shape="box"] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" [label="5: DeclStmt \n n$4=_fun_reference_field::Ptr_Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 108, column 7]\n " shape="box"] "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_4" ; @@ -104,7 +104,7 @@ digraph cfg { "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_6" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" ; -"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 106, column 5]\n " shape="box"] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" [label="7: DeclStmt \n n$5=_fun_reference_field::X_X(&x:reference_field::X*) [line 106, column 5]\n " shape="box"] "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_6" ; @@ -115,7 +115,7 @@ digraph cfg { "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_2" [label="2: Exit reference_field::ref_F_div0 \n " color=yellow style=filled] -"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X& [line 53, column 14]\n n$1=*n$0.f:int [line 53, column 14]\n *&return:int=(1 / n$1) [line 53, column 3]\n _=*&x:reference_field::X [line 53, column 18]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 53, column 18]\n " shape="box"] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X& [line 53, column 14]\n n$1=*n$0.f:int [line 53, column 14]\n *&return:int=(1 / n$1) [line 53, column 3]\n _=*&x:reference_field::X [line 53, column 18]\n n$3=_fun_reference_field::X_~X(&x:reference_field::X*) [line 53, column 18]\n " shape="box"] "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_2" ; @@ -123,7 +123,7 @@ digraph cfg { "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_4" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" ; -"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" [label="5: DeclStmt \n _fun_reference_field::Ref_Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 51, column 7]\n " shape="box"] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" [label="5: DeclStmt \n n$4=_fun_reference_field::Ref_Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 51, column 7]\n " shape="box"] "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_4" ; @@ -131,7 +131,7 @@ digraph cfg { "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_6" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" ; -"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 49, column 5]\n " shape="box"] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" [label="7: DeclStmt \n n$5=_fun_reference_field::X_X(&x:reference_field::X*) [line 49, column 5]\n " shape="box"] "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_6" ; @@ -142,7 +142,7 @@ digraph cfg { "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_2" [label="2: Exit reference_field::ref_I_div0 \n " color=yellow style=filled] -"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" [label="3: Return Stmt \n n$0=*&r.i:int& [line 61, column 14]\n n$1=*n$0:int [line 61, column 14]\n *&return:int=(1 / n$1) [line 61, column 3]\n _=*&x:reference_field::X [line 61, column 16]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 61, column 16]\n " shape="box"] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" [label="3: Return Stmt \n n$0=*&r.i:int& [line 61, column 14]\n n$1=*n$0:int [line 61, column 14]\n *&return:int=(1 / n$1) [line 61, column 3]\n _=*&x:reference_field::X [line 61, column 16]\n n$3=_fun_reference_field::X_~X(&x:reference_field::X*) [line 61, column 16]\n " shape="box"] "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_2" ; @@ -150,7 +150,7 @@ digraph cfg { "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_4" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" ; -"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" [label="5: DeclStmt \n _fun_reference_field::Ref_Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 59, column 7]\n " shape="box"] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" [label="5: DeclStmt \n n$4=_fun_reference_field::Ref_Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 59, column 7]\n " shape="box"] "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_4" ; @@ -158,7 +158,7 @@ digraph cfg { "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_6" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" ; -"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 57, column 5]\n " shape="box"] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" [label="7: DeclStmt \n n$5=_fun_reference_field::X_X(&x:reference_field::X*) [line 57, column 5]\n " shape="box"] "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_6" ; @@ -169,7 +169,7 @@ digraph cfg { "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_2" [label="2: Exit reference_field::ref_getF_div0 \n " color=yellow style=filled] -"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 69, column 14]\n n$1=_fun_reference_field::Ref_getF(&r:reference_field::Ref&) [line 69, column 14]\n *&return:int=(1 / n$1) [line 69, column 3]\n _=*&x:reference_field::X [line 69, column 21]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 69, column 21]\n " shape="box"] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 69, column 14]\n n$1=_fun_reference_field::Ref_getF(&r:reference_field::Ref&) [line 69, column 14]\n *&return:int=(1 / n$1) [line 69, column 3]\n _=*&x:reference_field::X [line 69, column 21]\n n$3=_fun_reference_field::X_~X(&x:reference_field::X*) [line 69, column 21]\n " shape="box"] "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_2" ; @@ -177,7 +177,7 @@ digraph cfg { "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_4" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" ; -"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" [label="5: DeclStmt \n _fun_reference_field::Ref_Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 67, column 7]\n " shape="box"] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" [label="5: DeclStmt \n n$4=_fun_reference_field::Ref_Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 67, column 7]\n " shape="box"] "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_4" ; @@ -185,7 +185,7 @@ digraph cfg { "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_6" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" ; -"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 65, column 5]\n " shape="box"] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" [label="7: DeclStmt \n n$5=_fun_reference_field::X_X(&x:reference_field::X*) [line 65, column 5]\n " shape="box"] "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_6" ; @@ -196,7 +196,7 @@ digraph cfg { "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_2" [label="2: Exit reference_field::ref_getI_div0 \n " color=yellow style=filled] -"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 77, column 14]\n n$1=_fun_reference_field::Ref_getI(&r:reference_field::Ref&) [line 77, column 14]\n *&return:int=(1 / n$1) [line 77, column 3]\n _=*&x:reference_field::X [line 77, column 21]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 77, column 21]\n " shape="box"] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 77, column 14]\n n$1=_fun_reference_field::Ref_getI(&r:reference_field::Ref&) [line 77, column 14]\n *&return:int=(1 / n$1) [line 77, column 3]\n _=*&x:reference_field::X [line 77, column 21]\n n$3=_fun_reference_field::X_~X(&x:reference_field::X*) [line 77, column 21]\n " shape="box"] "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_2" ; @@ -204,7 +204,7 @@ digraph cfg { "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_4" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" ; -"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" [label="5: DeclStmt \n _fun_reference_field::Ref_Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 75, column 7]\n " shape="box"] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" [label="5: DeclStmt \n n$4=_fun_reference_field::Ref_Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 75, column 7]\n " shape="box"] "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_4" ; @@ -212,7 +212,7 @@ digraph cfg { "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_6" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" ; -"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 73, column 5]\n " shape="box"] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" [label="7: DeclStmt \n n$5=_fun_reference_field::X_X(&x:reference_field::X*) [line 73, column 5]\n " shape="box"] "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_6" ; @@ -223,7 +223,7 @@ digraph cfg { "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_2" [label="2: Exit reference_field::val_F_div0 \n " color=yellow style=filled] -"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" [label="3: Return Stmt \n n$0=*&r.x.f:int [line 119, column 14]\n *&return:int=(1 / n$0) [line 119, column 3]\n _=*&x:reference_field::X [line 119, column 18]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 119, column 18]\n " shape="box"] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" [label="3: Return Stmt \n n$0=*&r.x.f:int [line 119, column 14]\n *&return:int=(1 / n$0) [line 119, column 3]\n _=*&x:reference_field::X [line 119, column 18]\n n$2=_fun_reference_field::X_~X(&x:reference_field::X*) [line 119, column 18]\n " shape="box"] "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_2" ; @@ -231,7 +231,7 @@ digraph cfg { "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_4" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" ; -"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" [label="5: DeclStmt \n _fun_reference_field::Val_Val(&r:reference_field::Val*,&x:reference_field::X&) [line 117, column 7]\n " shape="box"] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" [label="5: DeclStmt \n n$3=_fun_reference_field::Val_Val(&r:reference_field::Val*,&x:reference_field::X&) [line 117, column 7]\n " shape="box"] "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_4" ; @@ -239,7 +239,7 @@ digraph cfg { "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_6" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" ; -"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 115, column 5]\n " shape="box"] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" [label="7: DeclStmt \n n$4=_fun_reference_field::X_X(&x:reference_field::X*) [line 115, column 5]\n " shape="box"] "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_6" ; @@ -250,7 +250,7 @@ digraph cfg { "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_2" [label="2: Exit reference_field::val_I_div0 \n " color=yellow style=filled] -"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" [label="3: Return Stmt \n n$0=*&r.i:int [line 127, column 14]\n *&return:int=(1 / n$0) [line 127, column 3]\n _=*&x:reference_field::X [line 127, column 16]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 127, column 16]\n " shape="box"] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" [label="3: Return Stmt \n n$0=*&r.i:int [line 127, column 14]\n *&return:int=(1 / n$0) [line 127, column 3]\n _=*&x:reference_field::X [line 127, column 16]\n n$2=_fun_reference_field::X_~X(&x:reference_field::X*) [line 127, column 16]\n " shape="box"] "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_2" ; @@ -258,7 +258,7 @@ digraph cfg { "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_4" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" ; -"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" [label="5: DeclStmt \n _fun_reference_field::Val_Val(&r:reference_field::Val*,&x:reference_field::X&) [line 125, column 7]\n " shape="box"] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" [label="5: DeclStmt \n n$3=_fun_reference_field::Val_Val(&r:reference_field::Val*,&x:reference_field::X&) [line 125, column 7]\n " shape="box"] "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_4" ; @@ -266,7 +266,7 @@ digraph cfg { "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_6" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" ; -"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 123, column 5]\n " shape="box"] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" [label="7: DeclStmt \n n$4=_fun_reference_field::X_X(&x:reference_field::X*) [line 123, column 5]\n " shape="box"] "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_6" ; @@ -277,7 +277,7 @@ digraph cfg { "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_2" [label="2: Exit reference_field::val_getF_div0 \n " color=yellow style=filled] -"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 135, column 14]\n n$1=_fun_reference_field::Val_getF(&r:reference_field::Val&) [line 135, column 14]\n *&return:int=(1 / n$1) [line 135, column 3]\n _=*&x:reference_field::X [line 135, column 21]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 135, column 21]\n " shape="box"] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 135, column 14]\n n$1=_fun_reference_field::Val_getF(&r:reference_field::Val&) [line 135, column 14]\n *&return:int=(1 / n$1) [line 135, column 3]\n _=*&x:reference_field::X [line 135, column 21]\n n$3=_fun_reference_field::X_~X(&x:reference_field::X*) [line 135, column 21]\n " shape="box"] "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_2" ; @@ -285,7 +285,7 @@ digraph cfg { "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_4" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" ; -"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" [label="5: DeclStmt \n _fun_reference_field::Val_Val(&r:reference_field::Val*,&x:reference_field::X&) [line 133, column 7]\n " shape="box"] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" [label="5: DeclStmt \n n$4=_fun_reference_field::Val_Val(&r:reference_field::Val*,&x:reference_field::X&) [line 133, column 7]\n " shape="box"] "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_4" ; @@ -293,7 +293,7 @@ digraph cfg { "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_6" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" ; -"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 131, column 5]\n " shape="box"] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" [label="7: DeclStmt \n n$5=_fun_reference_field::X_X(&x:reference_field::X*) [line 131, column 5]\n " shape="box"] "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_6" ; @@ -304,7 +304,7 @@ digraph cfg { "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_2" [label="2: Exit reference_field::val_getI_div0 \n " color=yellow style=filled] -"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 143, column 14]\n n$1=_fun_reference_field::Val_getI(&r:reference_field::Val&) [line 143, column 14]\n *&return:int=(1 / n$1) [line 143, column 3]\n _=*&x:reference_field::X [line 143, column 21]\n _fun_reference_field::X_~X(&x:reference_field::X*) [line 143, column 21]\n " shape="box"] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 143, column 14]\n n$1=_fun_reference_field::Val_getI(&r:reference_field::Val&) [line 143, column 14]\n *&return:int=(1 / n$1) [line 143, column 3]\n _=*&x:reference_field::X [line 143, column 21]\n n$3=_fun_reference_field::X_~X(&x:reference_field::X*) [line 143, column 21]\n " shape="box"] "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_2" ; @@ -312,7 +312,7 @@ digraph cfg { "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_4" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" ; -"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" [label="5: DeclStmt \n _fun_reference_field::Val_Val(&r:reference_field::Val*,&x:reference_field::X&) [line 141, column 7]\n " shape="box"] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" [label="5: DeclStmt \n n$4=_fun_reference_field::Val_Val(&r:reference_field::Val*,&x:reference_field::X&) [line 141, column 7]\n " shape="box"] "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_4" ; @@ -320,7 +320,7 @@ digraph cfg { "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_6" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" ; -"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" [label="7: DeclStmt \n _fun_reference_field::X_X(&x:reference_field::X*) [line 139, column 5]\n " shape="box"] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" [label="7: DeclStmt \n n$5=_fun_reference_field::X_X(&x:reference_field::X*) [line 139, column 5]\n " shape="box"] "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_6" ; @@ -365,7 +365,7 @@ digraph cfg { "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_2" ; -"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" [label="4: Constructor Init \n n$3=*&this:reference_field::Val* [line 42, column 16]\n n$4=*&r_:reference_field::X& [line 42, column 18]\n _fun_reference_field::X_X(n$3.x:reference_field::X*,n$4:reference_field::X&) [line 42, column 16]\n " shape="box"] +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" [label="4: Constructor Init \n n$3=*&this:reference_field::Val* [line 42, column 16]\n n$4=*&r_:reference_field::X& [line 42, column 18]\n n$5=_fun_reference_field::X_X(n$3.x:reference_field::X*,n$4:reference_field::X&) [line 42, column 16]\n " shape="box"] "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot index 168944ad0..c7b49e5d9 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" [label="2: Exit __infer_globals_initializer_global \n " color=yellow style=filled] -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n _fun_X_X(&#GB$global:X*) [line 29, column 3]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n n$0=_fun_X_X(&#GB$global:X*) [line 29, column 3]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -39,7 +39,7 @@ digraph cfg { "field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_7" -> "field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_2" ; -"field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_8" [label="8: Call _fun_set_field_ptr \n n$4=*&x:X* [line 49, column 19]\n _fun_set_field_ptr(n$4:X*,0:int) [line 49, column 5]\n " shape="box"] +"field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_8" [label="8: Call _fun_set_field_ptr \n n$4=*&x:X* [line 49, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,0:int) [line 49, column 5]\n " shape="box"] "field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_8" -> "field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_7" ; @@ -54,7 +54,7 @@ digraph cfg { "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_2" ; -"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" [label="4: Call _fun_set_field_ref \n n$3=*&x:X& [line 96, column 17]\n _fun_set_field_ref(n$3:X&,0:int) [line 96, column 3]\n " shape="box"] +"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" [label="4: Call _fun_set_field_ref \n n$3=*&x:X& [line 96, column 17]\n n$4=_fun_set_field_ref(n$3:X&,0:int) [line 96, column 3]\n " shape="box"] "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" ; @@ -86,7 +86,7 @@ digraph cfg { "field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_7" -> "field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_2" ; -"field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_8" [label="8: Call _fun_set_field_ptr \n n$4=*&x:X* [line 56, column 19]\n _fun_set_field_ptr(n$4:X*,1:int) [line 56, column 5]\n " shape="box"] +"field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_8" [label="8: Call _fun_set_field_ptr \n n$4=*&x:X* [line 56, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,1:int) [line 56, column 5]\n " shape="box"] "field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_8" -> "field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_7" ; @@ -101,7 +101,7 @@ digraph cfg { "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_2" ; -"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" [label="4: Call _fun_set_field_ref \n n$3=*&x:X& [line 101, column 17]\n _fun_set_field_ref(n$3:X&,1:int) [line 101, column 3]\n " shape="box"] +"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" [label="4: Call _fun_set_field_ref \n n$3=*&x:X& [line 101, column 17]\n n$4=_fun_set_field_ref(n$3:X&,1:int) [line 101, column 3]\n " shape="box"] "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" ; @@ -131,7 +131,7 @@ digraph cfg { "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_4" -> "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_3" ; -"get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_5" [label="5: Call _fun_X_nonzero \n n$4=_fun_get_global_ptr() [line 74, column 3]\n _=*n$4:X [line 74, column 3]\n _fun_X_nonzero(n$4:X*) [line 74, column 3]\n " shape="box"] +"get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_5" [label="5: Call _fun_X_nonzero \n n$4=_fun_get_global_ptr() [line 74, column 3]\n _=*n$4:X [line 74, column 3]\n n$6=_fun_X_nonzero(n$4:X*) [line 74, column 3]\n " shape="box"] "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_5" -> "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_4" ; @@ -146,11 +146,11 @@ digraph cfg { "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_3" -> "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_2" ; -"get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_4" [label="4: Call _fun_X_zero \n n$3=_fun_get_global_ptr() [line 63, column 3]\n _=*n$3:X [line 63, column 3]\n _fun_X_zero(n$3:X*) [line 63, column 3]\n " shape="box"] +"get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_4" [label="4: Call _fun_X_zero \n n$3=_fun_get_global_ptr() [line 63, column 3]\n _=*n$3:X [line 63, column 3]\n n$5=_fun_X_zero(n$3:X*) [line 63, column 3]\n " shape="box"] "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_4" -> "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_3" ; -"get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_5" [label="5: BinaryOperatorStmt: Assign \n n$5=_fun_get_global_ptr() [line 62, column 3]\n *n$5.f:int=1 [line 62, column 3]\n " shape="box"] +"get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ptr() [line 62, column 3]\n *n$6.f:int=1 [line 62, column 3]\n " shape="box"] "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_5" -> "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_4" ; @@ -169,7 +169,7 @@ digraph cfg { "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_4" -> "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_3" ; -"get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_5" [label="5: Call _fun_X_zero \n n$4=_fun_get_global_ptr() [line 80, column 3]\n _=*n$4:X [line 80, column 3]\n _fun_X_zero(n$4:X*) [line 80, column 3]\n " shape="box"] +"get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_5" [label="5: Call _fun_X_zero \n n$4=_fun_get_global_ptr() [line 80, column 3]\n _=*n$4:X [line 80, column 3]\n n$6=_fun_X_zero(n$4:X*) [line 80, column 3]\n " shape="box"] "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_5" -> "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_4" ; @@ -184,11 +184,11 @@ digraph cfg { "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_3" -> "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_2" ; -"get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_4" [label="4: Call _fun_X_nonzero \n n$3=_fun_get_global_ptr() [line 69, column 3]\n _=*n$3:X [line 69, column 3]\n _fun_X_nonzero(n$3:X*) [line 69, column 3]\n " shape="box"] +"get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_4" [label="4: Call _fun_X_nonzero \n n$3=_fun_get_global_ptr() [line 69, column 3]\n _=*n$3:X [line 69, column 3]\n n$5=_fun_X_nonzero(n$3:X*) [line 69, column 3]\n " shape="box"] "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_4" -> "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_3" ; -"get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_5" [label="5: BinaryOperatorStmt: Assign \n n$5=_fun_get_global_ptr() [line 68, column 3]\n *n$5.f:int=0 [line 68, column 3]\n " shape="box"] +"get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ptr() [line 68, column 3]\n *n$6.f:int=0 [line 68, column 3]\n " shape="box"] "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_5" -> "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_4" ; @@ -218,7 +218,7 @@ digraph cfg { "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_4" -> "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_3" ; -"get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_5" [label="5: Call _fun_X_nonzero \n n$4=_fun_get_global_ref() [line 118, column 3]\n _=*n$4:X [line 118, column 3]\n _fun_X_nonzero(n$4:X&) [line 118, column 3]\n " shape="box"] +"get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_5" [label="5: Call _fun_X_nonzero \n n$4=_fun_get_global_ref() [line 118, column 3]\n _=*n$4:X [line 118, column 3]\n n$6=_fun_X_nonzero(n$4:X&) [line 118, column 3]\n " shape="box"] "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_5" -> "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_4" ; @@ -233,11 +233,11 @@ digraph cfg { "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_3" -> "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_2" ; -"get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_4" [label="4: Call _fun_X_zero \n n$3=_fun_get_global_ref() [line 107, column 3]\n _=*n$3:X [line 107, column 3]\n _fun_X_zero(n$3:X&) [line 107, column 3]\n " shape="box"] +"get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_4" [label="4: Call _fun_X_zero \n n$3=_fun_get_global_ref() [line 107, column 3]\n _=*n$3:X [line 107, column 3]\n n$5=_fun_X_zero(n$3:X&) [line 107, column 3]\n " shape="box"] "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_4" -> "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_3" ; -"get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_5" [label="5: BinaryOperatorStmt: Assign \n n$5=_fun_get_global_ref() [line 106, column 3]\n *n$5.f:int=1 [line 106, column 3]\n " shape="box"] +"get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ref() [line 106, column 3]\n *n$6.f:int=1 [line 106, column 3]\n " shape="box"] "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_5" -> "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_4" ; @@ -256,7 +256,7 @@ digraph cfg { "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_4" -> "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_3" ; -"get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_5" [label="5: Call _fun_X_zero \n n$4=_fun_get_global_ref() [line 124, column 3]\n _=*n$4:X [line 124, column 3]\n _fun_X_zero(n$4:X&) [line 124, column 3]\n " shape="box"] +"get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_5" [label="5: Call _fun_X_zero \n n$4=_fun_get_global_ref() [line 124, column 3]\n _=*n$4:X [line 124, column 3]\n n$6=_fun_X_zero(n$4:X&) [line 124, column 3]\n " shape="box"] "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_5" -> "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_4" ; @@ -271,11 +271,11 @@ digraph cfg { "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_3" -> "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_2" ; -"get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_4" [label="4: Call _fun_X_nonzero \n n$3=_fun_get_global_ref() [line 113, column 3]\n _=*n$3:X [line 113, column 3]\n _fun_X_nonzero(n$3:X&) [line 113, column 3]\n " shape="box"] +"get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_4" [label="4: Call _fun_X_nonzero \n n$3=_fun_get_global_ref() [line 113, column 3]\n _=*n$3:X [line 113, column 3]\n n$5=_fun_X_nonzero(n$3:X&) [line 113, column 3]\n " shape="box"] "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_4" -> "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_3" ; -"get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_5" [label="5: BinaryOperatorStmt: Assign \n n$5=_fun_get_global_ref() [line 112, column 3]\n *n$5.f:int=0 [line 112, column 3]\n " shape="box"] +"get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ref() [line 112, column 3]\n *n$6.f:int=0 [line 112, column 3]\n " shape="box"] "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_5" -> "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_4" ; @@ -307,7 +307,7 @@ digraph cfg { "method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_7" -> "method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_2" ; -"method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_8" [label="8: Call _fun_zero_ptr \n n$4=*&x:X* [line 35, column 14]\n _fun_zero_ptr(n$4:X*) [line 35, column 5]\n " shape="box"] +"method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_8" [label="8: Call _fun_zero_ptr \n n$4=*&x:X* [line 35, column 14]\n n$5=_fun_zero_ptr(n$4:X*) [line 35, column 5]\n " shape="box"] "method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_8" -> "method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_7" ; @@ -322,7 +322,7 @@ digraph cfg { "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_2" ; -"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" [label="4: Call _fun_zero_ref \n n$3=*&x:X& [line 86, column 12]\n _fun_zero_ref(n$3:X&) [line 86, column 3]\n " shape="box"] +"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" [label="4: Call _fun_zero_ref \n n$3=*&x:X& [line 86, column 12]\n n$4=_fun_zero_ref(n$3:X&) [line 86, column 3]\n " shape="box"] "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" ; @@ -354,7 +354,7 @@ digraph cfg { "method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_7" -> "method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_2" ; -"method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_8" [label="8: Call _fun_nonzero_ptr \n n$4=*&x:X* [line 42, column 17]\n _fun_nonzero_ptr(n$4:X*) [line 42, column 5]\n " shape="box"] +"method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_8" [label="8: Call _fun_nonzero_ptr \n n$4=*&x:X* [line 42, column 17]\n n$5=_fun_nonzero_ptr(n$4:X*) [line 42, column 5]\n " shape="box"] "method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_8" -> "method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_7" ; @@ -369,7 +369,7 @@ digraph cfg { "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_2" ; -"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" [label="4: Call _fun_nonzero_ref \n n$3=*&x:X& [line 91, column 15]\n _fun_nonzero_ref(n$3:X&) [line 91, column 3]\n " shape="box"] +"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" [label="4: Call _fun_nonzero_ref \n n$3=*&x:X& [line 91, column 15]\n n$4=_fun_nonzero_ref(n$3:X&) [line 91, column 3]\n " shape="box"] "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" ; @@ -380,7 +380,7 @@ digraph cfg { "nonzero_ptr#1716920554390102131.73cd383c8a42e9a8d0f617a226ea9df9_2" [label="2: Exit nonzero_ptr \n " color=yellow style=filled] -"nonzero_ptr#1716920554390102131.73cd383c8a42e9a8d0f617a226ea9df9_3" [label="3: Call _fun_X_nonzero \n n$0=*&x:X* [line 19, column 26]\n _=*n$0:X [line 19, column 26]\n _fun_X_nonzero(n$0:X*) [line 19, column 26]\n " shape="box"] +"nonzero_ptr#1716920554390102131.73cd383c8a42e9a8d0f617a226ea9df9_3" [label="3: Call _fun_X_nonzero \n n$0=*&x:X* [line 19, column 26]\n _=*n$0:X [line 19, column 26]\n n$2=_fun_X_nonzero(n$0:X*) [line 19, column 26]\n " shape="box"] "nonzero_ptr#1716920554390102131.73cd383c8a42e9a8d0f617a226ea9df9_3" -> "nonzero_ptr#1716920554390102131.73cd383c8a42e9a8d0f617a226ea9df9_2" ; @@ -391,7 +391,7 @@ digraph cfg { "nonzero_ref#2062801655575406720.e5794366c34a5ecd10e2fd062a659f30_2" [label="2: Exit nonzero_ref \n " color=yellow style=filled] -"nonzero_ref#2062801655575406720.e5794366c34a5ecd10e2fd062a659f30_3" [label="3: Call _fun_X_nonzero \n n$0=*&x:X& [line 25, column 26]\n _=*n$0:X [line 25, column 26]\n _fun_X_nonzero(n$0:X&) [line 25, column 26]\n " shape="box"] +"nonzero_ref#2062801655575406720.e5794366c34a5ecd10e2fd062a659f30_3" [label="3: Call _fun_X_nonzero \n n$0=*&x:X& [line 25, column 26]\n _=*n$0:X [line 25, column 26]\n n$2=_fun_X_nonzero(n$0:X&) [line 25, column 26]\n " shape="box"] "nonzero_ref#2062801655575406720.e5794366c34a5ecd10e2fd062a659f30_3" -> "nonzero_ref#2062801655575406720.e5794366c34a5ecd10e2fd062a659f30_2" ; @@ -424,7 +424,7 @@ digraph cfg { "zero_ptr#12528709853087384868.d5a909d971ab439311f13a14aded5aa9_2" [label="2: Exit zero_ptr \n " color=yellow style=filled] -"zero_ptr#12528709853087384868.d5a909d971ab439311f13a14aded5aa9_3" [label="3: Call _fun_X_zero \n n$0=*&x:X* [line 17, column 23]\n _=*n$0:X [line 17, column 23]\n _fun_X_zero(n$0:X*) [line 17, column 23]\n " shape="box"] +"zero_ptr#12528709853087384868.d5a909d971ab439311f13a14aded5aa9_3" [label="3: Call _fun_X_zero \n n$0=*&x:X* [line 17, column 23]\n _=*n$0:X [line 17, column 23]\n n$2=_fun_X_zero(n$0:X*) [line 17, column 23]\n " shape="box"] "zero_ptr#12528709853087384868.d5a909d971ab439311f13a14aded5aa9_3" -> "zero_ptr#12528709853087384868.d5a909d971ab439311f13a14aded5aa9_2" ; @@ -435,7 +435,7 @@ digraph cfg { "zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_2" [label="2: Exit zero_ref \n " color=yellow style=filled] -"zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_3" [label="3: Call _fun_X_zero \n n$0=*&x:X& [line 23, column 23]\n _=*n$0:X [line 23, column 23]\n _fun_X_zero(n$0:X&) [line 23, column 23]\n " shape="box"] +"zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_3" [label="3: Call _fun_X_zero \n n$0=*&x:X& [line 23, column 23]\n _=*n$0:X [line 23, column 23]\n n$2=_fun_X_zero(n$0:X&) [line 23, column 23]\n " shape="box"] "zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_3" -> "zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp.dot index 1280b0bad..fcf2e0630 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp.dot @@ -34,7 +34,7 @@ digraph cfg { "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_2" ; -"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" [label="4: Call _fun_zero_ptr \n _fun_zero_ptr(&a:int*) [line 22, column 3]\n " shape="box"] +"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" [label="4: Call _fun_zero_ptr \n n$1=_fun_zero_ptr(&a:int*) [line 22, column 3]\n " shape="box"] "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" ; @@ -53,7 +53,7 @@ digraph cfg { "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_2" ; -"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" [label="4: Call _fun_zero_ptr \n n$1=*&r:int* [line 29, column 12]\n _fun_zero_ptr(n$1:int*) [line 29, column 3]\n " shape="box"] +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" [label="4: Call _fun_zero_ptr \n n$1=*&r:int* [line 29, column 12]\n n$2=_fun_zero_ptr(n$1:int*) [line 29, column 3]\n " shape="box"] "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" ; @@ -99,7 +99,7 @@ digraph cfg { "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_2" ; -"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" [label="4: Call _fun_zero_ref \n _fun_zero_ref(&a:int&) [line 42, column 3]\n " shape="box"] +"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" [label="4: Call _fun_zero_ref \n n$1=_fun_zero_ref(&a:int&) [line 42, column 3]\n " shape="box"] "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" ; @@ -118,7 +118,7 @@ digraph cfg { "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_2" ; -"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" [label="4: Call _fun_zero_ref \n n$1=*&r:int& [line 49, column 12]\n _fun_zero_ref(n$1:int&) [line 49, column 3]\n " shape="box"] +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" [label="4: Call _fun_zero_ref \n n$1=*&r:int& [line 49, column 12]\n n$2=_fun_zero_ref(n$1:int&) [line 49, column 3]\n " shape="box"] "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot index f7a885a69..d7cb05306 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot @@ -11,11 +11,11 @@ digraph cfg { "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_3" -> "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_2" ; -"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_4" [label="4: Call _fun_class_specialization::Derived_foo \n _=*&b:class_specialization::Derived [line 34, column 3]\n _fun_class_specialization::Derived_foo(&b:class_specialization::Derived&,0:int) [line 34, column 3]\n " shape="box"] +"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_4" [label="4: Call _fun_class_specialization::Derived_foo \n _=*&b:class_specialization::Derived [line 34, column 3]\n n$2=_fun_class_specialization::Derived_foo(&b:class_specialization::Derived&,0:int) [line 34, column 3]\n " shape="box"] "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_4" -> "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_3" ; -"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_5" [label="5: DeclStmt \n _fun_class_specialization::Derived_Derived(&b:class_specialization::Derived*) [line 33, column 16]\n " shape="box"] +"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_5" [label="5: DeclStmt \n n$3=_fun_class_specialization::Derived_Derived(&b:class_specialization::Derived*) [line 33, column 16]\n " shape="box"] "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_5" -> "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_4" ; @@ -30,11 +30,11 @@ digraph cfg { "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_3" -> "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_2" ; -"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_4" [label="4: Call _fun_class_specialization::Derived_foo2 \n _=*&b:class_specialization::Derived [line 28, column 3]\n _fun_class_specialization::Derived_foo2(&b:class_specialization::Derived&,null:int*) [line 28, column 3]\n " shape="box"] +"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_4" [label="4: Call _fun_class_specialization::Derived_foo2 \n _=*&b:class_specialization::Derived [line 28, column 3]\n n$3=_fun_class_specialization::Derived_foo2(&b:class_specialization::Derived&,null:int*) [line 28, column 3]\n " shape="box"] "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_4" -> "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_3" ; -"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_5" [label="5: DeclStmt \n _fun_class_specialization::Derived_Derived(&b:class_specialization::Derived*) [line 27, column 17]\n " shape="box"] +"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_5" [label="5: DeclStmt \n n$4=_fun_class_specialization::Derived_Derived(&b:class_specialization::Derived*) [line 27, column 17]\n " shape="box"] "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_5" -> "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_4" ; @@ -59,7 +59,7 @@ digraph cfg { "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" [label="2: Exit class_specialization::Derived_Derived \n " color=yellow style=filled] -"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" [label="3: Constructor Init \n n$0=*&this:class_specialization::Derived* [line 22, column 8]\n _fun_class_specialization::Base_Base(n$0:class_specialization::Derived*) [line 22, column 8]\n " shape="box"] +"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" [label="3: Constructor Init \n n$0=*&this:class_specialization::Derived* [line 22, column 8]\n n$1=_fun_class_specialization::Base_Base(n$0:class_specialization::Derived*) [line 22, column 8]\n " shape="box"] "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" -> "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" ; @@ -70,7 +70,7 @@ digraph cfg { "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" [label="2: Exit class_specialization::Derived_Derived \n " color=yellow style=filled] -"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" [label="3: Constructor Init \n n$0=*&this:class_specialization::Derived* [line 17, column 8]\n _fun_class_specialization::Base_Base(n$0:class_specialization::Derived*) [line 17, column 8]\n " shape="box"] +"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" [label="3: Constructor Init \n n$0=*&this:class_specialization::Derived* [line 17, column 8]\n n$1=_fun_class_specialization::Base_Base(n$0:class_specialization::Derived*) [line 17, column 8]\n " shape="box"] "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" -> "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot index 3b55d27b8..ec29e8336 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot @@ -33,7 +33,7 @@ digraph cfg { "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_2" ; -"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" [label="4: DeclStmt \n _fun_function::X1_X1(&x:function::X1*) [line 37, column 5]\n " shape="box"] +"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" [label="4: DeclStmt \n n$1=_fun_function::X1_X1(&x:function::X1*) [line 37, column 5]\n " shape="box"] "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" ; @@ -48,7 +48,7 @@ digraph cfg { "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_2" ; -"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" [label="4: DeclStmt \n _fun_function::X3_X3(&x:function::X3*) [line 37, column 5]\n " shape="box"] +"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" [label="4: DeclStmt \n n$1=_fun_function::X3_X3(&x:function::X3*) [line 37, column 5]\n " shape="box"] "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" ; @@ -74,11 +74,11 @@ digraph cfg { "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_3" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_2" ; -"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" [label="4: DeclStmt \n _fun_function::X3_X3(&x3:function::X3*) [line 59, column 6]\n " shape="box"] +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" [label="4: DeclStmt \n n$2=_fun_function::X3_X3(&x3:function::X3*) [line 59, column 6]\n " shape="box"] "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_3" ; -"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" [label="5: DeclStmt \n _fun_function::X1_X1(&x1:function::X1*) [line 58, column 6]\n " shape="box"] +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" [label="5: DeclStmt \n n$3=_fun_function::X1_X1(&x1:function::X1*) [line 58, column 6]\n " shape="box"] "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" ; @@ -104,11 +104,11 @@ digraph cfg { "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_3" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_2" ; -"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" [label="4: DeclStmt \n _fun_function::X3_X3(&x3:function::X3*) [line 65, column 6]\n " shape="box"] +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" [label="4: DeclStmt \n n$2=_fun_function::X3_X3(&x3:function::X3*) [line 65, column 6]\n " shape="box"] "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_3" ; -"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" [label="5: DeclStmt \n _fun_function::X1_X1(&x1:function::X1*) [line 64, column 6]\n " shape="box"] +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" [label="5: DeclStmt \n n$3=_fun_function::X1_X1(&x1:function::X1*) [line 64, column 6]\n " shape="box"] "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot index a195bf9d6..ad4d5d9e3 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot @@ -11,11 +11,11 @@ digraph cfg { "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_2" ; -"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" [label="4: DeclStmt \n _fun_method::Getter_Getter(&g:method::Getter*) [line 41, column 10]\n " shape="box"] +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" [label="4: DeclStmt \n n$2=_fun_method::Getter_Getter(&g:method::Getter*) [line 41, column 10]\n " shape="box"] "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" ; -"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" [label="5: DeclStmt \n _fun_method::X2_X2(&x2:method::X2*) [line 40, column 6]\n " shape="box"] +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" [label="5: DeclStmt \n n$3=_fun_method::X2_X2(&x2:method::X2*) [line 40, column 6]\n " shape="box"] "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" ; @@ -30,15 +30,15 @@ digraph cfg { "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_3" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_2" ; -"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" [label="4: DeclStmt \n _fun_method::GetterTempl_GetterTempl(&g:method::GetterTempl*) [line 54, column 19]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" [label="4: DeclStmt \n n$2=_fun_method::GetterTempl_GetterTempl(&g:method::GetterTempl*) [line 54, column 19]\n " shape="box"] "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_3" ; -"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" [label="5: DeclStmt \n _fun_method::X3_X3(&x3:method::X3*) [line 53, column 6]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" [label="5: DeclStmt \n n$3=_fun_method::X3_X3(&x3:method::X3*) [line 53, column 6]\n " shape="box"] "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" ; -"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" [label="6: DeclStmt \n _fun_method::X2_X2(&x2:method::X2*) [line 52, column 6]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" [label="6: DeclStmt \n n$4=_fun_method::X2_X2(&x2:method::X2*) [line 52, column 6]\n " shape="box"] "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" ; @@ -53,15 +53,15 @@ digraph cfg { "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_3" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_2" ; -"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" [label="4: DeclStmt \n _fun_method::GetterTempl_GetterTempl(&g:method::GetterTempl*) [line 61, column 19]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" [label="4: DeclStmt \n n$2=_fun_method::GetterTempl_GetterTempl(&g:method::GetterTempl*) [line 61, column 19]\n " shape="box"] "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_3" ; -"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" [label="5: DeclStmt \n _fun_method::X2_X2(&x2_2:method::X2*) [line 60, column 6]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" [label="5: DeclStmt \n n$3=_fun_method::X2_X2(&x2_2:method::X2*) [line 60, column 6]\n " shape="box"] "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" ; -"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" [label="6: DeclStmt \n _fun_method::X2_X2(&x2_1:method::X2*) [line 59, column 6]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" [label="6: DeclStmt \n n$4=_fun_method::X2_X2(&x2_1:method::X2*) [line 59, column 6]\n " shape="box"] "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" ; @@ -76,11 +76,11 @@ digraph cfg { "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_2" ; -"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" [label="4: DeclStmt \n _fun_method::Getter_Getter(&g:method::Getter*) [line 47, column 10]\n " shape="box"] +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" [label="4: DeclStmt \n n$2=_fun_method::Getter_Getter(&g:method::Getter*) [line 47, column 10]\n " shape="box"] "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" ; -"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" [label="5: DeclStmt \n _fun_method::X1_X1(&x1:method::X1*) [line 46, column 6]\n " shape="box"] +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" [label="5: DeclStmt \n n$3=_fun_method::X1_X1(&x1:method::X1*) [line 46, column 6]\n " shape="box"] "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" ; @@ -95,15 +95,15 @@ digraph cfg { "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_3" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_2" ; -"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" [label="4: DeclStmt \n _fun_method::GetterTempl_GetterTempl(&g:method::GetterTempl*) [line 68, column 19]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" [label="4: DeclStmt \n n$2=_fun_method::GetterTempl_GetterTempl(&g:method::GetterTempl*) [line 68, column 19]\n " shape="box"] "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_3" ; -"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" [label="5: DeclStmt \n _fun_method::X2_X2(&x2:method::X2*) [line 67, column 6]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" [label="5: DeclStmt \n n$3=_fun_method::X2_X2(&x2:method::X2*) [line 67, column 6]\n " shape="box"] "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" ; -"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" [label="6: DeclStmt \n _fun_method::X1_X1(&x1:method::X1*) [line 66, column 6]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" [label="6: DeclStmt \n n$4=_fun_method::X1_X1(&x1:method::X1*) [line 66, column 6]\n " shape="box"] "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" ; @@ -118,15 +118,15 @@ digraph cfg { "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_3" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_2" ; -"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" [label="4: DeclStmt \n _fun_method::GetterTempl_GetterTempl(&g:method::GetterTempl*) [line 75, column 19]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" [label="4: DeclStmt \n n$2=_fun_method::GetterTempl_GetterTempl(&g:method::GetterTempl*) [line 75, column 19]\n " shape="box"] "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_3" ; -"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" [label="5: DeclStmt \n _fun_method::X1_X1(&x1_2:method::X1*) [line 74, column 6]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" [label="5: DeclStmt \n n$3=_fun_method::X1_X1(&x1_2:method::X1*) [line 74, column 6]\n " shape="box"] "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" ; -"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" [label="6: DeclStmt \n _fun_method::X1_X1(&x1_1:method::X1*) [line 73, column 6]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" [label="6: DeclStmt \n n$4=_fun_method::X1_X1(&x1_1:method::X1*) [line 73, column 6]\n " shape="box"] "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot index 2fb10c6da..449dfdeb1 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot @@ -31,15 +31,15 @@ digraph cfg { "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_8" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_7" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" [label="9: DeclStmt \n n$18=_fun___new(sizeof(t=Sub):unsigned long) [line 24, column 13]\n _fun_Sub_Sub(n$18:Sub*) [line 24, column 17]\n *&s2:Sub*=n$18 [line 24, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" [label="9: DeclStmt \n n$18=_fun___new(sizeof(t=Sub):unsigned long) [line 24, column 13]\n n$19=_fun_Sub_Sub(n$18:Sub*) [line 24, column 17]\n *&s2:Sub*=n$18 [line 24, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_8" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" [label="10: DeclStmt \n n$19=_fun___new(sizeof(t=Sub):unsigned long) [line 23, column 14]\n _fun_Sub_Sub(n$19:Sub*) [line 23, column 18]\n *&s1:Sub*=n$19 [line 23, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" [label="10: DeclStmt \n n$20=_fun___new(sizeof(t=Sub):unsigned long) [line 23, column 14]\n n$21=_fun_Sub_Sub(n$20:Sub*) [line 23, column 18]\n *&s1:Sub*=n$20 [line 23, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" [label="11: DeclStmt \n n$20=_fun___new(sizeof(t=Base):unsigned long) [line 22, column 13]\n _fun_Base_Base(n$20:Base*) [line 22, column 17]\n *&b:Base*=n$20 [line 22, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" [label="11: DeclStmt \n n$22=_fun___new(sizeof(t=Base):unsigned long) [line 22, column 13]\n n$23=_fun_Base_Base(n$22:Base*) [line 22, column 17]\n *&b:Base*=n$22 [line 22, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" ; @@ -57,7 +57,7 @@ digraph cfg { "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" [label="2: Exit Sub_Sub \n " color=yellow style=filled] -"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" [label="3: Constructor Init \n n$0=*&this:Sub* [line 16, column 7]\n _fun_Base_Base(n$0:Sub*) [line 16, column 7]\n " shape="box"] +"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" [label="3: Constructor Init \n n$0=*&this:Sub* [line 16, column 7]\n n$1=_fun_Base_Base(n$0:Sub*) [line 16, column 7]\n " shape="box"] "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" -> "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot index 1407ffb7a..1effa7999 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot @@ -18,7 +18,7 @@ digraph cfg { "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_2" [label="2: Exit inheritance_casts::div0_A \n " color=yellow style=filled] -"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_3" [label="3: Return Stmt \n _fun_inheritance_casts::getA(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) [line 28, column 27]\n n$2=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A&) [line 28, column 23]\n *&return:int=n$2 [line 28, column 16]\n " shape="box"] +"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_3" [label="3: Return Stmt \n n$2=_fun_inheritance_casts::getA(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) [line 28, column 27]\n n$3=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A&) [line 28, column 23]\n *&return:int=n$3 [line 28, column 16]\n " shape="box"] "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_3" -> "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_2" ; @@ -29,7 +29,7 @@ digraph cfg { "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_2" [label="2: Exit inheritance_casts::div0_B \n " color=yellow style=filled] -"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_3" [label="3: Return Stmt \n _fun_inheritance_casts::getB(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) [line 32, column 27]\n n$2=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B&) [line 32, column 23]\n *&return:int=n$2 [line 32, column 16]\n " shape="box"] +"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_3" [label="3: Return Stmt \n n$2=_fun_inheritance_casts::getB(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) [line 32, column 27]\n n$3=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B&) [line 32, column 23]\n *&return:int=n$3 [line 32, column 16]\n " shape="box"] "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_3" -> "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_2" ; @@ -40,7 +40,7 @@ digraph cfg { "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_2" [label="2: Exit inheritance_casts::div1_A \n " color=yellow style=filled] -"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_3" [label="3: Return Stmt \n _fun_inheritance_casts::getA(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) [line 30, column 27]\n n$2=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A&) [line 30, column 23]\n *&return:int=n$2 [line 30, column 16]\n " shape="box"] +"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_3" [label="3: Return Stmt \n n$2=_fun_inheritance_casts::getA(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) [line 30, column 27]\n n$3=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A&) [line 30, column 23]\n *&return:int=n$3 [line 30, column 16]\n " shape="box"] "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_3" -> "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_2" ; @@ -51,7 +51,7 @@ digraph cfg { "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_2" [label="2: Exit inheritance_casts::div1_B \n " color=yellow style=filled] -"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" [label="3: Return Stmt \n _fun_inheritance_casts::getB(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) [line 34, column 27]\n n$2=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B&) [line 34, column 23]\n *&return:int=n$2 [line 34, column 16]\n " shape="box"] +"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" [label="3: Return Stmt \n n$2=_fun_inheritance_casts::getB(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) [line 34, column 27]\n n$3=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B&) [line 34, column 23]\n *&return:int=n$3 [line 34, column 16]\n " shape="box"] "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" -> "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_2" ; @@ -62,15 +62,15 @@ digraph cfg { "getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_2" [label="2: Exit inheritance_casts::getA \n " color=yellow style=filled] -"getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::A* [line 23, column 3]\n _fun_inheritance_casts::A_A(n$0:inheritance_casts::A*,&x:inheritance_casts::A&) [line 23, column 10]\n _=*&x:inheritance_casts::A [line 23, column 10]\n _fun_inheritance_casts::A_~A(&x:inheritance_casts::A*) [line 23, column 10]\n " shape="box"] +"getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::A* [line 23, column 3]\n n$1=_fun_inheritance_casts::A_A(n$0:inheritance_casts::A*,&x:inheritance_casts::A&) [line 23, column 10]\n _=*&x:inheritance_casts::A [line 23, column 10]\n n$3=_fun_inheritance_casts::A_~A(&x:inheritance_casts::A*) [line 23, column 10]\n " shape="box"] "getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_3" -> "getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_2" ; -"getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 22, column 9]\n *&x.f:int=n$2 [line 22, column 3]\n " shape="box"] +"getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&f:int [line 22, column 9]\n *&x.f:int=n$4 [line 22, column 3]\n " shape="box"] "getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_4" -> "getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_3" ; -"getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_5" [label="5: DeclStmt \n _fun_inheritance_casts::A_A(&x:inheritance_casts::A*) [line 21, column 5]\n " shape="box"] +"getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_5" [label="5: DeclStmt \n n$5=_fun_inheritance_casts::A_A(&x:inheritance_casts::A*) [line 21, column 5]\n " shape="box"] "getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_5" -> "getA#inheritance_casts#5702196550029280494.a31441c26ae3c842bca5b13c0e4f700e_4" ; @@ -81,15 +81,15 @@ digraph cfg { "getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_2" [label="2: Exit inheritance_casts::getB \n " color=yellow style=filled] -"getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::B* [line 18, column 3]\n _fun_inheritance_casts::B_B(n$0:inheritance_casts::B*,&x:inheritance_casts::B&) [line 18, column 10]\n _=*&x:inheritance_casts::B [line 18, column 10]\n _fun_inheritance_casts::B_~B(&x:inheritance_casts::B*) [line 18, column 10]\n " shape="box"] +"getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::B* [line 18, column 3]\n n$1=_fun_inheritance_casts::B_B(n$0:inheritance_casts::B*,&x:inheritance_casts::B&) [line 18, column 10]\n _=*&x:inheritance_casts::B [line 18, column 10]\n n$3=_fun_inheritance_casts::B_~B(&x:inheritance_casts::B*) [line 18, column 10]\n " shape="box"] "getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_3" -> "getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_2" ; -"getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 17, column 9]\n *&x.f:int=n$2 [line 17, column 3]\n " shape="box"] +"getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&f:int [line 17, column 9]\n *&x.f:int=n$4 [line 17, column 3]\n " shape="box"] "getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_4" -> "getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_3" ; -"getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_5" [label="5: DeclStmt \n _fun_inheritance_casts::B_B(&x:inheritance_casts::B*) [line 16, column 5]\n " shape="box"] +"getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_5" [label="5: DeclStmt \n n$5=_fun_inheritance_casts::B_B(&x:inheritance_casts::B*) [line 16, column 5]\n " shape="box"] "getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_5" -> "getB#inheritance_casts#7572693428029732371.2a52889292973e0a59e81bc3aa93b9cd_4" ; @@ -118,7 +118,7 @@ digraph cfg { "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_2" [label="2: Exit inheritance_casts::B_B \n " color=yellow style=filled] -"B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_3" [label="3: Constructor Init \n n$0=*&this:inheritance_casts::B* [line 13, column 8]\n n$1=*&__param_0:inheritance_casts::B& [line 13, column 8]\n _fun_inheritance_casts::A_A(n$0:inheritance_casts::B*,n$1:inheritance_casts::B&) [line 13, column 8]\n " shape="box"] +"B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_3" [label="3: Constructor Init \n n$0=*&this:inheritance_casts::B* [line 13, column 8]\n n$1=*&__param_0:inheritance_casts::B& [line 13, column 8]\n n$2=_fun_inheritance_casts::A_A(n$0:inheritance_casts::B*,n$1:inheritance_casts::B&) [line 13, column 8]\n " shape="box"] "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_3" -> "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_2" ; @@ -129,7 +129,7 @@ digraph cfg { "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_2" [label="2: Exit inheritance_casts::B_B \n " color=yellow style=filled] -"B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_3" [label="3: Constructor Init \n n$0=*&this:inheritance_casts::B* [line 13, column 8]\n _fun_inheritance_casts::A_A(n$0:inheritance_casts::B*) [line 13, column 8]\n " shape="box"] +"B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_3" [label="3: Constructor Init \n n$0=*&this:inheritance_casts::B* [line 13, column 8]\n n$1=_fun_inheritance_casts::A_A(n$0:inheritance_casts::B*) [line 13, column 8]\n " shape="box"] "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_3" -> "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot index fe2caef59..112cc533f 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot @@ -7,60 +7,60 @@ digraph cfg { "get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_2" [label="2: Exit return_struct::get \n " color=yellow style=filled] -"get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_3" [label="3: Return Stmt \n n$0=*&__return_param:return_struct::X* [line 24, column 3]\n _fun_return_struct::X_X(n$0:return_struct::X*,&x:return_struct::X&) [line 24, column 10]\n _=*&x:return_struct::X [line 24, column 10]\n _fun_return_struct::X_~X(&x:return_struct::X*) [line 24, column 10]\n " shape="box"] +"get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_3" [label="3: Return Stmt \n n$0=*&__return_param:return_struct::X* [line 24, column 3]\n n$1=_fun_return_struct::X_X(n$0:return_struct::X*,&x:return_struct::X&) [line 24, column 10]\n _=*&x:return_struct::X [line 24, column 10]\n n$3=_fun_return_struct::X_~X(&x:return_struct::X*) [line 24, column 10]\n " shape="box"] "get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_3" -> "get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_2" ; -"get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&a:int [line 23, column 9]\n *&x.f:int=n$2 [line 23, column 3]\n " shape="box"] +"get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&a:int [line 23, column 9]\n *&x.f:int=n$4 [line 23, column 3]\n " shape="box"] "get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_4" -> "get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_3" ; -"get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_5" [label="5: DeclStmt \n _fun_return_struct::X_X(&x:return_struct::X*) [line 22, column 5]\n " shape="box"] +"get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_5" [label="5: DeclStmt \n n$5=_fun_return_struct::X_X(&x:return_struct::X*) [line 22, column 5]\n " shape="box"] "get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_5" -> "get#return_struct#15206943163581446197.ccfaa809d6b1c936572851236a9ccb10_4" ; -"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_1" [label="1: Start return_struct::get_div0\nFormals: \nLocals: x:return_struct::X 0$?%__sil_tmpSIL_materialize_temp__n$2:return_struct::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 27, column 1]\n " color=yellow style=filled] +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_1" [label="1: Start return_struct::get_div0\nFormals: \nLocals: x:return_struct::X 0$?%__sil_tmpSIL_materialize_temp__n$3:return_struct::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 27, column 1]\n " color=yellow style=filled] "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_1" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" ; "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_2" [label="2: Exit return_struct::get_div0 \n " color=yellow style=filled] -"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 29, column 14]\n *&return:int=(1 / n$0) [line 29, column 3]\n _=*&x:return_struct::X [line 29, column 16]\n _fun_return_struct::X_~X(&x:return_struct::X*) [line 29, column 16]\n " shape="box"] +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 29, column 14]\n *&return:int=(1 / n$0) [line 29, column 3]\n _=*&x:return_struct::X [line 29, column 16]\n n$2=_fun_return_struct::X_~X(&x:return_struct::X*) [line 29, column 16]\n " shape="box"] "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_2" ; -"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" [label="4: DeclStmt \n _fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$2:return_struct::X*) [line 28, column 9]\n _fun_return_struct::X_X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$2:return_struct::X&) [line 28, column 9]\n " shape="box"] +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" [label="4: DeclStmt \n n$5=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$3:return_struct::X*) [line 28, column 9]\n n$6=_fun_return_struct::X_X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$3:return_struct::X&) [line 28, column 9]\n " shape="box"] "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" ; -"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_1" [label="1: Start return_struct::get_div1\nFormals: \nLocals: x:return_struct::X 0$?%__sil_tmpSIL_materialize_temp__n$2:return_struct::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 39, column 1]\n " color=yellow style=filled] +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_1" [label="1: Start return_struct::get_div1\nFormals: \nLocals: x:return_struct::X 0$?%__sil_tmpSIL_materialize_temp__n$3:return_struct::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 39, column 1]\n " color=yellow style=filled] "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_1" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" ; "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_2" [label="2: Exit return_struct::get_div1 \n " color=yellow style=filled] -"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n _=*&x:return_struct::X [line 41, column 16]\n _fun_return_struct::X_~X(&x:return_struct::X*) [line 41, column 16]\n " shape="box"] +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n _=*&x:return_struct::X [line 41, column 16]\n n$2=_fun_return_struct::X_~X(&x:return_struct::X*) [line 41, column 16]\n " shape="box"] "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_2" ; -"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" [label="4: DeclStmt \n _fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$2:return_struct::X*) [line 40, column 9]\n _fun_return_struct::X_X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$2:return_struct::X&) [line 40, column 9]\n " shape="box"] +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" [label="4: DeclStmt \n n$5=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$3:return_struct::X*) [line 40, column 9]\n n$6=_fun_return_struct::X_X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$3:return_struct::X&) [line 40, column 9]\n " shape="box"] "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" ; -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_1" [label="1: Start return_struct::get_field_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X 0$?%__sil_tmpSIL_materialize_temp__n$3:return_struct::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$0,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 32, column 1]\n " color=yellow style=filled] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_1" [label="1: Start return_struct::get_field_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X 0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$0,&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 32, column 1]\n " color=yellow style=filled] "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_1" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" ; "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_2" [label="2: Exit return_struct::get_field_div0 \n " color=yellow style=filled] -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" [label="3: Return Stmt \n _fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) [line 34, column 14]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 34, column 14]\n *&return:int=(1 / n$2) [line 34, column 3]\n " shape="box"] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" [label="3: Return Stmt \n n$2=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) [line 34, column 14]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 34, column 14]\n *&return:int=(1 / n$3) [line 34, column 3]\n " shape="box"] "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_2" ; -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" [label="4: Call _fun_return_struct::X_skip \n _fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$3:return_struct::X*) [line 33, column 3]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:return_struct::X [line 33, column 3]\n n$6=_fun_return_struct::X_skip(&0$?%__sil_tmpSIL_materialize_temp__n$3:return_struct::X&) [line 33, column 3]\n " shape="box"] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" [label="4: Call _fun_return_struct::X_skip \n n$6=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) [line 33, column 3]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X [line 33, column 3]\n n$8=_fun_return_struct::X_skip(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X&) [line 33, column 3]\n " shape="box"] "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" ; @@ -71,7 +71,7 @@ digraph cfg { "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_2" [label="2: Exit return_struct::get_field_div1 \n " color=yellow style=filled] -"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_3" [label="3: Return Stmt \n _fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) [line 44, column 35]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 44, column 35]\n *&return:int=(1 / n$2) [line 44, column 24]\n " shape="box"] +"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_3" [label="3: Return Stmt \n n$2=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) [line 44, column 35]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 44, column 35]\n *&return:int=(1 / n$3) [line 44, column 24]\n " shape="box"] "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_3" -> "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_2" ; @@ -82,7 +82,7 @@ digraph cfg { "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_2" [label="2: Exit return_struct::get_method_div0 \n " color=yellow style=filled] -"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_3" [label="3: Return Stmt \n _fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) [line 37, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 37, column 32]\n n$3=_fun_return_struct::X_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 37, column 32]\n *&return:int=n$3 [line 37, column 25]\n " shape="box"] +"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_3" [label="3: Return Stmt \n n$2=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) [line 37, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 37, column 32]\n n$4=_fun_return_struct::X_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 37, column 32]\n *&return:int=n$4 [line 37, column 25]\n " shape="box"] "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_3" -> "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_2" ; @@ -93,7 +93,7 @@ digraph cfg { "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_2" [label="2: Exit return_struct::get_method_div1 \n " color=yellow style=filled] -"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" [label="3: Return Stmt \n _fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) [line 46, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 46, column 32]\n n$3=_fun_return_struct::X_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 46, column 32]\n *&return:int=n$3 [line 46, column 25]\n " shape="box"] +"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" [label="3: Return Stmt \n n$2=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) [line 46, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 46, column 32]\n n$4=_fun_return_struct::X_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 46, column 32]\n *&return:int=n$4 [line 46, column 25]\n " shape="box"] "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" -> "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot index 0534b514b..50e50be40 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot @@ -36,7 +36,7 @@ digraph cfg { "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_9" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_8" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" [label="10: DeclStmt \n _fun_struct_forward_declare::X_X(&x:struct_forward_declare::X*) [line 48, column 5]\n " shape="box"] +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" [label="10: DeclStmt \n n$3=_fun_struct_forward_declare::X_X(&x:struct_forward_declare::X*) [line 48, column 5]\n " shape="box"] "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_9" ; @@ -55,7 +55,7 @@ digraph cfg { "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_4" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_3" ; -"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" [label="5: DeclStmt \n _fun_struct_forward_declare::X_X(&x:struct_forward_declare::X*) [line 37, column 5]\n " shape="box"] +"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" [label="5: DeclStmt \n n$2=_fun_struct_forward_declare::X_X(&x:struct_forward_declare::X*) [line 37, column 5]\n " shape="box"] "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_4" ; @@ -89,7 +89,7 @@ digraph cfg { "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_4" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_3" ; -"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" [label="5: DeclStmt \n _fun_struct_forward_declare::Z_Z(&z:struct_forward_declare::Z*) [line 58, column 5]\n " shape="box"] +"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" [label="5: DeclStmt \n n$2=_fun_struct_forward_declare::Z_Z(&z:struct_forward_declare::Z*) [line 58, column 5]\n " shape="box"] "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp.dot index 7e0f18890..f280cf9a4 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp.dot @@ -7,15 +7,15 @@ digraph cfg { "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_2" [label="2: Exit struct_pass_by_value::field_div0 \n " color=yellow style=filled] -"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" [label="3: Return Stmt \n _fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&y.x:struct_pass_by_value::X&) [line 44, column 20]\n n$1=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 44, column 14]\n *&return:int=(1 / n$1) [line 44, column 3]\n _=*&x:struct_pass_by_value::X [line 44, column 23]\n _fun_struct_pass_by_value::X_~X(&x:struct_pass_by_value::X*) [line 44, column 23]\n " shape="box"] +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&y.x:struct_pass_by_value::X&) [line 44, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 44, column 14]\n *&return:int=(1 / n$2) [line 44, column 3]\n _=*&x:struct_pass_by_value::X [line 44, column 23]\n n$4=_fun_struct_pass_by_value::X_~X(&x:struct_pass_by_value::X*) [line 44, column 23]\n " shape="box"] "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_2" ; -"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" [label="4: DeclStmt \n _fun_struct_pass_by_value::Y_Y(&y:struct_pass_by_value::Y*,&x:struct_pass_by_value::X&) [line 43, column 5]\n " shape="box"] +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" [label="4: DeclStmt \n n$5=_fun_struct_pass_by_value::Y_Y(&y:struct_pass_by_value::Y*,&x:struct_pass_by_value::X&) [line 43, column 5]\n " shape="box"] "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" ; -"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" [label="5: DeclStmt \n _fun_struct_pass_by_value::X_X(&x:struct_pass_by_value::X*,0:int) [line 42, column 5]\n " shape="box"] +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" [label="5: DeclStmt \n n$6=_fun_struct_pass_by_value::X_X(&x:struct_pass_by_value::X*,0:int) [line 42, column 5]\n " shape="box"] "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" ; @@ -30,41 +30,41 @@ digraph cfg { "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_3" -> "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_2" ; -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_1" [label="1: Start struct_pass_by_value::param_get_copied_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$2:struct_pass_by_value::X x:struct_pass_by_value::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$2,&x); [line 47, column 1]\n " color=yellow style=filled] +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_1" [label="1: Start struct_pass_by_value::param_get_copied_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$3:struct_pass_by_value::X x:struct_pass_by_value::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$3,&x); [line 47, column 1]\n " color=yellow style=filled] "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_1" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" ; "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_2" [label="2: Exit struct_pass_by_value::param_get_copied_div0 \n " color=yellow style=filled] -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 50, column 14]\n *&return:int=(1 / n$0) [line 50, column 3]\n _=*&x:struct_pass_by_value::X [line 50, column 16]\n _fun_struct_pass_by_value::X_~X(&x:struct_pass_by_value::X*) [line 50, column 16]\n " shape="box"] +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 50, column 14]\n *&return:int=(1 / n$0) [line 50, column 3]\n _=*&x:struct_pass_by_value::X [line 50, column 16]\n n$2=_fun_struct_pass_by_value::X_~X(&x:struct_pass_by_value::X*) [line 50, column 16]\n " shape="box"] "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_2" ; -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" [label="4: Call _fun_struct_pass_by_value::set_f \n _fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$2:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 49, column 9]\n _fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$2:struct_pass_by_value::X,1:int) [line 49, column 3]\n " shape="box"] +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" [label="4: Call _fun_struct_pass_by_value::set_f \n n$4=_fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$3:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 49, column 9]\n n$5=_fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$3:struct_pass_by_value::X,1:int) [line 49, column 3]\n " shape="box"] "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" ; -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" [label="5: DeclStmt \n _fun_struct_pass_by_value::X_X(&x:struct_pass_by_value::X*,0:int) [line 48, column 5]\n " shape="box"] +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" [label="5: DeclStmt \n n$6=_fun_struct_pass_by_value::X_X(&x:struct_pass_by_value::X*,0:int) [line 48, column 5]\n " shape="box"] "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" ; -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_1" [label="1: Start struct_pass_by_value::param_get_copied_div1\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$2:struct_pass_by_value::X x:struct_pass_by_value::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$2,&x); [line 53, column 1]\n " color=yellow style=filled] +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_1" [label="1: Start struct_pass_by_value::param_get_copied_div1\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$3:struct_pass_by_value::X x:struct_pass_by_value::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$3,&x); [line 53, column 1]\n " color=yellow style=filled] "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_1" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" ; "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_2" [label="2: Exit struct_pass_by_value::param_get_copied_div1 \n " color=yellow style=filled] -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 56, column 14]\n *&return:int=(1 / n$0) [line 56, column 3]\n _=*&x:struct_pass_by_value::X [line 56, column 16]\n _fun_struct_pass_by_value::X_~X(&x:struct_pass_by_value::X*) [line 56, column 16]\n " shape="box"] +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 56, column 14]\n *&return:int=(1 / n$0) [line 56, column 3]\n _=*&x:struct_pass_by_value::X [line 56, column 16]\n n$2=_fun_struct_pass_by_value::X_~X(&x:struct_pass_by_value::X*) [line 56, column 16]\n " shape="box"] "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_2" ; -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" [label="4: Call _fun_struct_pass_by_value::set_f \n _fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$2:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 55, column 9]\n _fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$2:struct_pass_by_value::X,0:int) [line 55, column 3]\n " shape="box"] +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" [label="4: Call _fun_struct_pass_by_value::set_f \n n$4=_fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$3:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 55, column 9]\n n$5=_fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$3:struct_pass_by_value::X,0:int) [line 55, column 3]\n " shape="box"] "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" ; -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" [label="5: DeclStmt \n _fun_struct_pass_by_value::X_X(&x:struct_pass_by_value::X*,1:int) [line 54, column 5]\n " shape="box"] +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" [label="5: DeclStmt \n n$6=_fun_struct_pass_by_value::X_X(&x:struct_pass_by_value::X*,1:int) [line 54, column 5]\n " shape="box"] "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" ; @@ -86,7 +86,7 @@ digraph cfg { "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_2" [label="2: Exit struct_pass_by_value::temp_div0 \n " color=yellow style=filled] -"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_3" [label="3: Return Stmt \n _fun_struct_pass_by_value::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X*,0:int) [line 37, column 36]\n _fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X&) [line 37, column 36]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 37, column 30]\n *&return:int=(1 / n$2) [line 37, column 19]\n " shape="box"] +"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_3" [label="3: Return Stmt \n n$2=_fun_struct_pass_by_value::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X*,0:int) [line 37, column 36]\n n$3=_fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X&) [line 37, column 36]\n n$4=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 37, column 30]\n *&return:int=(1 / n$4) [line 37, column 19]\n " shape="box"] "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_3" -> "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_2" ; @@ -97,7 +97,7 @@ digraph cfg { "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_2" [label="2: Exit struct_pass_by_value::temp_div1 \n " color=yellow style=filled] -"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" [label="3: Return Stmt \n _fun_struct_pass_by_value::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X*,1:int) [line 39, column 36]\n _fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X&) [line 39, column 36]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 39, column 30]\n *&return:int=(1 / n$2) [line 39, column 19]\n " shape="box"] +"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" [label="3: Return Stmt \n n$2=_fun_struct_pass_by_value::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X*,1:int) [line 39, column 36]\n n$3=_fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X&) [line 39, column 36]\n n$4=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 39, column 30]\n *&return:int=(1 / n$4) [line 39, column 19]\n " shape="box"] "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" -> "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_2" ; @@ -108,11 +108,11 @@ digraph cfg { "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_2" [label="2: Exit struct_pass_by_value::var_div0 \n " color=yellow style=filled] -"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" [label="3: Return Stmt \n _fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 29, column 20]\n n$1=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 29, column 14]\n *&return:int=(1 / n$1) [line 29, column 3]\n _=*&x:struct_pass_by_value::X [line 29, column 21]\n _fun_struct_pass_by_value::X_~X(&x:struct_pass_by_value::X*) [line 29, column 21]\n " shape="box"] +"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 29, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 29, column 14]\n *&return:int=(1 / n$2) [line 29, column 3]\n _=*&x:struct_pass_by_value::X [line 29, column 21]\n n$4=_fun_struct_pass_by_value::X_~X(&x:struct_pass_by_value::X*) [line 29, column 21]\n " shape="box"] "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_2" ; -"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" [label="4: DeclStmt \n _fun_struct_pass_by_value::X_X(&x:struct_pass_by_value::X*,0:int) [line 28, column 5]\n " shape="box"] +"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" [label="4: DeclStmt \n n$5=_fun_struct_pass_by_value::X_X(&x:struct_pass_by_value::X*,0:int) [line 28, column 5]\n " shape="box"] "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" ; @@ -123,11 +123,11 @@ digraph cfg { "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_2" [label="2: Exit struct_pass_by_value::var_div1 \n " color=yellow style=filled] -"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" [label="3: Return Stmt \n _fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 34, column 20]\n n$1=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 34, column 14]\n *&return:int=(1 / n$1) [line 34, column 3]\n _=*&x:struct_pass_by_value::X [line 34, column 21]\n _fun_struct_pass_by_value::X_~X(&x:struct_pass_by_value::X*) [line 34, column 21]\n " shape="box"] +"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X_X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 34, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 34, column 14]\n *&return:int=(1 / n$2) [line 34, column 3]\n _=*&x:struct_pass_by_value::X [line 34, column 21]\n n$4=_fun_struct_pass_by_value::X_~X(&x:struct_pass_by_value::X*) [line 34, column 21]\n " shape="box"] "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_2" ; -"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" [label="4: DeclStmt \n _fun_struct_pass_by_value::X_X(&x:struct_pass_by_value::X*,1:int) [line 33, column 5]\n " shape="box"] +"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" [label="4: DeclStmt \n n$5=_fun_struct_pass_by_value::X_X(&x:struct_pass_by_value::X*,1:int) [line 33, column 5]\n " shape="box"] "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" ; @@ -171,7 +171,7 @@ digraph cfg { "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_2" [label="2: Exit struct_pass_by_value::Y_Y \n " color=yellow style=filled] -"Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_3" [label="3: Constructor Init \n n$0=*&this:struct_pass_by_value::Y* [line 18, column 19]\n n$1=*&x:struct_pass_by_value::X const & [line 18, column 21]\n _fun_struct_pass_by_value::X_X(n$0.x:struct_pass_by_value::X*,n$1:struct_pass_by_value::X const &) [line 18, column 19]\n " shape="box"] +"Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_3" [label="3: Constructor Init \n n$0=*&this:struct_pass_by_value::Y* [line 18, column 19]\n n$1=*&x:struct_pass_by_value::X const & [line 18, column 21]\n n$2=_fun_struct_pass_by_value::X_X(n$0.x:struct_pass_by_value::X*,n$1:struct_pass_by_value::X const &) [line 18, column 19]\n " shape="box"] "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_3" -> "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_2" ; diff --git a/infer/tests/codetoanalyze/java/tracing/issues.exp b/infer/tests/codetoanalyze/java/tracing/issues.exp index 2e7305361..81370e4e2 100644 --- a/infer/tests/codetoanalyze/java/tracing/issues.exp +++ b/infer/tests/codetoanalyze/java/tracing/issues.exp @@ -28,8 +28,7 @@ codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions. codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 7, java.lang.NullPointerException, ERROR, [start of procedure dereferenceAfterUnlock2(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterUnlock2(Lock)] codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dontReportOnNullableIndirectReassignmentToUnknown(Object), 3, java.lang.NullPointerException, ERROR, [start of procedure dontReportOnNullableIndirectReassignmentToUnknown(...),start of procedure callUnknownFunc(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),return from a call to Object NullPointerExceptions.callUnknownFunc(),Taking true branch,return from a call to void NullPointerExceptions.dontReportOnNullableIndirectReassignmentToUnknown(Object)] codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionArrayLength(), 3, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionArrayLength(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionArrayLength()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 3, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionCallArrayReadMethod(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 3, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionCallArrayReadMethod(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 2, PRECONDITION_NOT_MET, WARNING, [start of procedure nullPointerExceptionCallArrayReadMethod(),Taking true branch,Taking true branch] codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor(), 9, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionFromFailingFileOutputStreamConstructor(),Taking true branch,return from a call to void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor()] codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor(), 8, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionFromFaillingResourceConstructor(),Taking true branch,return from a call to void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor()] codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionUnlessFrameFails(), 6, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionUnlessFrameFails(),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),start of procedure frame(...),start of procedure id_generics(...),Taking true branch,return from a call to Object NullPointerExceptions.id_generics(NullPointerExceptions$A),Taking true branch,return from a call to NullPointerExceptions$A NullPointerExceptions.frame(NullPointerExceptions$A),Taking true branch,exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionUnlessFrameFails()] @@ -39,7 +38,9 @@ codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions. codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP(), 11, java.lang.NullPointerException, ERROR, [start of procedure stringConstantEqualsFalseNotNPE_FP(),Taking true branch,Taking true branch,Taking true branch,return from a call to void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP()] codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.testSystemGetPropertyReturn(), 3, java.lang.NullPointerException, ERROR, [start of procedure testSystemGetPropertyReturn(),Taking true branch,return from a call to void NullPointerExceptions.testSystemGetPropertyReturn()] codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.arrayIndexOutOfBoundsInCallee(), 3, java.lang.ArrayIndexOutOfBoundsException, ERROR, [start of procedure arrayIndexOutOfBoundsInCallee(),start of procedure withFixedIndex(...),start of procedure callMethodFromArray(...),Taking true branch,Taking true branch,Taking false branch,return from a call to void ArrayIndexOutOfBoundsExceptionExample.callMethodFromArray(codetoanalyze.java.tracing.T2[],int),return from a call to void ArrayIndexOutOfBoundsExceptionExample.withFixedIndex(codetoanalyze.java.tracing.T2[]),return from a call to void ArrayIndexOutOfBoundsExceptionExample.arrayIndexOutOfBoundsInCallee()] +codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.callOutOfBound(), 2, PRECONDITION_NOT_MET, WARNING, [start of procedure callOutOfBound()] codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.callOutOfBound(), 3, java.lang.ArrayIndexOutOfBoundsException, ERROR, [start of procedure callOutOfBound(),start of procedure callMethodFromArray(...),Taking true branch,exception java.lang.ArrayIndexOutOfBoundsException,return from a call to void ArrayIndexOutOfBoundsExceptionExample.callMethodFromArray(codetoanalyze.java.tracing.T2[],int),exception java.lang.ArrayIndexOutOfBoundsException,return from a call to void ArrayIndexOutOfBoundsExceptionExample.callOutOfBound()] +codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.missingCheckOnIndex(codetoanalyze.java.tracing.T2[],int), 3, PRECONDITION_NOT_MET, WARNING, [start of procedure missingCheckOnIndex(...),Taking true branch,Taking true branch,Taking true branch] codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.missingCheckOnIndex(codetoanalyze.java.tracing.T2[],int), 6, java.lang.ArrayIndexOutOfBoundsException, ERROR, [start of procedure missingCheckOnIndex(...),Taking false branch,return from a call to void ArrayIndexOutOfBoundsExceptionExample.missingCheckOnIndex(codetoanalyze.java.tracing.T2[],int)] codetoanalyze/java/tracing/ClassCastExceptionExample.java, S ClassCastExceptionExample.bar(int), 4, java.lang.ClassCastException, ERROR, [start of procedure bar(...),Taking false branch,return from a call to S ClassCastExceptionExample.bar(int)] codetoanalyze/java/tracing/ClassCastExceptionExample.java, void ClassCastExceptionExample.foo(), 4, java.lang.ClassCastException, ERROR, [start of procedure foo(),start of procedure T2(),return from a call to T2.(),start of procedure cast(...),exception java.lang.ClassCastException,return from a call to S ClassCastExceptionExample.cast(T2),exception java.lang.ClassCastException,return from a call to void ClassCastExceptionExample.foo()] diff --git a/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot index f46396983..346ab77e8 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot @@ -11,7 +11,7 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Message Call: capture \n n$1=*&a:A* [line 56, column 4]\n _fun_A_capture(n$1:A*) virtual [line 56, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Message Call: capture \n n$1=*&a:A* [line 56, column 4]\n n$2=_fun_A_capture(n$1:A*) virtual [line 56, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ; @@ -52,11 +52,11 @@ digraph cfg { "capture#A#instance.d411336575e4bf632a1828f5f5979726_2" [label="2: Exit A_capture \n " color=yellow style=filled] -"capture#A#instance.d411336575e4bf632a1828f5f5979726_3" [label="3: Message Call: sHandler: \n n$0=*&self:A* [line 47, column 4]\n n$1=*n$0._b:B* [line 47, column 4]\n n$2=*&self:A* [line 47, column 16]\n _fun_B_sHandler:(n$1:B*,(_fun_objc_blockA_capture_1,(n$2 &self:A*)):_fn_(*)) virtual block_params [line 47, column 3]\n " shape="box"] +"capture#A#instance.d411336575e4bf632a1828f5f5979726_3" [label="3: Message Call: sHandler: \n n$0=*&self:A* [line 47, column 4]\n n$1=*n$0._b:B* [line 47, column 4]\n n$2=*&self:A* [line 47, column 16]\n n$5=_fun_B_sHandler:(n$1:B*,(_fun_objc_blockA_capture_1,(n$2 &self:A*)):_fn_(*)) virtual block_params [line 47, column 3]\n " shape="box"] "capture#A#instance.d411336575e4bf632a1828f5f5979726_3" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_2" ; -"capture#A#instance.d411336575e4bf632a1828f5f5979726_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&self:A* [line 46, column 3]\n n$6=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 46, column 8]\n *n$5._b:B*=n$6 [line 46, column 3]\n " shape="box"] +"capture#A#instance.d411336575e4bf632a1828f5f5979726_4" [label="4: BinaryOperatorStmt: Assign \n n$6=*&self:A* [line 46, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 46, column 8]\n *n$6._b:B*=n$7 [line 46, column 3]\n " shape="box"] "capture#A#instance.d411336575e4bf632a1828f5f5979726_4" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot index f423b52e0..12813746b 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot @@ -18,7 +18,7 @@ digraph cfg { "objc_blockA_test2_3.d73da2e84cb701fb03b2fbe656a01a1b_2" [label="2: Exit objc_blockA_test2_3 \n " color=yellow style=filled] -"objc_blockA_test2_3.d73da2e84cb701fb03b2fbe656a01a1b_3" [label="3: DeclStmt \n n$6=*&#GB$A_test2.sharedInstance:objc_object* [line 41, column 12]\n *&p:objc_object*=n$6 [line 41, column 5]\n " shape="box"] +"objc_blockA_test2_3.d73da2e84cb701fb03b2fbe656a01a1b_3" [label="3: DeclStmt \n n$8=*&#GB$A_test2.sharedInstance:objc_object* [line 41, column 12]\n *&p:objc_object*=n$8 [line 41, column 5]\n " shape="box"] "objc_blockA_test2_3.d73da2e84cb701fb03b2fbe656a01a1b_3" -> "objc_blockA_test2_3.d73da2e84cb701fb03b2fbe656a01a1b_2" ; @@ -29,7 +29,7 @@ digraph cfg { "objc_blockA_test3_4.645dc6f18a9ea7bd77a195ea083890a4_2" [label="2: Exit objc_blockA_test3_4 \n " color=yellow style=filled] -"objc_blockA_test3_4.645dc6f18a9ea7bd77a195ea083890a4_3" [label="3: UnaryOperator \n n$10=*&#GB$A_test3.i:int [line 52, column 5]\n *&#GB$A_test3.i:int=(n$10 + 1) [line 52, column 5]\n " shape="box"] +"objc_blockA_test3_4.645dc6f18a9ea7bd77a195ea083890a4_3" [label="3: UnaryOperator \n n$13=*&#GB$A_test3.i:int [line 52, column 5]\n *&#GB$A_test3.i:int=(n$13 + 1) [line 52, column 5]\n " shape="box"] "objc_blockA_test3_4.645dc6f18a9ea7bd77a195ea083890a4_3" -> "objc_blockA_test3_4.645dc6f18a9ea7bd77a195ea083890a4_2" ; @@ -51,7 +51,7 @@ digraph cfg { "objc_blockA_test_leak_2.5b3de3f9ef0695311853bace3ed320b8_2" [label="2: Exit objc_blockA_test_leak_2 \n " color=yellow style=filled] -"objc_blockA_test_leak_2.5b3de3f9ef0695311853bace3ed320b8_3" [label="3: BinaryOperatorStmt: Assign \n n$3=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 31, column 23]\n n$4=_fun_NSBundleResourceRequest_init(n$3:A*) virtual [line 31, column 22]\n *&#GB$A_test_leak.sharedInstance:objc_object*=n$4 [line 31, column 5]\n " shape="box"] +"objc_blockA_test_leak_2.5b3de3f9ef0695311853bace3ed320b8_3" [label="3: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 31, column 23]\n n$5=_fun_NSBundleResourceRequest_init(n$4:A*) virtual [line 31, column 22]\n *&#GB$A_test_leak.sharedInstance:objc_object*=n$5 [line 31, column 5]\n " shape="box"] "objc_blockA_test_leak_2.5b3de3f9ef0695311853bace3ed320b8_3" -> "objc_blockA_test_leak_2.5b3de3f9ef0695311853bace3ed320b8_2" ; @@ -66,7 +66,7 @@ digraph cfg { "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_2" ; -"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" [label="4: Call (_fun_objc_blockA_test_1) \n (_fun_objc_blockA_test_1)() [line 20, column 3]\n " shape="box"] +"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" [label="4: Call (_fun_objc_blockA_test_1) \n n$3=(_fun_objc_blockA_test_1)() [line 20, column 3]\n " shape="box"] "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" ; @@ -77,15 +77,15 @@ digraph cfg { "test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" [label="2: Exit A_test2 \n " color=yellow style=filled] -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" [label="3: Return Stmt \n n$5=*&#GB$A_test2.sharedInstance:objc_object* [line 44, column 10]\n *&return:objc_object*=n$5 [line 44, column 3]\n " shape="box"] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" [label="3: Return Stmt \n n$7=*&#GB$A_test2.sharedInstance:objc_object* [line 44, column 10]\n *&return:objc_object*=n$7 [line 44, column 3]\n " shape="box"] "test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" ; -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" [label="4: Call (_fun_objc_blockA_test2_3) \n (_fun_objc_blockA_test2_3)() [line 39, column 3]\n " shape="box"] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" [label="4: Call (_fun_objc_blockA_test2_3) \n n$9=(_fun_objc_blockA_test2_3)() [line 39, column 3]\n " shape="box"] "test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" ; -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" [label="5: BinaryOperatorStmt: Assign \n n$7=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 38, column 21]\n n$8=_fun_NSBundleResourceRequest_init(n$7:A*) virtual [line 38, column 20]\n *&#GB$A_test2.sharedInstance:objc_object*=n$8 [line 38, column 3]\n " shape="box"] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" [label="5: BinaryOperatorStmt: Assign \n n$10=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 38, column 21]\n n$11=_fun_NSBundleResourceRequest_init(n$10:A*) virtual [line 38, column 20]\n *&#GB$A_test2.sharedInstance:objc_object*=n$11 [line 38, column 3]\n " shape="box"] "test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" ; @@ -96,11 +96,11 @@ digraph cfg { "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_2" [label="2: Exit A_test3 \n " color=yellow style=filled] -"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" [label="3: Return Stmt \n n$9=*&#GB$A_test3.i:int [line 55, column 10]\n *&return:int=n$9 [line 55, column 3]\n " shape="box"] +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" [label="3: Return Stmt \n n$12=*&#GB$A_test3.i:int [line 55, column 10]\n *&return:int=n$12 [line 55, column 3]\n " shape="box"] "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_2" ; -"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" [label="4: Call (_fun_objc_blockA_test3_4) \n (_fun_objc_blockA_test3_4)() [line 50, column 3]\n " shape="box"] +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" [label="4: Call (_fun_objc_blockA_test3_4) \n n$14=(_fun_objc_blockA_test3_4)() [line 50, column 3]\n " shape="box"] "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" ; @@ -111,7 +111,7 @@ digraph cfg { "test_leak#A#class.8240788aa53244827857be0e92d27671_2" [label="2: Exit A_test_leak \n " color=yellow style=filled] -"test_leak#A#class.8240788aa53244827857be0e92d27671_3" [label="3: Call (_fun_objc_blockA_test_leak_2) \n (_fun_objc_blockA_test_leak_2)() [line 30, column 3]\n " shape="box"] +"test_leak#A#class.8240788aa53244827857be0e92d27671_3" [label="3: Call (_fun_objc_blockA_test_leak_2) \n n$6=(_fun_objc_blockA_test_leak_2)() [line 30, column 3]\n " shape="box"] "test_leak#A#class.8240788aa53244827857be0e92d27671_3" -> "test_leak#A#class.8240788aa53244827857be0e92d27671_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot index 01cd07254..6b605c876 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot @@ -32,19 +32,19 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Call _fun_NSLog \n n$3=_fun_NSString_stringWithUTF8String:(\"%@\":char* const ) [line 27, column 11]\n n$4=*&item:NSString* [line 27, column 18]\n _fun_NSLog(n$3:objc_object*,n$4:NSString*) [line 27, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Call _fun_NSLog \n n$3=_fun_NSString_stringWithUTF8String:(\"%@\":char* const ) [line 27, column 11]\n n$4=*&item:NSString* [line 27, column 18]\n n$5=_fun_NSLog(n$3:objc_object*,n$4:NSString*) [line 27, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$5=*&germanCars:NSArray* [line 26, column 26]\n n$6=_fun_NSArray_nextObject(n$5:NSArray*) virtual [line 26, column 3]\n *&item:NSString*=n$6 [line 26, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$6=*&germanCars:NSArray* [line 26, column 26]\n n$7=_fun_NSArray_nextObject(n$6:NSArray*) virtual [line 26, column 3]\n *&item:NSString*=n$7 [line 26, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: Assign \n n$7=*&germanCars:NSArray* [line 24, column 7]\n n$8=_fun_NSArray_objectAtIndexedSubscript:(n$7:NSArray*,3:unsigned long) virtual [line 24, column 7]\n *&s:NSString*=n$8 [line 24, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: Assign \n n$8=*&germanCars:NSArray* [line 24, column 7]\n n$9=_fun_NSArray_objectAtIndexedSubscript:(n$8:NSArray*,3:unsigned long) virtual [line 24, column 7]\n *&s:NSString*=n$9 [line 24, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n n$9=_fun_NSString_stringWithUTF8String:(\"Mercedes-Benz\":char* const ) [line 17, column 5]\n n$10=_fun_NSString_stringWithUTF8String:(\"BMW\":char* const ) [line 18, column 5]\n n$11=_fun_NSString_stringWithUTF8String:(\"Porsche\":char* const ) [line 19, column 5]\n n$12=_fun_NSString_stringWithUTF8String:(\"Opel\":char* const ) [line 20, column 5]\n n$13=_fun_NSString_stringWithUTF8String:(\"Volkswagen\":char* const ) [line 21, column 5]\n n$14=_fun_NSString_stringWithUTF8String:(\"Audi\":char* const ) [line 22, column 5]\n n$15=_fun_NSArray_arrayWithObjects:count:(n$9:objc_object*,n$10:objc_object*,n$11:objc_object*,n$12:objc_object*,n$13:objc_object*,n$14:objc_object*,null:objc_object*) [line 16, column 25]\n *&germanCars:NSArray*=n$15 [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n n$10=_fun_NSString_stringWithUTF8String:(\"Mercedes-Benz\":char* const ) [line 17, column 5]\n n$11=_fun_NSString_stringWithUTF8String:(\"BMW\":char* const ) [line 18, column 5]\n n$12=_fun_NSString_stringWithUTF8String:(\"Porsche\":char* const ) [line 19, column 5]\n n$13=_fun_NSString_stringWithUTF8String:(\"Opel\":char* const ) [line 20, column 5]\n n$14=_fun_NSString_stringWithUTF8String:(\"Volkswagen\":char* const ) [line 21, column 5]\n n$15=_fun_NSString_stringWithUTF8String:(\"Audi\":char* const ) [line 22, column 5]\n n$16=_fun_NSArray_arrayWithObjects:count:(n$10:objc_object*,n$11:objc_object*,n$12:objc_object*,n$13:objc_object*,n$14:objc_object*,n$15:objc_object*,null:objc_object*) [line 16, column 25]\n *&germanCars:NSArray*=n$16 [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot b/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot index a777cfd27..258e7b95d 100644 --- a/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot @@ -38,11 +38,11 @@ digraph cfg { "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_6" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" [label="7: ObjCCPPThrow \n n$4=_fun_NSString_stringWithUTF8String:(\"Something is not right exception\":char* const ) [line 31, column 27]\n n$5=_fun_NSString_stringWithUTF8String:(\"Can't perform this operation because of this or that\":char* const ) [line 33, column 24]\n n$6=_fun_NSException_exceptionWithName:reason:userInfo:(n$4:NSString*,n$5:NSString*,null:NSDictionary*) [line 30, column 12]\n _fun___infer_objc_cpp_throw(n$6:NSException*) [line 30, column 5]\n " shape="box"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" [label="7: ObjCCPPThrow \n n$4=_fun_NSString_stringWithUTF8String:(\"Something is not right exception\":char* const ) [line 31, column 27]\n n$5=_fun_NSString_stringWithUTF8String:(\"Can't perform this operation because of this or that\":char* const ) [line 33, column 24]\n n$6=_fun_NSException_exceptionWithName:reason:userInfo:(n$4:NSString*,n$5:NSString*,null:NSDictionary*) [line 30, column 12]\n n$7=_fun___infer_objc_cpp_throw(n$6:NSException*) [line 30, column 5]\n " shape="box"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_8" [label="8: DeclStmt \n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 28, column 17]\n *&s:NSString*=n$7 [line 28, column 3]\n " shape="box"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_8" [label="8: DeclStmt \n n$8=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 28, column 17]\n *&s:NSString*=n$8 [line 28, column 3]\n " shape="box"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_8" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot b/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot index 0879ee403..9215d96a1 100644 --- a/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot @@ -7,7 +7,7 @@ digraph cfg { "testFunct#A#instance.b6c9dae744220d93a4466679814728c1_2" [label="2: Exit A_testFunct \n " color=yellow style=filled] -"testFunct#A#instance.b6c9dae744220d93a4466679814728c1_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString_stringWithUTF8String:(\"%s\":char* const ) [line 27, column 9]\n _fun_NSLog(n$2:objc_object*,\"\":char const *) [line 27, column 3]\n " shape="box"] +"testFunct#A#instance.b6c9dae744220d93a4466679814728c1_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString_stringWithUTF8String:(\"%s\":char* const ) [line 27, column 9]\n n$5=_fun_NSLog(n$4:objc_object*,\"\":char const *) [line 27, column 3]\n " shape="box"] "testFunct#A#instance.b6c9dae744220d93a4466679814728c1_3" -> "testFunct#A#instance.b6c9dae744220d93a4466679814728c1_2" ; @@ -18,7 +18,7 @@ digraph cfg { "testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_2" [label="2: Exit A_testFunction \n " color=yellow style=filled] -"testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_3" [label="3: Call _fun_NSLog \n n$1=_fun_NSString_stringWithUTF8String:(\"%s\":char* const ) [line 23, column 9]\n _fun_NSLog(n$1:objc_object*,\"\":char const *) [line 23, column 3]\n " shape="box"] +"testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString_stringWithUTF8String:(\"%s\":char* const ) [line 23, column 9]\n n$3=_fun_NSLog(n$2:objc_object*,\"\":char const *) [line 23, column 3]\n " shape="box"] "testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_3" -> "testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_2" ; @@ -29,7 +29,7 @@ digraph cfg { "testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_2" [label="2: Exit A_testPrettyFunction \n " color=yellow style=filled] -"testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString_stringWithUTF8String:(\"%s\":char* const ) [line 19, column 9]\n _fun_NSLog(n$0:objc_object*,\"\":char const *) [line 19, column 3]\n " shape="box"] +"testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString_stringWithUTF8String:(\"%s\":char* const ) [line 19, column 9]\n n$1=_fun_NSLog(n$0:objc_object*,\"\":char const *) [line 19, column 3]\n " shape="box"] "testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_3" -> "testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot b/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot index 4af6db927..7531b02c1 100644 --- a/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot @@ -11,15 +11,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Call _fun_NSLog \n n$0=_fun_NSString_stringWithUTF8String:(\"%d\":char* const ) [line 15, column 9]\n n$1=*&honda:Car* [line 15, column 16]\n n$2=_fun_Car_running(n$1:Car*) [line 15, column 22]\n _fun_NSLog(n$0:objc_object*,n$2:int) [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Call _fun_NSLog \n n$0=_fun_NSString_stringWithUTF8String:(\"%d\":char* const ) [line 15, column 9]\n n$1=*&honda:Car* [line 15, column 16]\n n$2=_fun_Car_running(n$1:Car*) [line 15, column 22]\n n$3=_fun_NSLog(n$0:objc_object*,n$2:int) [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Message Call: setRunning: \n n$3=*&honda:Car* [line 14, column 3]\n _fun_Car_setRunning:(n$3:Car*,1:_Bool) [line 14, column 9]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Message Call: setRunning: \n n$4=*&honda:Car* [line 14, column 3]\n n$5=_fun_Car_setRunning:(n$4:Car*,1:_Bool) [line 14, column 9]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n n$4=_fun___objc_alloc_no_fail(sizeof(t=Car):unsigned long) [line 13, column 17]\n n$5=_fun_NSObject_init(n$4:Car*) virtual [line 13, column 16]\n *&honda:Car*=n$5 [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(t=Car):unsigned long) [line 13, column 17]\n n$7=_fun_NSObject_init(n$6:Car*) virtual [line 13, column 16]\n *&honda:Car*=n$7 [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot index 02ba9120d..f80f7e657 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot @@ -46,7 +46,7 @@ digraph cfg { "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_2" [label="2: Exit A_call_alloc_class \n " color=yellow style=filled] -"call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_3" [label="3: Call alloc \n n$1=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 58, column 3]\n " shape="box"] +"call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_3" [label="3: Call alloc \n n$3=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 58, column 3]\n " shape="box"] "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_3" -> "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_2" ; @@ -57,7 +57,7 @@ digraph cfg { "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_2" [label="2: Exit A_call_alloc_instance \n " color=yellow style=filled] -"call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_3" [label="3: Call alloc \n n$3=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 62, column 3]\n " shape="box"] +"call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_3" [label="3: Call alloc \n n$5=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 62, column 3]\n " shape="box"] "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_3" -> "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_2" ; @@ -68,7 +68,7 @@ digraph cfg { "call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_2" [label="2: Exit A_call_class_instance \n " color=yellow style=filled] -"call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_3" [label="3: Message Call: test_class \n _fun_C_test_class() [line 66, column 3]\n " shape="box"] +"call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_3" [label="3: Message Call: test_class \n n$7=_fun_C_test_class() [line 66, column 3]\n " shape="box"] "call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_3" -> "call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_2" ; @@ -79,7 +79,7 @@ digraph cfg { "call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_2" [label="2: Exit A_call_class_instance_with_class_name \n " color=yellow style=filled] -"call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_3" [label="3: Message Call: test_class \n _fun_A_test_class() [line 70, column 3]\n " shape="box"] +"call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_3" [label="3: Message Call: test_class \n n$8=_fun_A_test_class() [line 70, column 3]\n " shape="box"] "call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_3" -> "call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_2" ; @@ -90,7 +90,7 @@ digraph cfg { "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_2" [label="2: Exit A_call_test \n " color=yellow style=filled] -"call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" [label="3: Message Call: test \n n$0=*&self:A* [line 47, column 4]\n _fun_A_test(n$0:A*) virtual [line 47, column 3]\n " shape="box"] +"call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" [label="3: Message Call: test \n n$0=*&self:A* [line 47, column 4]\n n$1=_fun_A_test(n$0:A*) virtual [line 47, column 3]\n " shape="box"] "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" -> "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_2" ; @@ -101,7 +101,7 @@ digraph cfg { "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" [label="2: Exit A_call_test_class \n " color=yellow style=filled] -"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" [label="3: Message Call: test_class \n _fun_C_test_class() [line 54, column 3]\n " shape="box"] +"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" [label="3: Message Call: test_class \n n$2=_fun_C_test_class() [line 54, column 3]\n " shape="box"] "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" -> "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" ; @@ -112,7 +112,7 @@ digraph cfg { "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" [label="2: Exit A_calling_super \n " color=yellow style=filled] -"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" [label="3: Message Call: test_class \n _fun_C_test_class() [line 83, column 3]\n " shape="box"] +"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" [label="3: Message Call: test_class \n n$16=_fun_C_test_class() [line 83, column 3]\n " shape="box"] "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" -> "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" ; @@ -123,7 +123,7 @@ digraph cfg { "init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" [label="2: Exit A_init \n " color=yellow style=filled] -"init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" [label="3: Message Call: init \n n$11=*&self:A* [line 87, column 3]\n n$12=_fun_NSObject_init(n$11:A*) [line 87, column 3]\n " shape="box"] +"init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" [label="3: Message Call: init \n n$17=*&self:A* [line 87, column 3]\n n$18=_fun_NSObject_init(n$17:A*) [line 87, column 3]\n " shape="box"] "init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" -> "init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" ; @@ -145,7 +145,7 @@ digraph cfg { "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_2" [label="2: Exit A_loggerName \n " color=yellow style=filled] -"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" [label="3: Return Stmt \n n$14=_fun_NSStringFromClass(sizeof(t=A):unsigned long) [line 91, column 10]\n *&return:NSString*=n$14 [line 91, column 3]\n " shape="box"] +"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" [label="3: Return Stmt \n n$20=_fun_NSStringFromClass(sizeof(t=A):unsigned long) [line 91, column 10]\n *&return:NSString*=n$20 [line 91, column 3]\n " shape="box"] "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" -> "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_2" ; @@ -156,11 +156,11 @@ digraph cfg { "t#A#instance.e31b9a7bced712626784e2860af1a31b_2" [label="2: Exit A_t \n " color=yellow style=filled] -"t#A#instance.e31b9a7bced712626784e2860af1a31b_3" [label="3: Message Call: b_m \n _fun_B_b_m() [line 75, column 3]\n " shape="box"] +"t#A#instance.e31b9a7bced712626784e2860af1a31b_3" [label="3: Message Call: b_m \n n$10=_fun_B_b_m() [line 75, column 3]\n " shape="box"] "t#A#instance.e31b9a7bced712626784e2860af1a31b_3" -> "t#A#instance.e31b9a7bced712626784e2860af1a31b_2" ; -"t#A#instance.e31b9a7bced712626784e2860af1a31b_4" [label="4: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 74, column 10]\n n$7=_fun_NSObject_init(n$6:B*) virtual [line 74, column 10]\n *&b:B*=n$7 [line 74, column 3]\n " shape="box"] +"t#A#instance.e31b9a7bced712626784e2860af1a31b_4" [label="4: DeclStmt \n n$11=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 74, column 10]\n n$12=_fun_NSObject_init(n$11:B*) virtual [line 74, column 10]\n *&b:B*=n$12 [line 74, column 3]\n " shape="box"] "t#A#instance.e31b9a7bced712626784e2860af1a31b_4" -> "t#A#instance.e31b9a7bced712626784e2860af1a31b_3" ; @@ -185,7 +185,7 @@ digraph cfg { "use_class_in_other_ways:#A#instance.cbf4e00d3f8c81248ee881a47ed7e84f_2" [label="2: Exit A_use_class_in_other_ways: \n " color=yellow style=filled] -"use_class_in_other_ways:#A#instance.cbf4e00d3f8c81248ee881a47ed7e84f_3" [label="3: Return Stmt \n n$8=*&object:B* [line 79, column 11]\n n$10=_fun_B_isC:(n$8:B*,sizeof(t=A):unsigned long) virtual [line 79, column 10]\n *&return:_Bool=n$10 [line 79, column 3]\n " shape="box"] +"use_class_in_other_ways:#A#instance.cbf4e00d3f8c81248ee881a47ed7e84f_3" [label="3: Return Stmt \n n$13=*&object:B* [line 79, column 11]\n n$15=_fun_B_isC:(n$13:B*,sizeof(t=A):unsigned long) virtual [line 79, column 10]\n *&return:_Bool=n$15 [line 79, column 3]\n " shape="box"] "use_class_in_other_ways:#A#instance.cbf4e00d3f8c81248ee881a47ed7e84f_3" -> "use_class_in_other_ways:#A#instance.cbf4e00d3f8c81248ee881a47ed7e84f_2" ; @@ -204,16 +204,16 @@ digraph cfg { "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_4" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_2" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" [label="5: BinaryOperatorStmt: NE \n n$15=*sizeof(t=A):objc_class* [line 95, column 7]\n n$16=*&c:objc_class* [line 95, column 15]\n " shape="box"] +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" [label="5: BinaryOperatorStmt: NE \n n$21=*sizeof(t=A):objc_class* [line 95, column 7]\n n$22=*&c:objc_class* [line 95, column 15]\n " shape="box"] "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" ; "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" [label="6: Prune (true branch, if) \n PRUNE((n$15 != n$16), true); [line 95, column 7]\n " shape="invhouse"] +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" [label="6: Prune (true branch, if) \n PRUNE((n$21 != n$22), true); [line 95, column 7]\n " shape="invhouse"] "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_8" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$15 != n$16), false); [line 95, column 7]\n " shape="invhouse"] +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$21 != n$22), false); [line 95, column 7]\n " shape="invhouse"] "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_9" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot b/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot index ccda60520..621014d96 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot @@ -18,7 +18,7 @@ digraph cfg { "aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_2" [label="2: Exit MyClass_aClassMethod2 \n " color=yellow style=filled] -"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" [label="3: Message Call: aClassMethod \n _fun_MyClass_aClassMethod() [line 29, column 3]\n " shape="box"] +"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" [label="3: Message Call: aClassMethod \n n$2=_fun_MyClass_aClassMethod() [line 29, column 3]\n " shape="box"] "aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" -> "aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_2" ; @@ -29,7 +29,7 @@ digraph cfg { "anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_2" [label="2: Exit MyClass_anInstanceMethod \n " color=yellow style=filled] -"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" [label="3: Message Call: aClassMethod \n _fun_MyClass_aClassMethod() [line 25, column 3]\n " shape="box"] +"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" [label="3: Message Call: aClassMethod \n n$1=_fun_MyClass_aClassMethod() [line 25, column 3]\n " shape="box"] "anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" -> "anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_2" ; @@ -40,7 +40,7 @@ digraph cfg { "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_2" [label="2: Exit MyClass_anInstanceMethod2 \n " color=yellow style=filled] -"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" [label="3: Message Call: getX \n n$1=*&self:MyClass* [line 37, column 4]\n n$2=_fun_MyClass_getX(n$1:MyClass*) virtual [line 37, column 3]\n " shape="box"] +"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" [label="3: Message Call: getX \n n$3=*&self:MyClass* [line 37, column 4]\n n$4=_fun_MyClass_getX(n$3:MyClass*) virtual [line 37, column 3]\n " shape="box"] "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" -> "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot b/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot index 0d0bc1fe8..2056d7861 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot @@ -49,20 +49,20 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Message Call: foo: \n n$4=*&o:AClass* [line 44, column 6]\n n$5=*&x:int [line 44, column 12]\n _fun_AClass_foo:(n$4:AClass*,n$5:int) virtual [line 44, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Message Call: foo: \n n$4=*&o:AClass* [line 44, column 6]\n n$5=*&x:int [line 44, column 12]\n n$6=_fun_AClass_foo:(n$4:AClass*,n$5:int) virtual [line 44, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(t=AClass):unsigned long) [line 40, column 15]\n *&o:AClass*=n$6 [line 40, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$7=_fun___objc_alloc_no_fail(sizeof(t=AClass):unsigned long) [line 40, column 15]\n *&o:AClass*=n$7 [line 40, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$7=*&x:int [line 38, column 12]\n n$8=_fun_bar1(n$7:int) [line 38, column 7]\n *&x:int=n$8 [line 38, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 38, column 12]\n n$9=_fun_bar1(n$8:int) [line 38, column 7]\n *&x:int=n$9 [line 38, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Call _fun_foo1 \n n$9=*&x:int [line 36, column 8]\n _fun_foo1(n$9:int) [line 36, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Call _fun_foo1 \n n$10=*&x:int [line 36, column 8]\n n$11=_fun_foo1(n$10:int) [line 36, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; diff --git a/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot b/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot index d268be256..cca4e2717 100644 --- a/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot @@ -52,7 +52,7 @@ digraph cfg { "test3:#A#instance.28bc2df8df797b21818dc2037239f326_3" -> "test3:#A#instance.28bc2df8df797b21818dc2037239f326_2" ; -"test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" [label="4: Call n$9 \n n$9=*&successBlock:_fn_(*) [line 36, column 3]\n n$10=_fun_NSString_stringWithUTF8String:(\"Yay\":char* const ) [line 36, column 16]\n n$9(n$10:NSString*) [line 36, column 3]\n " shape="box"] +"test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" [label="4: Call n$9 \n n$9=*&successBlock:_fn_(*) [line 36, column 3]\n n$10=_fun_NSString_stringWithUTF8String:(\"Yay\":char* const ) [line 36, column 16]\n n$11=n$9(n$10:NSString*) [line 36, column 3]\n " shape="box"] "test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" -> "test3:#A#instance.28bc2df8df797b21818dc2037239f326_3" ; @@ -67,7 +67,7 @@ digraph cfg { "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" ; -"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" [label="4: Call n$11 \n n$11=*&successBlock:_fn_(*) [line 41, column 3]\n n$12=_fun_NSString_stringWithUTF8String:(\"Yay\":char* const ) [line 41, column 16]\n n$11(n$12:NSString*) [line 41, column 3]\n " shape="box"] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" [label="4: Call n$12 \n n$12=*&successBlock:_fn_(*) [line 41, column 3]\n n$13=_fun_NSString_stringWithUTF8String:(\"Yay\":char* const ) [line 41, column 16]\n n$14=n$12(n$13:NSString*) [line 41, column 3]\n " shape="box"] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot b/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot index 4118248ef..d451d9e95 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot @@ -22,7 +22,7 @@ digraph cfg { "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_2" ; -"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" [label="4: Message Call: foo:and: \n n$2=*&self:B* [line 25, column 10]\n n$3=*n$2.h:int [line 25, column 10]\n n$4=*&self:B* const [line 26, column 11]\n _fun_B_foo:and:(n$3:int,(_fun_objc_blockB_f_1,(n$4 &self:B* const )):_fn_(*)) block_params [line 25, column 3]\n " shape="box"] +"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" [label="4: Message Call: foo:and: \n n$2=*&self:B* [line 25, column 10]\n n$3=*n$2.h:int [line 25, column 10]\n n$4=*&self:B* const [line 26, column 11]\n n$6=_fun_B_foo:and:(n$3:int,(_fun_objc_blockB_f_1,(n$4 &self:B* const )):_fn_(*)) block_params [line 25, column 3]\n " shape="box"] "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot index a95793e92..74ee0587c 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot @@ -44,15 +44,15 @@ digraph cfg { "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_4" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_2" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_5" [label="5: Prune (true branch, if) \n n$21=*&ShouldStop:int [line 44, column 13]\n PRUNE(n$21, true); [line 44, column 13]\n " shape="invhouse"] +"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_5" [label="5: Prune (true branch, if) \n n$24=*&ShouldStop:int [line 44, column 13]\n PRUNE(n$24, true); [line 44, column 13]\n " shape="invhouse"] "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_5" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_7" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_6" [label="6: Prune (false branch, if) \n n$21=*&ShouldStop:int [line 44, column 13]\n PRUNE(!n$21, false); [line 44, column 13]\n " shape="invhouse"] +"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_6" [label="6: Prune (false branch, if) \n n$24=*&ShouldStop:int [line 44, column 13]\n PRUNE(!n$24, false); [line 44, column 13]\n " shape="invhouse"] "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_6" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_3" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_7" [label="7: BinaryOperatorStmt: Assign \n n$22=*&stop:_Bool* [line 45, column 12]\n *n$22:_Bool=1 [line 45, column 11]\n " shape="box"] +"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_7" [label="7: BinaryOperatorStmt: Assign \n n$25=*&stop:_Bool* [line 45, column 12]\n *n$25:_Bool=1 [line 45, column 11]\n " shape="box"] "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_7" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_3" ; @@ -63,11 +63,11 @@ digraph cfg { "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_2" [label="2: Exit MyBlock_array \n " color=yellow style=filled] -"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" [label="3: Message Call: enumerateObjectsUsingBlock: \n n$0=*&a:NSArray* [line 21, column 4]\n _fun_NSArray_enumerateObjectsUsingBlock:(n$0:NSArray*,(_fun_objc_blockMyBlock_array_1):_fn_(*)) virtual block_params [line 21, column 3]\n " shape="box"] +"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" [label="3: Message Call: enumerateObjectsUsingBlock: \n n$0=*&a:NSArray* [line 21, column 4]\n n$3=_fun_NSArray_enumerateObjectsUsingBlock:(n$0:NSArray*,(_fun_objc_blockMyBlock_array_1):_fn_(*)) virtual block_params [line 21, column 3]\n " shape="box"] "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" -> "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_2" ; -"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" [label="4: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 20, column 17]\n n$4=_fun_NSArray_init(n$3:NSArray*) virtual [line 20, column 16]\n *&a:NSArray*=n$4 [line 20, column 3]\n " shape="box"] +"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" [label="4: DeclStmt \n n$4=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 20, column 17]\n n$5=_fun_NSArray_init(n$4:NSArray*) virtual [line 20, column 16]\n *&a:NSArray*=n$5 [line 20, column 3]\n " shape="box"] "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" -> "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" ; @@ -78,7 +78,7 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_2" [label="2: Exit MyBlock_array_trans \n " color=yellow style=filled] -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" [label="3: Call _fun_free \n n$5=*&stop:_Bool* [line 58, column 8]\n _fun_free(n$5:void*) [line 58, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" [label="3: Call _fun_free \n n$6=*&stop:_Bool* [line 58, column 8]\n n$7=_fun_free(n$6:void*) [line 58, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_2" ; @@ -90,20 +90,20 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_5" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_4" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" [label="6: UnaryOperator \n n$6=*&idx:unsigned long [line 51, column 49]\n *&idx:unsigned long=(n$6 + 1) [line 51, column 49]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" [label="6: UnaryOperator \n n$8=*&idx:unsigned long [line 51, column 49]\n *&idx:unsigned long=(n$8 + 1) [line 51, column 49]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_4" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" [label="7: BinaryOperatorStmt: LT \n n$7=*&idx:unsigned long [line 51, column 28]\n n$8=*&objects:NSArray* [line 51, column 34]\n n$9=_fun_NSArray_count(n$8:NSArray*) [line 51, column 42]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" [label="7: BinaryOperatorStmt: LT \n n$9=*&idx:unsigned long [line 51, column 28]\n n$10=*&objects:NSArray* [line 51, column 34]\n n$11=_fun_NSArray_count(n$10:NSArray*) [line 51, column 42]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" ; "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$7 < n$9), true); [line 51, column 28]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$9 < n$11), true); [line 51, column 28]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$7 < n$9), false); [line 51, column 28]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$9 < n$11), false); [line 51, column 28]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" ; @@ -111,32 +111,32 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_10" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" [label="11: BinaryOperatorStmt: EQ \n n$10=*&stop:_Bool* [line 55, column 10]\n n$11=*n$10:_Bool [line 55, column 9]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" [label="11: BinaryOperatorStmt: EQ \n n$12=*&stop:_Bool* [line 55, column 10]\n n$13=*n$12:_Bool [line 55, column 9]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_12" ; "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_12" [label="12: Prune (true branch, if) \n PRUNE((n$11 == 1), true); [line 55, column 9]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_12" [label="12: Prune (true branch, if) \n PRUNE((n$13 == 1), true); [line 55, column 9]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_12" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$11 == 1), false); [line 55, column 9]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$13 == 1), false); [line 55, column 9]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_10" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" [label="14: Call n$12 \n n$12=*&enumerateObjectsUsingBlock:_fn_(*) [line 54, column 5]\n n$13=*&object:objc_object* [line 54, column 32]\n n$14=*&idx:unsigned long [line 54, column 40]\n n$15=*&stop:_Bool* [line 54, column 45]\n n$12(n$13:objc_object*,n$14:unsigned long,n$15:_Bool*) [line 54, column 5]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" [label="14: Call n$14 \n n$14=*&enumerateObjectsUsingBlock:_fn_(*) [line 54, column 5]\n n$15=*&object:objc_object* [line 54, column 32]\n n$16=*&idx:unsigned long [line 54, column 40]\n n$17=*&stop:_Bool* [line 54, column 45]\n n$18=n$14(n$15:objc_object*,n$16:unsigned long,n$17:_Bool*) [line 54, column 5]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" [label="15: DeclStmt \n n$16=*&objects:NSArray* [line 53, column 17]\n n$17=*&idx:unsigned long [line 53, column 25]\n n$18=_fun_NSArray_objectAtIndexedSubscript:(n$16:NSArray*,n$17:unsigned long) virtual [line 53, column 17]\n *&object:objc_object*=n$18 [line 53, column 5]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" [label="15: DeclStmt \n n$19=*&objects:NSArray* [line 53, column 17]\n n$20=*&idx:unsigned long [line 53, column 25]\n n$21=_fun_NSArray_objectAtIndexedSubscript:(n$19:NSArray*,n$20:unsigned long) virtual [line 53, column 17]\n *&object:objc_object*=n$21 [line 53, column 5]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" [label="16: BinaryOperatorStmt: Assign \n n$19=*&stop:_Bool* [line 49, column 4]\n *n$19:_Bool=0 [line 49, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" [label="16: BinaryOperatorStmt: Assign \n n$22=*&stop:_Bool* [line 49, column 4]\n *n$22:_Bool=0 [line 49, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_5" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" [label="17: DeclStmt \n n$20=_fun_malloc_no_fail(sizeof(t=_Bool;nbytes=1):_Bool) [line 48, column 16]\n *&stop:_Bool*=n$20 [line 48, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" [label="17: DeclStmt \n n$23=_fun_malloc_no_fail(sizeof(t=_Bool;nbytes=1):_Bool) [line 48, column 16]\n *&stop:_Bool*=n$23 [line 48, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" ; @@ -144,11 +144,11 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" [label="19: DeclStmt \n n$23=*&a:NSArray* [line 36, column 22]\n *&objects:NSArray*=n$23 [line 36, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" [label="19: DeclStmt \n n$26=*&a:NSArray* [line 36, column 22]\n *&objects:NSArray*=n$26 [line 36, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" [label="20: DeclStmt \n n$24=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 34, column 17]\n n$25=_fun_NSArray_init(n$24:NSArray*) virtual [line 34, column 16]\n *&a:NSArray*=n$25 [line 34, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" [label="20: DeclStmt \n n$27=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 34, column 17]\n n$28=_fun_NSArray_init(n$27:NSArray*) virtual [line 34, column 16]\n *&a:NSArray*=n$28 [line 34, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot index 006c64eb2..c3f593d45 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot @@ -7,7 +7,7 @@ digraph cfg { "objc_blockMy_manager_m_1.b75c41325ae3c65dcf5321924a57fc38_2" [label="2: Exit objc_blockMy_manager_m_1 \n " color=yellow style=filled] -"objc_blockMy_manager_m_1.b75c41325ae3c65dcf5321924a57fc38_3" [label="3: BinaryOperatorStmt: Assign \n n$6=*&z:int [line 26, column 9]\n *&#GB$g:int=(n$6 + 3) [line 26, column 5]\n " shape="box"] +"objc_blockMy_manager_m_1.b75c41325ae3c65dcf5321924a57fc38_3" [label="3: BinaryOperatorStmt: Assign \n n$7=*&z:int [line 26, column 9]\n *&#GB$g:int=(n$7 + 3) [line 26, column 5]\n " shape="box"] "objc_blockMy_manager_m_1.b75c41325ae3c65dcf5321924a57fc38_3" -> "objc_blockMy_manager_m_1.b75c41325ae3c65dcf5321924a57fc38_2" ; @@ -51,11 +51,11 @@ digraph cfg { "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_10" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_5" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" [label="11: Call n$4 \n n$4=*&b:_fn_(*) [line 28, column 3]\n n$4() [line 28, column 3]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" [label="11: Call n$4 \n n$4=*&b:_fn_(*) [line 28, column 3]\n n$5=n$4() [line 28, column 3]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_10" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" [label="12: BinaryOperatorStmt: Assign \n n$5=*&z:int [line 25, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager_m_1,(n$5 &z:int)) [line 25, column 3]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" [label="12: BinaryOperatorStmt: Assign \n n$6=*&z:int [line 25, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager_m_1,(n$6 &z:int)) [line 25, column 3]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot index 69803c310..9a9b42882 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot @@ -16,15 +16,15 @@ digraph cfg { "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_4" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_2" ; -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_5" [label="5: Prune (true branch, if) \n n$6=*&newImage:CGImage* [line 26, column 9]\n PRUNE(n$6, true); [line 26, column 9]\n " shape="invhouse"] +"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_5" [label="5: Prune (true branch, if) \n n$8=*&newImage:CGImage* [line 26, column 9]\n PRUNE(n$8, true); [line 26, column 9]\n " shape="invhouse"] "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_5" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_7" ; -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_6" [label="6: Prune (false branch, if) \n n$6=*&newImage:CGImage* [line 26, column 9]\n PRUNE(!n$6, false); [line 26, column 9]\n " shape="invhouse"] +"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_6" [label="6: Prune (false branch, if) \n n$8=*&newImage:CGImage* [line 26, column 9]\n PRUNE(!n$8, false); [line 26, column 9]\n " shape="invhouse"] "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_6" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_3" ; -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_7" [label="7: Call _fun_CGImageRelease \n n$7=*&newImage:CGImage* [line 27, column 22]\n _fun_CGImageRelease(n$7:CGImage*) [line 27, column 7]\n " shape="box"] +"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_7" [label="7: Call _fun_CGImageRelease \n n$9=*&newImage:CGImage* [line 27, column 22]\n n$10=_fun_CGImageRelease(n$9:CGImage*) [line 27, column 7]\n " shape="box"] "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_7" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_3" ; @@ -51,24 +51,24 @@ digraph cfg { "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" [label="7: Call _fun_CGContextRelease \n n$2=*&context:CGContext* [line 31, column 22]\n _fun_CGContextRelease(n$2:CGContext*) [line 31, column 5]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" [label="7: Call _fun_CGContextRelease \n n$2=*&context:CGContext* [line 31, column 22]\n n$3=_fun_CGContextRelease(n$2:CGContext*) [line 31, column 5]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" [label="8: Call n$3 \n n$3=*&b:_fn_(*) [line 29, column 3]\n n$4=*&z:int [line 29, column 5]\n n$3(n$4:int) [line 29, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" [label="8: Call n$4 \n n$4=*&b:_fn_(*) [line 29, column 3]\n n$5=*&z:int [line 29, column 5]\n n$6=n$4(n$5:int) [line 29, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" ; "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" [label="9: BinaryOperatorStmt: Assign \n n$5=*&newImage:CGImage* [line 25, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager_blockReleaseNoLeak_1,(n$5 &newImage:CGImage*)) [line 25, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" [label="9: BinaryOperatorStmt: Assign \n n$7=*&newImage:CGImage* [line 25, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager_blockReleaseNoLeak_1,(n$7 &newImage:CGImage*)) [line 25, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" [label="10: DeclStmt \n n$8=*&context:CGContext* [line 24, column 52]\n n$9=_fun_CGBitmapContextCreateImage(n$8:CGContext*) [line 24, column 25]\n *&newImage:CGImage*=n$9 [line 24, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" [label="10: DeclStmt \n n$11=*&context:CGContext* [line 24, column 52]\n n$12=_fun_CGBitmapContextCreateImage(n$11:CGContext*) [line 24, column 25]\n *&newImage:CGImage*=n$12 [line 24, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" [label="11: DeclStmt \n n$10=_fun_CGBitmapContextCreate(null:void*,0:unsigned long,0:unsigned long,8:unsigned long,0:unsigned long,null:CGColorSpace*,0:unsigned int) [line 23, column 26]\n *&context:CGContext*=n$10 [line 23, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" [label="11: DeclStmt \n n$13=_fun_CGBitmapContextCreate(null:void*,0:unsigned long,0:unsigned long,8:unsigned long,0:unsigned long,null:CGColorSpace*,0:unsigned int) [line 23, column 26]\n *&context:CGContext*=n$13 [line 23, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot index b44454e48..6e6d23bba 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot @@ -51,7 +51,7 @@ digraph cfg { "objc_blockDispatchA_block_attribute_2.871f06a0b12b5767153a5d30f3798261_2" [label="2: Exit objc_blockDispatchA_block_attribute_2 \n " color=yellow style=filled] -"objc_blockDispatchA_block_attribute_2.871f06a0b12b5767153a5d30f3798261_3" [label="3: BinaryOperatorStmt: Assign \n n$7=*&a:DispatchA* [line 40, column 5]\n *n$7._x:int=10 [line 40, column 5]\n " shape="box"] +"objc_blockDispatchA_block_attribute_2.871f06a0b12b5767153a5d30f3798261_3" [label="3: BinaryOperatorStmt: Assign \n n$8=*&a:DispatchA* [line 40, column 5]\n *n$8._x:int=10 [line 40, column 5]\n " shape="box"] "objc_blockDispatchA_block_attribute_2.871f06a0b12b5767153a5d30f3798261_3" -> "objc_blockDispatchA_block_attribute_2.871f06a0b12b5767153a5d30f3798261_2" ; @@ -62,7 +62,7 @@ digraph cfg { "objc_blockDispatchA_dispatch_a_block_variable_4.2eedc45fca2c35e6e8c11937ba7a2df8_2" [label="2: Exit objc_blockDispatchA_dispatch_a_block_variable_4 \n " color=yellow style=filled] -"objc_blockDispatchA_dispatch_a_block_variable_4.2eedc45fca2c35e6e8c11937ba7a2df8_3" [label="3: BinaryOperatorStmt: Assign \n n$16=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 57, column 25]\n n$17=_fun_NSObject_init(n$16:DispatchA*) virtual [line 57, column 25]\n *&#GB$DispatchA_dispatch_a_block_variable.static_storage__:objc_object*=n$17 [line 57, column 5]\n " shape="box"] +"objc_blockDispatchA_dispatch_a_block_variable_4.2eedc45fca2c35e6e8c11937ba7a2df8_3" [label="3: BinaryOperatorStmt: Assign \n n$20=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 57, column 25]\n n$21=_fun_NSObject_init(n$20:DispatchA*) virtual [line 57, column 25]\n *&#GB$DispatchA_dispatch_a_block_variable.static_storage__:objc_object*=n$21 [line 57, column 5]\n " shape="box"] "objc_blockDispatchA_dispatch_a_block_variable_4.2eedc45fca2c35e6e8c11937ba7a2df8_3" -> "objc_blockDispatchA_dispatch_a_block_variable_4.2eedc45fca2c35e6e8c11937ba7a2df8_2" ; @@ -73,7 +73,7 @@ digraph cfg { "objc_blockDispatchA_dispatch_a_block_variable_from_macro_5.e4f37df69df9d95138cb008e85eedab8_2" [label="2: Exit objc_blockDispatchA_dispatch_a_block_variable_from_macro_5 \n " color=yellow style=filled] -"objc_blockDispatchA_dispatch_a_block_variable_from_macro_5.e4f37df69df9d95138cb008e85eedab8_3" [label="3: BinaryOperatorStmt: Assign \n n$20=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 68, column 27]\n n$21=_fun_NSObject_init(n$20:DispatchA*) virtual [line 68, column 27]\n *&#GB$DispatchA_dispatch_a_block_variable_from_macro.static_storage__:objc_object*=n$21 [line 68, column 7]\n " shape="box"] +"objc_blockDispatchA_dispatch_a_block_variable_from_macro_5.e4f37df69df9d95138cb008e85eedab8_3" [label="3: BinaryOperatorStmt: Assign \n n$25=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 68, column 27]\n n$26=_fun_NSObject_init(n$25:DispatchA*) virtual [line 68, column 27]\n *&#GB$DispatchA_dispatch_a_block_variable_from_macro.static_storage__:objc_object*=n$26 [line 68, column 7]\n " shape="box"] "objc_blockDispatchA_dispatch_a_block_variable_from_macro_5.e4f37df69df9d95138cb008e85eedab8_3" -> "objc_blockDispatchA_dispatch_a_block_variable_from_macro_5.e4f37df69df9d95138cb008e85eedab8_2" ; @@ -95,7 +95,7 @@ digraph cfg { "objc_blockDispatchA_trans_3.80c09fe69dc0d5591de63a0c525de29b_2" [label="2: Exit objc_blockDispatchA_trans_3 \n " color=yellow style=filled] -"objc_blockDispatchA_trans_3.80c09fe69dc0d5591de63a0c525de29b_3" [label="3: BinaryOperatorStmt: Assign \n n$12=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 48, column 23]\n n$13=_fun_NSBundleResourceRequest_init(n$12:DispatchA*) virtual [line 48, column 22]\n *&#GB$DispatchA_trans.sharedInstance:objc_object*=n$13 [line 48, column 5]\n " shape="box"] +"objc_blockDispatchA_trans_3.80c09fe69dc0d5591de63a0c525de29b_3" [label="3: BinaryOperatorStmt: Assign \n n$15=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 48, column 23]\n n$16=_fun_NSBundleResourceRequest_init(n$15:DispatchA*) virtual [line 48, column 22]\n *&#GB$DispatchA_trans.sharedInstance:objc_object*=n$16 [line 48, column 5]\n " shape="box"] "objc_blockDispatchA_trans_3.80c09fe69dc0d5591de63a0c525de29b_3" -> "objc_blockDispatchA_trans_3.80c09fe69dc0d5591de63a0c525de29b_2" ; @@ -106,15 +106,15 @@ digraph cfg { "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" [label="2: Exit DispatchA_block_attribute \n " color=yellow style=filled] -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" [label="3: Return Stmt \n n$4=*&a:DispatchA* [line 42, column 10]\n n$5=*n$4._x:int [line 42, column 10]\n *&return:int=n$5 [line 42, column 3]\n " shape="box"] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" [label="3: Return Stmt \n n$5=*&a:DispatchA* [line 42, column 10]\n n$6=*n$5._x:int [line 42, column 10]\n *&return:int=n$6 [line 42, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" [label="4: Call _fun__dispatch_once \n n$6=*&a:DispatchA* [line 39, column 24]\n _fun__dispatch_once(&#GB$DispatchA_block_attribute.once:long*,(_fun_objc_blockDispatchA_block_attribute_2,(n$6 &a:DispatchA*)):_fn_(*)) block_params [line 39, column 3]\n " shape="box"] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" [label="4: Call _fun__dispatch_once \n n$7=*&a:DispatchA* [line 39, column 24]\n n$9=_fun__dispatch_once(&#GB$DispatchA_block_attribute.once:long*,(_fun_objc_blockDispatchA_block_attribute_2,(n$7 &a:DispatchA*)):_fn_(*)) block_params [line 39, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" [label="5: DeclStmt \n n$8=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 38, column 26]\n n$9=_fun_NSObject_init(n$8:DispatchA*) virtual [line 38, column 26]\n *&a:DispatchA*=n$9 [line 38, column 3]\n " shape="box"] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" [label="5: DeclStmt \n n$10=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 38, column 26]\n n$11=_fun_NSObject_init(n$10:DispatchA*) virtual [line 38, column 26]\n *&a:DispatchA*=n$11 [line 38, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" ; @@ -125,11 +125,11 @@ digraph cfg { "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_2" [label="2: Exit DispatchA_dispatch_a_block_variable \n " color=yellow style=filled] -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" [label="3: Return Stmt \n n$14=*&#GB$DispatchA_dispatch_a_block_variable.static_storage__:objc_object* [line 61, column 10]\n *&return:objc_object*=n$14 [line 61, column 3]\n " shape="box"] +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" [label="3: Return Stmt \n n$17=*&#GB$DispatchA_dispatch_a_block_variable.static_storage__:objc_object* [line 61, column 10]\n *&return:objc_object*=n$17 [line 61, column 3]\n " shape="box"] "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_2" ; -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" [label="4: Call _fun__dispatch_once \n n$15=*&initialization_block__:_fn_(*) [line 60, column 32]\n _fun__dispatch_once(&#GB$DispatchA_dispatch_a_block_variable.once_token__:long*,n$15:_fn_(*)) [line 60, column 3]\n " shape="box"] +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" [label="4: Call _fun__dispatch_once \n n$18=*&initialization_block__:_fn_(*) [line 60, column 32]\n n$19=_fun__dispatch_once(&#GB$DispatchA_dispatch_a_block_variable.once_token__:long*,n$18:_fn_(*)) [line 60, column 3]\n " shape="box"] "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" ; @@ -144,11 +144,11 @@ digraph cfg { "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_2" [label="2: Exit DispatchA_dispatch_a_block_variable_from_macro \n " color=yellow style=filled] -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_3" [label="3: Fallback node \n n$18=*&#GB$DispatchA_dispatch_a_block_variable_from_macro.static_storage__:objc_object* [line 72, column 5]\n " shape="box"] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_3" [label="3: Fallback node \n n$22=*&#GB$DispatchA_dispatch_a_block_variable_from_macro.static_storage__:objc_object* [line 72, column 5]\n " shape="box"] "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_3" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_6" ; -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" [label="4: Call _fun__dispatch_once \n n$19=*&initialization_block__:_fn_(*) [line 71, column 34]\n _fun__dispatch_once(&#GB$DispatchA_dispatch_a_block_variable_from_macro.once_token__:long*,n$19:_fn_(*)) [line 71, column 5]\n " shape="box"] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" [label="4: Call _fun__dispatch_once \n n$23=*&initialization_block__:_fn_(*) [line 71, column 34]\n n$24=_fun__dispatch_once(&#GB$DispatchA_dispatch_a_block_variable_from_macro.once_token__:long*,n$23:_fn_(*)) [line 71, column 5]\n " shape="box"] "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_3" ; @@ -156,7 +156,7 @@ digraph cfg { "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_5" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" ; -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_6" [label="6: Return Stmt \n *&return:objc_object*=n$18 [line 65, column 3]\n " shape="box"] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_6" [label="6: Return Stmt \n *&return:objc_object*=n$22 [line 65, column 3]\n " shape="box"] "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_6" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_2" ; @@ -167,15 +167,15 @@ digraph cfg { "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_2" [label="2: Exit DispatchA_dispatch_a_block_variable_from_macro_delivers_initialised_object \n " color=yellow style=filled] -"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_3" [label="3: Return Stmt \n n$22=*&a:DispatchA* [line 79, column 15]\n n$23=*n$22._x:int [line 79, column 15]\n *&return:int=(1 / (n$23 - 5)) [line 79, column 3]\n " shape="box"] +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_3" [label="3: Return Stmt \n n$27=*&a:DispatchA* [line 79, column 15]\n n$28=*n$27._x:int [line 79, column 15]\n *&return:int=(1 / (n$28 - 5)) [line 79, column 3]\n " shape="box"] "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_3" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_2" ; -"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" [label="4: BinaryOperatorStmt: Assign \n n$24=*&a:DispatchA* [line 78, column 3]\n *n$24._x:int=5 [line 78, column 3]\n " shape="box"] +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" [label="4: BinaryOperatorStmt: Assign \n n$29=*&a:DispatchA* [line 78, column 3]\n *n$29._x:int=5 [line 78, column 3]\n " shape="box"] "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_3" ; -"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" [label="5: DeclStmt \n n$25=_fun_DispatchA_dispatch_a_block_variable_from_macro() [line 77, column 18]\n *&a:DispatchA*=n$25 [line 77, column 3]\n " shape="box"] +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" [label="5: DeclStmt \n n$30=_fun_DispatchA_dispatch_a_block_variable_from_macro() [line 77, column 18]\n *&a:DispatchA*=n$30 [line 77, column 3]\n " shape="box"] "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" ; @@ -201,7 +201,7 @@ digraph cfg { "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_2" ; -"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" [label="4: Call _fun__dispatch_once \n _fun__dispatch_once(&#GB$DispatchA_sharedInstance.once:long*,(_fun_objc_blockDispatchA_sharedInstance_1):_fn_(*)) block_params [line 30, column 3]\n " shape="box"] +"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" [label="4: Call _fun__dispatch_once \n n$4=_fun__dispatch_once(&#GB$DispatchA_sharedInstance.once:long*,(_fun_objc_blockDispatchA_sharedInstance_1):_fn_(*)) block_params [line 30, column 3]\n " shape="box"] "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" ; @@ -212,11 +212,11 @@ digraph cfg { "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" [label="2: Exit DispatchA_trans \n " color=yellow style=filled] -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" [label="3: Return Stmt \n n$10=*&#GB$DispatchA_trans.sharedInstance:objc_object* [line 51, column 10]\n *&return:objc_object*=n$10 [line 51, column 3]\n " shape="box"] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" [label="3: Return Stmt \n n$12=*&#GB$DispatchA_trans.sharedInstance:objc_object* [line 51, column 10]\n *&return:objc_object*=n$12 [line 51, column 3]\n " shape="box"] "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" ; -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" [label="4: Call n$11 \n n$11=*&dummy_block:_fn_(*) [line 50, column 3]\n n$11() [line 50, column 3]\n " shape="box"] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" [label="4: Call n$13 \n n$13=*&dummy_block:_fn_(*) [line 50, column 3]\n n$14=n$13() [line 50, column 3]\n " shape="box"] "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot index 347991f73..738fecf8b 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot @@ -7,11 +7,11 @@ digraph cfg { "objc_blockDispatchEx_dispatch_after_example_3.380a17f45400d49d71ce1ba1c29a6ba4_2" [label="2: Exit objc_blockDispatchEx_dispatch_after_example_3 \n " color=yellow style=filled] -"objc_blockDispatchEx_dispatch_after_example_3.380a17f45400d49d71ce1ba1c29a6ba4_3" [label="3: BinaryOperatorStmt: Assign \n n$16=*&#GB$DispatchEx_dispatch_after_example.a:DispatchEx* [line 52, column 20]\n *n$16.x:int=10 [line 52, column 20]\n " shape="box"] +"objc_blockDispatchEx_dispatch_after_example_3.380a17f45400d49d71ce1ba1c29a6ba4_3" [label="3: BinaryOperatorStmt: Assign \n n$18=*&#GB$DispatchEx_dispatch_after_example.a:DispatchEx* [line 52, column 20]\n *n$18.x:int=10 [line 52, column 20]\n " shape="box"] "objc_blockDispatchEx_dispatch_after_example_3.380a17f45400d49d71ce1ba1c29a6ba4_3" -> "objc_blockDispatchEx_dispatch_after_example_3.380a17f45400d49d71ce1ba1c29a6ba4_2" ; -"objc_blockDispatchEx_dispatch_after_example_3.380a17f45400d49d71ce1ba1c29a6ba4_4" [label="4: BinaryOperatorStmt: Assign \n n$17=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 51, column 25]\n n$18=_fun_DispatchEx_init(n$17:DispatchEx*) virtual [line 51, column 24]\n *&#GB$DispatchEx_dispatch_after_example.a:DispatchEx*=n$18 [line 51, column 20]\n " shape="box"] +"objc_blockDispatchEx_dispatch_after_example_3.380a17f45400d49d71ce1ba1c29a6ba4_4" [label="4: BinaryOperatorStmt: Assign \n n$19=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 51, column 25]\n n$20=_fun_DispatchEx_init(n$19:DispatchEx*) virtual [line 51, column 24]\n *&#GB$DispatchEx_dispatch_after_example.a:DispatchEx*=n$20 [line 51, column 20]\n " shape="box"] "objc_blockDispatchEx_dispatch_after_example_3.380a17f45400d49d71ce1ba1c29a6ba4_4" -> "objc_blockDispatchEx_dispatch_after_example_3.380a17f45400d49d71ce1ba1c29a6ba4_3" ; @@ -22,11 +22,11 @@ digraph cfg { "objc_blockDispatchEx_dispatch_async_example_2.6510e5756fbcdafec0a18e8d5493346b_2" [label="2: Exit objc_blockDispatchEx_dispatch_async_example_2 \n " color=yellow style=filled] -"objc_blockDispatchEx_dispatch_async_example_2.6510e5756fbcdafec0a18e8d5493346b_3" [label="3: BinaryOperatorStmt: Assign \n n$9=*&#GB$DispatchEx_dispatch_async_example.a:DispatchEx* [line 41, column 20]\n *n$9.x:int=10 [line 41, column 20]\n " shape="box"] +"objc_blockDispatchEx_dispatch_async_example_2.6510e5756fbcdafec0a18e8d5493346b_3" [label="3: BinaryOperatorStmt: Assign \n n$10=*&#GB$DispatchEx_dispatch_async_example.a:DispatchEx* [line 41, column 20]\n *n$10.x:int=10 [line 41, column 20]\n " shape="box"] "objc_blockDispatchEx_dispatch_async_example_2.6510e5756fbcdafec0a18e8d5493346b_3" -> "objc_blockDispatchEx_dispatch_async_example_2.6510e5756fbcdafec0a18e8d5493346b_2" ; -"objc_blockDispatchEx_dispatch_async_example_2.6510e5756fbcdafec0a18e8d5493346b_4" [label="4: BinaryOperatorStmt: Assign \n n$10=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 40, column 25]\n n$11=_fun_DispatchEx_init(n$10:DispatchEx*) virtual [line 40, column 24]\n *&#GB$DispatchEx_dispatch_async_example.a:DispatchEx*=n$11 [line 40, column 20]\n " shape="box"] +"objc_blockDispatchEx_dispatch_async_example_2.6510e5756fbcdafec0a18e8d5493346b_4" [label="4: BinaryOperatorStmt: Assign \n n$11=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 40, column 25]\n n$12=_fun_DispatchEx_init(n$11:DispatchEx*) virtual [line 40, column 24]\n *&#GB$DispatchEx_dispatch_async_example.a:DispatchEx*=n$12 [line 40, column 20]\n " shape="box"] "objc_blockDispatchEx_dispatch_async_example_2.6510e5756fbcdafec0a18e8d5493346b_4" -> "objc_blockDispatchEx_dispatch_async_example_2.6510e5756fbcdafec0a18e8d5493346b_3" ; @@ -37,11 +37,11 @@ digraph cfg { "objc_blockDispatchEx_dispatch_barrier_example_6.644987ff1e6d0e0008d4ccdb7e8538ee_2" [label="2: Exit objc_blockDispatchEx_dispatch_barrier_example_6 \n " color=yellow style=filled] -"objc_blockDispatchEx_dispatch_barrier_example_6.644987ff1e6d0e0008d4ccdb7e8538ee_3" [label="3: BinaryOperatorStmt: Assign \n n$34=*&#GB$DispatchEx_dispatch_barrier_example.a:DispatchEx* [line 79, column 5]\n *n$34.x:int=10 [line 79, column 5]\n " shape="box"] +"objc_blockDispatchEx_dispatch_barrier_example_6.644987ff1e6d0e0008d4ccdb7e8538ee_3" [label="3: BinaryOperatorStmt: Assign \n n$39=*&#GB$DispatchEx_dispatch_barrier_example.a:DispatchEx* [line 79, column 5]\n *n$39.x:int=10 [line 79, column 5]\n " shape="box"] "objc_blockDispatchEx_dispatch_barrier_example_6.644987ff1e6d0e0008d4ccdb7e8538ee_3" -> "objc_blockDispatchEx_dispatch_barrier_example_6.644987ff1e6d0e0008d4ccdb7e8538ee_2" ; -"objc_blockDispatchEx_dispatch_barrier_example_6.644987ff1e6d0e0008d4ccdb7e8538ee_4" [label="4: BinaryOperatorStmt: Assign \n n$35=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 78, column 10]\n n$36=_fun_DispatchEx_init(n$35:DispatchEx*) virtual [line 78, column 9]\n *&#GB$DispatchEx_dispatch_barrier_example.a:DispatchEx*=n$36 [line 78, column 5]\n " shape="box"] +"objc_blockDispatchEx_dispatch_barrier_example_6.644987ff1e6d0e0008d4ccdb7e8538ee_4" [label="4: BinaryOperatorStmt: Assign \n n$40=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 78, column 10]\n n$41=_fun_DispatchEx_init(n$40:DispatchEx*) virtual [line 78, column 9]\n *&#GB$DispatchEx_dispatch_barrier_example.a:DispatchEx*=n$41 [line 78, column 5]\n " shape="box"] "objc_blockDispatchEx_dispatch_barrier_example_6.644987ff1e6d0e0008d4ccdb7e8538ee_4" -> "objc_blockDispatchEx_dispatch_barrier_example_6.644987ff1e6d0e0008d4ccdb7e8538ee_3" ; @@ -52,11 +52,11 @@ digraph cfg { "objc_blockDispatchEx_dispatch_group_example_4.65d6b4827e06dfbede68939492105a46_2" [label="2: Exit objc_blockDispatchEx_dispatch_group_example_4 \n " color=yellow style=filled] -"objc_blockDispatchEx_dispatch_group_example_4.65d6b4827e06dfbede68939492105a46_3" [label="3: BinaryOperatorStmt: Assign \n n$22=*&#GB$DispatchEx_dispatch_group_example.a:DispatchEx* [line 61, column 5]\n *n$22.x:int=10 [line 61, column 5]\n " shape="box"] +"objc_blockDispatchEx_dispatch_group_example_4.65d6b4827e06dfbede68939492105a46_3" [label="3: BinaryOperatorStmt: Assign \n n$25=*&#GB$DispatchEx_dispatch_group_example.a:DispatchEx* [line 61, column 5]\n *n$25.x:int=10 [line 61, column 5]\n " shape="box"] "objc_blockDispatchEx_dispatch_group_example_4.65d6b4827e06dfbede68939492105a46_3" -> "objc_blockDispatchEx_dispatch_group_example_4.65d6b4827e06dfbede68939492105a46_2" ; -"objc_blockDispatchEx_dispatch_group_example_4.65d6b4827e06dfbede68939492105a46_4" [label="4: BinaryOperatorStmt: Assign \n n$23=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 60, column 10]\n n$24=_fun_DispatchEx_init(n$23:DispatchEx*) virtual [line 60, column 9]\n *&#GB$DispatchEx_dispatch_group_example.a:DispatchEx*=n$24 [line 60, column 5]\n " shape="box"] +"objc_blockDispatchEx_dispatch_group_example_4.65d6b4827e06dfbede68939492105a46_4" [label="4: BinaryOperatorStmt: Assign \n n$26=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 60, column 10]\n n$27=_fun_DispatchEx_init(n$26:DispatchEx*) virtual [line 60, column 9]\n *&#GB$DispatchEx_dispatch_group_example.a:DispatchEx*=n$27 [line 60, column 5]\n " shape="box"] "objc_blockDispatchEx_dispatch_group_example_4.65d6b4827e06dfbede68939492105a46_4" -> "objc_blockDispatchEx_dispatch_group_example_4.65d6b4827e06dfbede68939492105a46_3" ; @@ -67,11 +67,11 @@ digraph cfg { "objc_blockDispatchEx_dispatch_group_notify_example_5.ded89d749d973a9d57680f9d68afb8a0_2" [label="2: Exit objc_blockDispatchEx_dispatch_group_notify_example_5 \n " color=yellow style=filled] -"objc_blockDispatchEx_dispatch_group_notify_example_5.ded89d749d973a9d57680f9d68afb8a0_3" [label="3: BinaryOperatorStmt: Assign \n n$28=*&#GB$DispatchEx_dispatch_group_notify_example.a:DispatchEx* [line 70, column 5]\n *n$28.x:int=10 [line 70, column 5]\n " shape="box"] +"objc_blockDispatchEx_dispatch_group_notify_example_5.ded89d749d973a9d57680f9d68afb8a0_3" [label="3: BinaryOperatorStmt: Assign \n n$32=*&#GB$DispatchEx_dispatch_group_notify_example.a:DispatchEx* [line 70, column 5]\n *n$32.x:int=10 [line 70, column 5]\n " shape="box"] "objc_blockDispatchEx_dispatch_group_notify_example_5.ded89d749d973a9d57680f9d68afb8a0_3" -> "objc_blockDispatchEx_dispatch_group_notify_example_5.ded89d749d973a9d57680f9d68afb8a0_2" ; -"objc_blockDispatchEx_dispatch_group_notify_example_5.ded89d749d973a9d57680f9d68afb8a0_4" [label="4: BinaryOperatorStmt: Assign \n n$29=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 69, column 10]\n n$30=_fun_DispatchEx_init(n$29:DispatchEx*) virtual [line 69, column 9]\n *&#GB$DispatchEx_dispatch_group_notify_example.a:DispatchEx*=n$30 [line 69, column 5]\n " shape="box"] +"objc_blockDispatchEx_dispatch_group_notify_example_5.ded89d749d973a9d57680f9d68afb8a0_4" [label="4: BinaryOperatorStmt: Assign \n n$33=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 69, column 10]\n n$34=_fun_DispatchEx_init(n$33:DispatchEx*) virtual [line 69, column 9]\n *&#GB$DispatchEx_dispatch_group_notify_example.a:DispatchEx*=n$34 [line 69, column 5]\n " shape="box"] "objc_blockDispatchEx_dispatch_group_notify_example_5.ded89d749d973a9d57680f9d68afb8a0_4" -> "objc_blockDispatchEx_dispatch_group_notify_example_5.ded89d749d973a9d57680f9d68afb8a0_3" ; @@ -97,11 +97,11 @@ digraph cfg { "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_2" [label="2: Exit DispatchEx_dispatch_after_example \n " color=yellow style=filled] -"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" [label="3: Return Stmt \n n$12=*&#GB$DispatchEx_dispatch_after_example.a:DispatchEx* [line 54, column 10]\n n$13=*n$12.x:int [line 54, column 10]\n *&return:int=n$13 [line 54, column 3]\n " shape="box"] +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" [label="3: Return Stmt \n n$14=*&#GB$DispatchEx_dispatch_after_example.a:DispatchEx* [line 54, column 10]\n n$15=*n$14.x:int [line 54, column 10]\n *&return:int=n$15 [line 54, column 3]\n " shape="box"] "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_2" ; -"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" [label="4: Call _fun_dispatch_after \n n$14=_fun_dispatch_time(0:unsigned long long,(2 * 1000000000):long long) [line 48, column 18]\n n$15=_fun_dispatch_get_main_queue() [line 49, column 18]\n _fun_dispatch_after(n$14:unsigned long long,n$15:NSObject*,(_fun_objc_blockDispatchEx_dispatch_after_example_3):_fn_(*)) block_params [line 48, column 3]\n " shape="box"] +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" [label="4: Call _fun_dispatch_after \n n$16=_fun_dispatch_time(0:unsigned long long,(2 * 1000000000):long long) [line 48, column 18]\n n$17=_fun_dispatch_get_main_queue() [line 49, column 18]\n n$21=_fun_dispatch_after(n$16:unsigned long long,n$17:NSObject*,(_fun_objc_blockDispatchEx_dispatch_after_example_3):_fn_(*)) block_params [line 48, column 3]\n " shape="box"] "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" ; @@ -116,11 +116,11 @@ digraph cfg { "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_2" [label="2: Exit DispatchEx_dispatch_async_example \n " color=yellow style=filled] -"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" [label="3: Return Stmt \n n$6=*&#GB$DispatchEx_dispatch_async_example.a:DispatchEx* [line 43, column 10]\n n$7=*n$6.x:int [line 43, column 10]\n *&return:int=n$7 [line 43, column 3]\n " shape="box"] +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" [label="3: Return Stmt \n n$7=*&#GB$DispatchEx_dispatch_async_example.a:DispatchEx* [line 43, column 10]\n n$8=*n$7.x:int [line 43, column 10]\n *&return:int=n$8 [line 43, column 3]\n " shape="box"] "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_2" ; -"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" [label="4: Call _fun_dispatch_async \n n$8=_fun_dispatch_get_global_queue(0:long,0:unsigned long) [line 38, column 18]\n _fun_dispatch_async(n$8:NSObject*,(_fun_objc_blockDispatchEx_dispatch_async_example_2):_fn_(*)) block_params [line 38, column 3]\n " shape="box"] +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" [label="4: Call _fun_dispatch_async \n n$9=_fun_dispatch_get_global_queue(0:long,0:unsigned long) [line 38, column 18]\n n$13=_fun_dispatch_async(n$9:NSObject*,(_fun_objc_blockDispatchEx_dispatch_async_example_2):_fn_(*)) block_params [line 38, column 3]\n " shape="box"] "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" ; @@ -135,11 +135,11 @@ digraph cfg { "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_2" [label="2: Exit DispatchEx_dispatch_barrier_example \n " color=yellow style=filled] -"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" [label="3: Return Stmt \n n$31=*&#GB$DispatchEx_dispatch_barrier_example.a:DispatchEx* [line 81, column 10]\n n$32=*n$31.x:int [line 81, column 10]\n *&return:int=n$32 [line 81, column 3]\n " shape="box"] +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" [label="3: Return Stmt \n n$36=*&#GB$DispatchEx_dispatch_barrier_example.a:DispatchEx* [line 81, column 10]\n n$37=*n$36.x:int [line 81, column 10]\n *&return:int=n$37 [line 81, column 3]\n " shape="box"] "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_2" ; -"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" [label="4: Call _fun_dispatch_barrier_async \n n$33=_fun_dispatch_get_main_queue() [line 77, column 26]\n _fun_dispatch_barrier_async(n$33:NSObject*,(_fun_objc_blockDispatchEx_dispatch_barrier_example_6):_fn_(*)) block_params [line 77, column 3]\n " shape="box"] +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" [label="4: Call _fun_dispatch_barrier_async \n n$38=_fun_dispatch_get_main_queue() [line 77, column 26]\n n$42=_fun_dispatch_barrier_async(n$38:NSObject*,(_fun_objc_blockDispatchEx_dispatch_barrier_example_6):_fn_(*)) block_params [line 77, column 3]\n " shape="box"] "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" ; @@ -154,11 +154,11 @@ digraph cfg { "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_2" [label="2: Exit DispatchEx_dispatch_group_example \n " color=yellow style=filled] -"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" [label="3: Return Stmt \n n$19=*&#GB$DispatchEx_dispatch_group_example.a:DispatchEx* [line 63, column 10]\n n$20=*n$19.x:int [line 63, column 10]\n *&return:int=n$20 [line 63, column 3]\n " shape="box"] +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" [label="3: Return Stmt \n n$22=*&#GB$DispatchEx_dispatch_group_example.a:DispatchEx* [line 63, column 10]\n n$23=*n$22.x:int [line 63, column 10]\n *&return:int=n$23 [line 63, column 3]\n " shape="box"] "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_2" ; -"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" [label="4: Call _fun_dispatch_group_async \n n$21=_fun_dispatch_get_main_queue() [line 59, column 30]\n _fun_dispatch_group_async(null:NSObject*,n$21:NSObject*,(_fun_objc_blockDispatchEx_dispatch_group_example_4):_fn_(*)) block_params [line 59, column 3]\n " shape="box"] +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" [label="4: Call _fun_dispatch_group_async \n n$24=_fun_dispatch_get_main_queue() [line 59, column 30]\n n$28=_fun_dispatch_group_async(null:NSObject*,n$24:NSObject*,(_fun_objc_blockDispatchEx_dispatch_group_example_4):_fn_(*)) block_params [line 59, column 3]\n " shape="box"] "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" ; @@ -173,11 +173,11 @@ digraph cfg { "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_2" [label="2: Exit DispatchEx_dispatch_group_notify_example \n " color=yellow style=filled] -"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" [label="3: Return Stmt \n n$25=*&#GB$DispatchEx_dispatch_group_notify_example.a:DispatchEx* [line 72, column 10]\n n$26=*n$25.x:int [line 72, column 10]\n *&return:int=n$26 [line 72, column 3]\n " shape="box"] +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" [label="3: Return Stmt \n n$29=*&#GB$DispatchEx_dispatch_group_notify_example.a:DispatchEx* [line 72, column 10]\n n$30=*n$29.x:int [line 72, column 10]\n *&return:int=n$30 [line 72, column 3]\n " shape="box"] "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_2" ; -"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" [label="4: Call _fun_dispatch_group_async \n n$27=_fun_dispatch_get_main_queue() [line 68, column 30]\n _fun_dispatch_group_async(null:NSObject*,n$27:NSObject*,(_fun_objc_blockDispatchEx_dispatch_group_notify_example_5):_fn_(*)) block_params [line 68, column 3]\n " shape="box"] +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" [label="4: Call _fun_dispatch_group_async \n n$31=_fun_dispatch_get_main_queue() [line 68, column 30]\n n$35=_fun_dispatch_group_async(null:NSObject*,n$31:NSObject*,(_fun_objc_blockDispatchEx_dispatch_group_notify_example_5):_fn_(*)) block_params [line 68, column 3]\n " shape="box"] "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" ; @@ -196,7 +196,7 @@ digraph cfg { "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_2" ; -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" [label="4: Call _fun__dispatch_once \n _fun__dispatch_once(&#GB$DispatchEx_dispatch_once_example.onceToken:long*,(_fun_objc_blockDispatchEx_dispatch_once_example_1):_fn_(*)) block_params [line 29, column 3]\n " shape="box"] +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" [label="4: Call _fun__dispatch_once \n n$6=_fun__dispatch_once(&#GB$DispatchEx_dispatch_once_example.onceToken:long*,(_fun_objc_blockDispatchEx_dispatch_once_example_1):_fn_(*)) block_params [line 29, column 3]\n " shape="box"] "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot index d8f1e5f45..26a2f33a1 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot @@ -11,7 +11,7 @@ digraph cfg { "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_3" -> "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_5" ; -"DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_4" [label="4: Call _fun__dispatch_once \n _fun__dispatch_once(&#GB$DispatchInMacroTest.once_token:long*,(_fun_objc_blockDispatchInMacroTest_1):_fn_(*)) block_params [line 23, column 10]\n " shape="box"] +"DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_4" [label="4: Call _fun__dispatch_once \n n$3=_fun__dispatch_once(&#GB$DispatchInMacroTest.once_token:long*,(_fun_objc_blockDispatchInMacroTest_1):_fn_(*)) block_params [line 23, column 10]\n " shape="box"] "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_4" -> "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot b/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot index c8ed0734e..a79e12a3f 100644 --- a/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot @@ -7,7 +7,7 @@ digraph cfg { "performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_2" [label="2: Exit EOCPerson_performDaysWork \n " color=yellow style=filled] -"performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString_stringWithUTF8String:(\"Performing days at work\":char* const ) [line 15, column 9]\n _fun_NSLog(n$0:objc_object*) [line 15, column 3]\n " shape="box"] +"performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString_stringWithUTF8String:(\"Performing days at work\":char* const ) [line 15, column 9]\n n$1=_fun_NSLog(n$0:objc_object*) [line 15, column 3]\n " shape="box"] "performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_3" -> "performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_2" ; @@ -18,7 +18,7 @@ digraph cfg { "takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_2" [label="2: Exit EOCPerson_takeVacationFromWork \n " color=yellow style=filled] -"takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_3" [label="3: Call _fun_NSLog \n n$1=_fun_NSString_stringWithUTF8String:(\"BTaking vacations\":char* const ) [line 19, column 9]\n _fun_NSLog(n$1:objc_object*) [line 19, column 3]\n " shape="box"] +"takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString_stringWithUTF8String:(\"BTaking vacations\":char* const ) [line 19, column 9]\n n$3=_fun_NSLog(n$2:objc_object*) [line 19, column 3]\n " shape="box"] "takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_3" -> "takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot b/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot index cf774c1b9..a6cd72b1f 100644 --- a/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot +++ b/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot @@ -15,11 +15,11 @@ digraph cfg { "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_3" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" [label="5: Message Call: performDaysWork \n n$1=*&person:EOCPerson* [line 15, column 4]\n _fun_EOCPerson_performDaysWork(n$1:EOCPerson*) virtual [line 15, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" [label="5: Message Call: performDaysWork \n n$1=*&person:EOCPerson* [line 15, column 4]\n n$2=_fun_EOCPerson_performDaysWork(n$1:EOCPerson*) virtual [line 15, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" [label="6: DeclStmt \n n$2=_fun___objc_alloc_no_fail(sizeof(t=EOCPerson):unsigned long) [line 14, column 24]\n n$3=_fun_NSObject_init(n$2:EOCPerson*) virtual [line 14, column 23]\n *&person:EOCPerson*=n$3 [line 14, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" [label="6: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(t=EOCPerson):unsigned long) [line 14, column 24]\n n$4=_fun_NSObject_init(n$3:EOCPerson*) virtual [line 14, column 23]\n *&person:EOCPerson*=n$4 [line 14, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot index 05ac119da..4e2642975 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot @@ -85,15 +85,15 @@ digraph cfg { "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_2" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" [label="4: Message Call: release \n n$1=*&pool:NSAutoreleasePool* [line 63, column 4]\n _fun_NSObject_release(n$1:NSAutoreleasePool*) virtual [line 63, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" [label="4: Message Call: release \n n$1=*&pool:NSAutoreleasePool* [line 63, column 4]\n n$2=_fun_NSObject_release(n$1:NSAutoreleasePool*) virtual [line 63, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" [label="5: DeclStmt \n n$2=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 61, column 23]\n n$3=_fun_NSObject_autorelease(n$2:NSString*) virtual [line 61, column 22]\n *&string:NSString*=n$3 [line 61, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" [label="5: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 61, column 23]\n n$4=_fun_NSObject_autorelease(n$3:NSString*) virtual [line 61, column 22]\n *&string:NSString*=n$4 [line 61, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" [label="6: DeclStmt \n n$4=_fun___objc_alloc_no_fail(sizeof(t=NSAutoreleasePool):unsigned long) [line 60, column 30]\n n$5=_fun_NSObject_init(n$4:NSAutoreleasePool*) virtual [line 60, column 29]\n *&pool:NSAutoreleasePool*=n$5 [line 60, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" [label="6: DeclStmt \n n$5=_fun___objc_alloc_no_fail(sizeof(t=NSAutoreleasePool):unsigned long) [line 60, column 30]\n n$6=_fun_NSObject_init(n$5:NSAutoreleasePool*) virtual [line 60, column 29]\n *&pool:NSAutoreleasePool*=n$6 [line 60, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot index bf7ab4d4c..aaacd6efc 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot @@ -7,7 +7,7 @@ digraph cfg { "objc_blockMemoryLeakExample_blockCapturedVarLeak_1.b434313b336514058f60e55fc6a4a73f_2" [label="2: Exit objc_blockMemoryLeakExample_blockCapturedVarLeak_1 \n " color=yellow style=filled] -"objc_blockMemoryLeakExample_blockCapturedVarLeak_1.b434313b336514058f60e55fc6a4a73f_3" [label="3: Return Stmt \n n$43=*&x:int* [line 97, column 13]\n n$44=*n$43:int [line 97, column 12]\n *&return:int=n$44 [line 97, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample_blockCapturedVarLeak_1.b434313b336514058f60e55fc6a4a73f_3" [label="3: Return Stmt \n n$52=*&x:int* [line 97, column 13]\n n$53=*n$52:int [line 97, column 12]\n *&return:int=n$53 [line 97, column 5]\n " shape="box"] "objc_blockMemoryLeakExample_blockCapturedVarLeak_1.b434313b336514058f60e55fc6a4a73f_3" -> "objc_blockMemoryLeakExample_blockCapturedVarLeak_1.b434313b336514058f60e55fc6a4a73f_2" ; @@ -18,15 +18,15 @@ digraph cfg { "objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_2" [label="2: Exit objc_blockMemoryLeakExample_blockFreeNoLeak_2 \n " color=yellow style=filled] -"objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_3" [label="3: Return Stmt \n n$50=*&i:int [line 108, column 12]\n *&return:int=n$50 [line 108, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_3" [label="3: Return Stmt \n n$59=*&i:int [line 108, column 12]\n *&return:int=n$59 [line 108, column 5]\n " shape="box"] "objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_3" -> "objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_2" ; -"objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_4" [label="4: Call _fun_free \n n$51=*&x:int* [line 107, column 10]\n _fun_free(n$51:void*) [line 107, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_4" [label="4: Call _fun_free \n n$60=*&x:int* [line 107, column 10]\n n$61=_fun_free(n$60:void*) [line 107, column 5]\n " shape="box"] "objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_4" -> "objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_3" ; -"objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_5" [label="5: DeclStmt \n n$52=*&x:int* [line 106, column 14]\n n$53=*n$52:int [line 106, column 13]\n *&i:int=n$53 [line 106, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_5" [label="5: DeclStmt \n n$62=*&x:int* [line 106, column 14]\n n$63=*n$62:int [line 106, column 13]\n *&i:int=n$63 [line 106, column 5]\n " shape="box"] "objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_5" -> "objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_4" ; @@ -37,19 +37,19 @@ digraph cfg { "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" [label="2: Exit MemoryLeakExample_blockCapturedVarLeak \n " color=yellow style=filled] -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" [label="3: Return Stmt \n n$40=*&blk:_fn_(*) [line 99, column 10]\n n$41=n$40() [line 99, column 10]\n *&return:int=n$41 [line 99, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" [label="3: Return Stmt \n n$49=*&blk:_fn_(*) [line 99, column 10]\n n$50=n$49() [line 99, column 10]\n *&return:int=n$50 [line 99, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" [label="4: DeclStmt \n n$42=*&x:int* [line 96, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample_blockCapturedVarLeak_1,(n$42 &x:int*)) [line 96, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" [label="4: DeclStmt \n n$51=*&x:int* [line 96, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample_blockCapturedVarLeak_1,(n$51 &x:int*)) [line 96, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" [label="5: BinaryOperatorStmt: Assign \n n$45=*&x:int* [line 95, column 4]\n *n$45:int=2 [line 95, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" [label="5: BinaryOperatorStmt: Assign \n n$54=*&x:int* [line 95, column 4]\n *n$54:int=2 [line 95, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" [label="6: DeclStmt \n n$46=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 94, column 12]\n *&x:int*=n$46 [line 94, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" [label="6: DeclStmt \n n$55=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 94, column 12]\n *&x:int*=n$55 [line 94, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" ; @@ -60,19 +60,19 @@ digraph cfg { "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" [label="2: Exit MemoryLeakExample_blockFreeNoLeak \n " color=yellow style=filled] -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" [label="3: Return Stmt \n n$47=*&blk:_fn_(*) [line 110, column 10]\n n$48=n$47() [line 110, column 10]\n *&return:int=n$48 [line 110, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" [label="3: Return Stmt \n n$56=*&blk:_fn_(*) [line 110, column 10]\n n$57=n$56() [line 110, column 10]\n *&return:int=n$57 [line 110, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" [label="4: DeclStmt \n n$49=*&x:int* [line 105, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample_blockFreeNoLeak_2,(n$49 &x:int*)) [line 105, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" [label="4: DeclStmt \n n$58=*&x:int* [line 105, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample_blockFreeNoLeak_2,(n$58 &x:int*)) [line 105, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" [label="5: BinaryOperatorStmt: Assign \n n$54=*&x:int* [line 104, column 4]\n *n$54:int=2 [line 104, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" [label="5: BinaryOperatorStmt: Assign \n n$64=*&x:int* [line 104, column 4]\n *n$64:int=2 [line 104, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" [label="6: DeclStmt \n n$55=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 103, column 12]\n *&x:int*=n$55 [line 103, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" [label="6: DeclStmt \n n$65=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 103, column 12]\n *&x:int*=n$65 [line 103, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" ; @@ -83,11 +83,11 @@ digraph cfg { "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_2" [label="2: Exit MemoryLeakExample_createCloseCrossGlyph: \n " color=yellow style=filled] -"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" [label="3: Call _fun_CGPathCreateMutable \n n$21=_fun_CGPathCreateMutable() [line 55, column 3]\n " shape="box"] +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" [label="3: Call _fun_CGPathCreateMutable \n n$26=_fun_CGPathCreateMutable() [line 55, column 3]\n " shape="box"] "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_2" ; -"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" [label="4: BinaryOperatorStmt: Mul \n n$22=*&rect:CGRect [line 54, column 27]\n n$23=_fun_CGRectGetHeight(n$22:CGRect) [line 54, column 11]\n " shape="box"] +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" [label="4: BinaryOperatorStmt: Mul \n n$27=*&rect:CGRect [line 54, column 27]\n n$28=_fun_CGRectGetHeight(n$27:CGRect) [line 54, column 11]\n " shape="box"] "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" ; @@ -98,15 +98,15 @@ digraph cfg { "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" [label="2: Exit MemoryLeakExample_createCloseCrossGlyphNoLeak: \n " color=yellow style=filled] -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" [label="3: Call _fun_CFRelease \n n$24=*&path1:CGPath* [line 63, column 13]\n _fun_CFRelease(n$24:void const *) [line 63, column 3]\n " shape="box"] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" [label="3: Call _fun_CFRelease \n n$29=*&path1:CGPath* [line 63, column 13]\n n$30=_fun_CFRelease(n$29:void const *) [line 63, column 3]\n " shape="box"] "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" [label="4: DeclStmt \n n$25=_fun_CGPathCreateMutable() [line 62, column 28]\n *&path1:CGPath*=n$25 [line 62, column 3]\n " shape="box"] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" [label="4: DeclStmt \n n$31=_fun_CGPathCreateMutable() [line 62, column 28]\n *&path1:CGPath*=n$31 [line 62, column 3]\n " shape="box"] "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" [label="5: DeclStmt \n n$26=*&rect:CGRect [line 59, column 51]\n n$27=_fun_CGRectGetHeight(n$26:CGRect) [line 59, column 35]\n *&lineThickness:double=(0.200000 * n$27) [line 59, column 3]\n " shape="box"] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" [label="5: DeclStmt \n n$32=*&rect:CGRect [line 59, column 51]\n n$33=_fun_CGRectGetHeight(n$32:CGRect) [line 59, column 35]\n *&lineThickness:double=(0.200000 * n$33) [line 59, column 3]\n " shape="box"] "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" ; @@ -117,19 +117,19 @@ digraph cfg { "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" [label="2: Exit MemoryLeakExample_layoutSubviews \n " color=yellow style=filled] -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" [label="3: Message Call: release \n n$0=*&attachmentContainerView:UIView* [line 25, column 4]\n _fun_NSObject_release(n$0:UIView*) virtual [line 25, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" [label="3: Message Call: release \n n$0=*&attachmentContainerView:UIView* [line 25, column 4]\n n$1=_fun_NSObject_release(n$0:UIView*) virtual [line 25, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" [label="4: Call _fun_CGPathRelease \n n$1=*&shadowPath:CGPath const * [line 24, column 17]\n _fun_CGPathRelease(n$1:CGPath const *) [line 24, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" [label="4: Call _fun_CGPathRelease \n n$2=*&shadowPath:CGPath const * [line 24, column 17]\n n$3=_fun_CGPathRelease(n$2:CGPath const *) [line 24, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" [label="5: DeclStmt \n n$2=*&attachmentContainerView:UIView* [line 22, column 28]\n n$3=_fun_UIView_bounds(n$2:UIView*) [line 22, column 52]\n n$4=_fun_CGPathCreateWithRect(n$3:CGRect,null:CGAffineTransform const *) [line 22, column 7]\n *&shadowPath:CGPath const *=n$4 [line 21, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" [label="5: DeclStmt \n n$4=*&attachmentContainerView:UIView* [line 22, column 28]\n n$5=_fun_UIView_bounds(n$4:UIView*) [line 22, column 52]\n n$6=_fun_CGPathCreateWithRect(n$5:CGRect,null:CGAffineTransform const *) [line 22, column 7]\n *&shadowPath:CGPath const *=n$6 [line 21, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" [label="6: DeclStmt \n n$5=_fun___objc_alloc_no_fail(sizeof(t=UIView):unsigned long) [line 20, column 37]\n *&attachmentContainerView:UIView*=n$5 [line 20, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" [label="6: DeclStmt \n n$7=_fun___objc_alloc_no_fail(sizeof(t=UIView):unsigned long) [line 20, column 37]\n *&attachmentContainerView:UIView*=n$7 [line 20, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" ; @@ -140,7 +140,7 @@ digraph cfg { "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" [label="2: Exit MemoryLeakExample_measureFrameSizeForText \n " color=yellow style=filled] -"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" [label="3: Call _fun_CFAttributedStringCreateMutable \n n$14=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 35, column 3]\n " shape="box"] +"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" [label="3: Call _fun_CFAttributedStringCreateMutable \n n$17=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 35, column 3]\n " shape="box"] "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" -> "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" ; @@ -151,11 +151,11 @@ digraph cfg { "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" [label="2: Exit MemoryLeakExample_measureFrameSizeForTextNoLeak \n " color=yellow style=filled] -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" [label="3: Call _fun_CFRelease \n n$15=*&maString:__CFAttributedString* [line 41, column 13]\n _fun_CFRelease(n$15:void const *) [line 41, column 3]\n " shape="box"] +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" [label="3: Call _fun_CFRelease \n n$18=*&maString:__CFAttributedString* [line 41, column 13]\n n$19=_fun_CFRelease(n$18:void const *) [line 41, column 3]\n " shape="box"] "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" ; -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" [label="4: DeclStmt \n n$16=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 40, column 7]\n *&maString:__CFAttributedString*=n$16 [line 39, column 3]\n " shape="box"] +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" [label="4: DeclStmt \n n$20=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 40, column 7]\n *&maString:__CFAttributedString*=n$20 [line 39, column 3]\n " shape="box"] "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" ; @@ -166,15 +166,15 @@ digraph cfg { "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" [label="2: Exit MemoryLeakExample_regularLeak \n " color=yellow style=filled] -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" [label="3: Return Stmt \n n$36=*&x:int* [line 90, column 11]\n n$37=*n$36:int [line 90, column 10]\n *&return:int=n$37 [line 90, column 3]\n " shape="box"] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" [label="3: Return Stmt \n n$45=*&x:int* [line 90, column 11]\n n$46=*n$45:int [line 90, column 10]\n *&return:int=n$46 [line 90, column 3]\n " shape="box"] "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" [label="4: BinaryOperatorStmt: Assign \n n$38=*&x:int* [line 89, column 4]\n *n$38:int=7 [line 89, column 3]\n " shape="box"] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" [label="4: BinaryOperatorStmt: Assign \n n$47=*&x:int* [line 89, column 4]\n *n$47:int=7 [line 89, column 3]\n " shape="box"] "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" [label="5: DeclStmt \n n$39=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 88, column 12]\n *&x:int*=n$39 [line 88, column 3]\n " shape="box"] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" [label="5: DeclStmt \n n$48=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 88, column 12]\n *&x:int*=n$48 [line 88, column 3]\n " shape="box"] "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" ; @@ -185,11 +185,11 @@ digraph cfg { "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" [label="2: Exit MemoryLeakExample_test \n " color=yellow style=filled] -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" [label="3: Message Call: setShadowPath: \n n$6=*&self:MemoryLeakExample* [line 31, column 3]\n n$7=_fun_MemoryLeakExample_backgroundCoveringView(n$6:MemoryLeakExample*) [line 31, column 8]\n n$8=_fun_UIView_layer(n$7:UIView*) [line 31, column 31]\n n$9=*&shadowPath:CGPath const * [line 31, column 50]\n _fun_CALayer_setShadowPath:(n$8:CALayer*,n$9:CGPath const *) [line 31, column 37]\n " shape="box"] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" [label="3: Message Call: setShadowPath: \n n$8=*&self:MemoryLeakExample* [line 31, column 3]\n n$9=_fun_MemoryLeakExample_backgroundCoveringView(n$8:MemoryLeakExample*) [line 31, column 8]\n n$10=_fun_UIView_layer(n$9:UIView*) [line 31, column 31]\n n$11=*&shadowPath:CGPath const * [line 31, column 50]\n n$12=_fun_CALayer_setShadowPath:(n$10:CALayer*,n$11:CGPath const *) [line 31, column 37]\n " shape="box"] "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" ; -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" [label="4: DeclStmt \n n$10=*&self:MemoryLeakExample* [line 30, column 28]\n n$11=_fun_MemoryLeakExample_backgroundCoveringView(n$10:MemoryLeakExample*) [line 30, column 33]\n n$12=_fun_UIView_bounds(n$11:UIView*) [line 30, column 56]\n n$13=_fun_CGPathCreateWithRect(n$12:CGRect,null:CGAffineTransform const *) [line 30, column 7]\n *&shadowPath:CGPath const *=n$13 [line 29, column 3]\n " shape="box"] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" [label="4: DeclStmt \n n$13=*&self:MemoryLeakExample* [line 30, column 28]\n n$14=_fun_MemoryLeakExample_backgroundCoveringView(n$13:MemoryLeakExample*) [line 30, column 33]\n n$15=_fun_UIView_bounds(n$14:UIView*) [line 30, column 56]\n n$16=_fun_CGPathCreateWithRect(n$15:CGRect,null:CGAffineTransform const *) [line 30, column 7]\n *&shadowPath:CGPath const *=n$16 [line 29, column 3]\n " shape="box"] "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" ; @@ -200,7 +200,7 @@ digraph cfg { "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_2" [label="2: Exit MemoryLeakExample_test1: \n " color=yellow style=filled] -"test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_3" [label="3: Call _fun_CTFramesetterCreateWithAttributedString \n n$17=*&str:__CFAttributedString const * [line 45, column 43]\n n$18=_fun_CTFramesetterCreateWithAttributedString(n$17:__CFAttributedString const *) [line 45, column 3]\n " shape="box"] +"test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_3" [label="3: Call _fun_CTFramesetterCreateWithAttributedString \n n$21=*&str:__CFAttributedString const * [line 45, column 43]\n n$22=_fun_CTFramesetterCreateWithAttributedString(n$21:__CFAttributedString const *) [line 45, column 3]\n " shape="box"] "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_3" -> "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_2" ; @@ -211,11 +211,11 @@ digraph cfg { "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" [label="2: Exit MemoryLeakExample_test1NoLeak \n " color=yellow style=filled] -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" [label="3: Call _fun_CFRelease \n n$19=*&framesetter:__CTFramesetter const * [line 50, column 13]\n _fun_CFRelease(n$19:void const *) [line 50, column 3]\n " shape="box"] +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" [label="3: Call _fun_CFRelease \n n$23=*&framesetter:__CTFramesetter const * [line 50, column 13]\n n$24=_fun_CFRelease(n$23:void const *) [line 50, column 3]\n " shape="box"] "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" ; -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" [label="4: DeclStmt \n n$20=_fun_CTFramesetterCreateWithAttributedString(null:__CFAttributedString const *) [line 49, column 34]\n *&framesetter:__CTFramesetter const *=n$20 [line 49, column 3]\n " shape="box"] +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" [label="4: DeclStmt \n n$25=_fun_CTFramesetterCreateWithAttributedString(null:__CFAttributedString const *) [line 49, column 34]\n *&framesetter:__CTFramesetter const *=n$25 [line 49, column 3]\n " shape="box"] "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" ; @@ -226,7 +226,7 @@ digraph cfg { "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_2" [label="2: Exit MemoryLeakExample_test2: \n " color=yellow style=filled] -"test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_3" [label="3: Call _fun_SecTrustCopyPublicKey \n n$28=*&trust:__SecTrust* [line 67, column 25]\n n$29=_fun_SecTrustCopyPublicKey(n$28:__SecTrust*) [line 67, column 3]\n " shape="box"] +"test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_3" [label="3: Call _fun_SecTrustCopyPublicKey \n n$34=*&trust:__SecTrust* [line 67, column 25]\n n$35=_fun_SecTrustCopyPublicKey(n$34:__SecTrust*) [line 67, column 3]\n " shape="box"] "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_3" -> "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_2" ; @@ -237,11 +237,11 @@ digraph cfg { "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" [label="2: Exit MemoryLeakExample_test2NoLeak \n " color=yellow style=filled] -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" [label="3: Call _fun_CFRelease \n n$30=*&allowedPublicKey:__SecKey* [line 72, column 13]\n _fun_CFRelease(n$30:void const *) [line 72, column 3]\n " shape="box"] +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" [label="3: Call _fun_CFRelease \n n$36=*&allowedPublicKey:__SecKey* [line 72, column 13]\n n$37=_fun_CFRelease(n$36:void const *) [line 72, column 3]\n " shape="box"] "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" ; -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" [label="4: DeclStmt \n n$31=_fun_SecTrustCopyPublicKey(null:__SecTrust*) [line 71, column 32]\n *&allowedPublicKey:__SecKey*=n$31 [line 71, column 3]\n " shape="box"] +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" [label="4: DeclStmt \n n$38=_fun_SecTrustCopyPublicKey(null:__SecTrust*) [line 71, column 32]\n *&allowedPublicKey:__SecKey*=n$38 [line 71, column 3]\n " shape="box"] "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" ; @@ -252,11 +252,11 @@ digraph cfg { "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" [label="2: Exit MemoryLeakExample_testFBColorCreateWithGray \n " color=yellow style=filled] -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" [label="3: Call _fun_CGColorRelease \n n$34=*&borderColor:CGColor* [line 84, column 18]\n _fun_CGColorRelease(n$34:CGColor*) [line 84, column 3]\n " shape="box"] +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" [label="3: Call _fun_CGColorRelease \n n$42=*&borderColor:CGColor* [line 84, column 18]\n n$43=_fun_CGColorRelease(n$42:CGColor*) [line 84, column 3]\n " shape="box"] "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" ; -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" [label="4: DeclStmt \n n$35=_fun_FBColorCreateWithGray(0.000000:double,0.300000:double) [line 83, column 28]\n *&borderColor:CGColor*=n$35 [line 83, column 3]\n " shape="box"] +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" [label="4: DeclStmt \n n$44=_fun_FBColorCreateWithGray(0.000000:double,0.300000:double) [line 83, column 28]\n *&borderColor:CGColor*=n$44 [line 83, column 3]\n " shape="box"] "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" ; @@ -267,11 +267,11 @@ digraph cfg { "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" [label="2: Exit MemoryLeakExample_testImageRefRelease \n " color=yellow style=filled] -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" [label="3: Call _fun_CGImageRelease \n n$32=*&newImage:CGImage* [line 77, column 18]\n _fun_CGImageRelease(n$32:CGImage*) [line 77, column 3]\n " shape="box"] +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" [label="3: Call _fun_CGImageRelease \n n$39=*&newImage:CGImage* [line 77, column 18]\n n$40=_fun_CGImageRelease(n$39:CGImage*) [line 77, column 3]\n " shape="box"] "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" ; -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" [label="4: DeclStmt \n n$33=_fun_CGBitmapContextCreateImage(null:CGContext*) [line 76, column 25]\n *&newImage:CGImage*=n$33 [line 76, column 3]\n " shape="box"] +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" [label="4: DeclStmt \n n$41=_fun_CGBitmapContextCreateImage(null:CGContext*) [line 76, column 25]\n *&newImage:CGImage*=n$41 [line 76, column 3]\n " shape="box"] "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot index 9d2971ece..a9d3156d3 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot @@ -7,15 +7,15 @@ digraph cfg { "retain_release_test.65a9467f2c991ef519f3b0d97687f937_2" [label="2: Exit retain_release_test \n " color=yellow style=filled] -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" [label="3: Message Call: release \n n$0=*&a:RRA* [line 27, column 4]\n _fun_NSObject_release(n$0:RRA*) virtual [line 27, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" [label="3: Message Call: release \n n$0=*&a:RRA* [line 27, column 4]\n n$1=_fun_NSObject_release(n$0:RRA*) virtual [line 27, column 3]\n " shape="box"] "retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_2" ; -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" [label="4: Message Call: retain \n n$1=*&a:RRA* [line 26, column 4]\n n$2=_fun_NSObject_retain(n$1:RRA*) virtual [line 26, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" [label="4: Message Call: retain \n n$2=*&a:RRA* [line 26, column 4]\n n$3=_fun_NSObject_retain(n$2:RRA*) virtual [line 26, column 3]\n " shape="box"] "retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" ; -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" [label="5: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(t=RRA):unsigned long) [line 25, column 13]\n n$4=_fun_RRA_init(n$3:RRA*) virtual [line 25, column 12]\n *&a:RRA*=n$4 [line 25, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" [label="5: DeclStmt \n n$4=_fun___objc_alloc_no_fail(sizeof(t=RRA):unsigned long) [line 25, column 13]\n n$5=_fun_RRA_init(n$4:RRA*) virtual [line 25, column 12]\n *&a:RRA*=n$5 [line 25, column 3]\n " shape="box"] "retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot index c4352122f..f590e59e6 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot @@ -33,11 +33,11 @@ digraph cfg { "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_2" [label="2: Exit TollBridgeExample__readHTTPHeader \n " color=yellow style=filled] -"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" [label="3: Call _fun_CFBridgingRelease \n n$6=*&ref:__CFDictionary const * [line 37, column 21]\n n$7=_fun_CFBridgingRelease(n$6:void const *) [line 37, column 3]\n " shape="box"] +"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" [label="3: Call _fun_CFBridgingRelease \n n$8=*&ref:__CFDictionary const * [line 37, column 21]\n n$9=_fun_CFBridgingRelease(n$8:void const *) [line 37, column 3]\n " shape="box"] "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" -> "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_2" ; -"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" [label="4: DeclStmt \n n$8=_fun_CFHTTPMessageCopyAllHeaderFields(null:__CFHTTPMessage*) [line 36, column 25]\n *&ref:__CFDictionary const *=n$8 [line 36, column 3]\n " shape="box"] +"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" [label="4: DeclStmt \n n$10=_fun_CFHTTPMessageCopyAllHeaderFields(null:__CFHTTPMessage*) [line 36, column 25]\n *&ref:__CFDictionary const *=n$10 [line 36, column 3]\n " shape="box"] "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" -> "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" ; @@ -48,11 +48,11 @@ digraph cfg { "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_2" [label="2: Exit TollBridgeExample_brideRetained \n " color=yellow style=filled] -"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" [label="3: DeclStmt \n n$4=*&observer:objc_object* [line 31, column 50]\n *&a:__CFLocale const *=n$4 [line 31, column 3]\n " shape="box"] +"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" [label="3: DeclStmt \n n$6=*&observer:objc_object* [line 31, column 50]\n *&a:__CFLocale const *=n$6 [line 31, column 3]\n " shape="box"] "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" -> "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_2" ; -"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" [label="4: DeclStmt \n n$5=_fun___objc_alloc_no_fail(sizeof(t=NSLocale):unsigned long) [line 30, column 17]\n *&observer:objc_object*=n$5 [line 30, column 3]\n " shape="box"] +"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" [label="4: DeclStmt \n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSLocale):unsigned long) [line 30, column 17]\n *&observer:objc_object*=n$7 [line 30, column 3]\n " shape="box"] "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" -> "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" ; @@ -63,11 +63,11 @@ digraph cfg { "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_2" [label="2: Exit TollBridgeExample_bridge \n " color=yellow style=filled] -"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" [label="3: DeclStmt \n n$2=*&nameRef:__CFLocale const * [line 26, column 37]\n _fun___free_cf(n$2:__CFLocale const *) [line 26, column 17]\n *&a:NSLocale*=n$2 [line 26, column 3]\n " shape="box"] +"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" [label="3: DeclStmt \n n$3=*&nameRef:__CFLocale const * [line 26, column 37]\n n$4=_fun___free_cf(n$3:__CFLocale const *) [line 26, column 17]\n *&a:NSLocale*=n$3 [line 26, column 3]\n " shape="box"] "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" -> "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_2" ; -"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" [label="4: DeclStmt \n n$3=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 25, column 25]\n *&nameRef:__CFLocale const *=n$3 [line 25, column 3]\n " shape="box"] +"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" [label="4: DeclStmt \n n$5=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 25, column 25]\n *&nameRef:__CFLocale const *=n$5 [line 25, column 3]\n " shape="box"] "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" -> "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" ; @@ -78,11 +78,11 @@ digraph cfg { "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_2" [label="2: Exit TollBridgeExample_bridgeTransfer \n " color=yellow style=filled] -"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" [label="3: DeclStmt \n n$0=*&nameRef:__CFLocale const * [line 21, column 46]\n _fun___free_cf(n$0:__CFLocale const *) [line 21, column 17]\n *&a:NSLocale*=n$0 [line 21, column 3]\n " shape="box"] +"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" [label="3: DeclStmt \n n$0=*&nameRef:__CFLocale const * [line 21, column 46]\n n$1=_fun___free_cf(n$0:__CFLocale const *) [line 21, column 17]\n *&a:NSLocale*=n$0 [line 21, column 3]\n " shape="box"] "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" -> "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_2" ; -"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_4" [label="4: DeclStmt \n n$1=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 20, column 25]\n *&nameRef:__CFLocale const *=n$1 [line 20, column 3]\n " shape="box"] +"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_4" [label="4: DeclStmt \n n$2=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 20, column 25]\n *&nameRef:__CFLocale const *=n$2 [line 20, column 3]\n " shape="box"] "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_4" -> "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot b/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot index 2c83ae697..ef39cb74b 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot @@ -7,7 +7,7 @@ digraph cfg { "NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_2" [label="2: Exit NonnullAtrributeTest \n " color=yellow style=filled] -"NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_3" [label="3: Call n$0 \n n$0=*&callback:_fn_(*) [line 47, column 3]\n n$0(null:NSError*,null:objc_object*) [line 47, column 3]\n " shape="box"] +"NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_3" [label="3: Call n$0 \n n$0=*&callback:_fn_(*) [line 47, column 3]\n n$1=n$0(null:NSError*,null:objc_object*) [line 47, column 3]\n " shape="box"] "NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_3" -> "NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot b/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot index 5e3337544..3e17b45e6 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot @@ -11,11 +11,11 @@ digraph cfg { "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_2" ; -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" [label="4: Message Call: setName: \n n$2=*&a:GetterExample* [line 16, column 3]\n _fun_GetterExample_setName:(n$2:GetterExample*,5:int) [line 16, column 5]\n " shape="box"] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" [label="4: Message Call: setName: \n n$2=*&a:GetterExample* [line 16, column 3]\n n$3=_fun_GetterExample_setName:(n$2:GetterExample*,5:int) [line 16, column 5]\n " shape="box"] "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" ; -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" [label="5: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(t=GetterExample):unsigned long) [line 15, column 23]\n n$4=_fun_NSObject_init(n$3:GetterExample*) virtual [line 15, column 22]\n *&a:GetterExample*=n$4 [line 15, column 3]\n " shape="box"] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" [label="5: DeclStmt \n n$4=_fun___objc_alloc_no_fail(sizeof(t=GetterExample):unsigned long) [line 15, column 23]\n n$5=_fun_NSObject_init(n$4:GetterExample*) virtual [line 15, column 22]\n *&a:GetterExample*=n$5 [line 15, column 3]\n " shape="box"] "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot index 71d2e136f..3101306a2 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot @@ -11,15 +11,15 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Message Call: release \n n$0=*&a:PropertyA* [line 45, column 4]\n _fun_NSObject_release(n$0:PropertyA*) virtual [line 45, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Message Call: release \n n$0=*&a:PropertyA* [line 45, column 4]\n n$1=_fun_NSObject_release(n$0:PropertyA*) virtual [line 45, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: Message Call: setLast_name: \n n$1=*&a:PropertyA* [line 44, column 3]\n n$2=*&a2:PropertyA* [line 44, column 17]\n _fun_PropertyA_setLast_name:(n$1:PropertyA*,n$2:PropertyA*) [line 44, column 5]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: Message Call: setLast_name: \n n$2=*&a:PropertyA* [line 44, column 3]\n n$3=*&a2:PropertyA* [line 44, column 17]\n n$4=_fun_PropertyA_setLast_name:(n$2:PropertyA*,n$3:PropertyA*) [line 44, column 5]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; -"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 43, column 19]\n n$4=_fun_PropertyA_init(n$3:PropertyA*) virtual [line 43, column 18]\n *&a:PropertyA*=n$4 [line 43, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n n$5=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 43, column 19]\n n$6=_fun_PropertyA_init(n$5:PropertyA*) virtual [line 43, column 18]\n *&a:PropertyA*=n$6 [line 43, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_6" -> "test.098f6bcd4621d373cade4e832627b4f6_5" ; diff --git a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot index ff823f355..dc548f012 100644 --- a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot @@ -7,7 +7,7 @@ digraph cfg { "lockToStructure:#Bicycle#instance.1d748844e64f333b251ddf4475286342_2" [label="2: Exit Bicycle_lockToStructure: \n " color=yellow style=filled] -"lockToStructure:#Bicycle#instance.1d748844e64f333b251ddf4475286342_3" [label="3: Call _fun_NSLog \n n$5=_fun_NSString_stringWithUTF8String:(\"Locked to structure. Don't forget the combination!\":char* const ) [line 32, column 9]\n _fun_NSLog(n$5:objc_object*) [line 32, column 3]\n " shape="box"] +"lockToStructure:#Bicycle#instance.1d748844e64f333b251ddf4475286342_3" [label="3: Call _fun_NSLog \n n$10=_fun_NSString_stringWithUTF8String:(\"Locked to structure. Don't forget the combination!\":char* const ) [line 32, column 9]\n n$11=_fun_NSLog(n$10:objc_object*) [line 32, column 3]\n " shape="box"] "lockToStructure:#Bicycle#instance.1d748844e64f333b251ddf4475286342_3" -> "lockToStructure:#Bicycle#instance.1d748844e64f333b251ddf4475286342_2" ; @@ -18,7 +18,7 @@ digraph cfg { "removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_2" [label="2: Exit Bicycle_removeFrontWheel \n " color=yellow style=filled] -"removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString_stringWithUTF8String:(\"Front wheel is off.Should probably replace that before pedaling...\":char* const ) [line 28, column 9]\n _fun_NSLog(n$4:objc_object*) [line 28, column 3]\n " shape="box"] +"removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_3" [label="3: Call _fun_NSLog \n n$8=_fun_NSString_stringWithUTF8String:(\"Front wheel is off.Should probably replace that before pedaling...\":char* const ) [line 28, column 9]\n n$9=_fun_NSLog(n$8:objc_object*) [line 28, column 3]\n " shape="box"] "removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_3" -> "removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_2" ; @@ -29,7 +29,7 @@ digraph cfg { "signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_2" [label="2: Exit Bicycle_signalLeftTurn \n " color=yellow style=filled] -"signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_3" [label="3: Call _fun_NSLog \n n$1=_fun_NSString_stringWithUTF8String:(\"Extending left arm outwards\":char* const ) [line 19, column 9]\n _fun_NSLog(n$1:objc_object*) [line 19, column 3]\n " shape="box"] +"signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString_stringWithUTF8String:(\"Extending left arm outwards\":char* const ) [line 19, column 9]\n n$3=_fun_NSLog(n$2:objc_object*) [line 19, column 3]\n " shape="box"] "signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_3" -> "signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_2" ; @@ -40,7 +40,7 @@ digraph cfg { "signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_2" [label="2: Exit Bicycle_signalRightTurn \n " color=yellow style=filled] -"signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString_stringWithUTF8String:(\"Bending left arm upwards\":char* const ) [line 22, column 9]\n _fun_NSLog(n$2:objc_object*) [line 22, column 3]\n " shape="box"] +"signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString_stringWithUTF8String:(\"Bending left arm upwards\":char* const ) [line 22, column 9]\n n$5=_fun_NSLog(n$4:objc_object*) [line 22, column 3]\n " shape="box"] "signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_3" -> "signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_2" ; @@ -51,7 +51,7 @@ digraph cfg { "signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_2" [label="2: Exit Bicycle_signalStop \n " color=yellow style=filled] -"signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString_stringWithUTF8String:(\"Bending left arm downwards\":char* const ) [line 16, column 9]\n _fun_NSLog(n$0:objc_object*) [line 16, column 3]\n " shape="box"] +"signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString_stringWithUTF8String:(\"Bending left arm downwards\":char* const ) [line 16, column 9]\n n$1=_fun_NSLog(n$0:objc_object*) [line 16, column 3]\n " shape="box"] "signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_3" -> "signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_2" ; @@ -62,7 +62,7 @@ digraph cfg { "startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_2" [label="2: Exit Bicycle_startPedaling \n " color=yellow style=filled] -"startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_3" [label="3: Call _fun_NSLog \n n$3=_fun_NSString_stringWithUTF8String:(\"Here we go!\":char* const ) [line 25, column 9]\n _fun_NSLog(n$3:objc_object*) [line 25, column 3]\n " shape="box"] +"startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_3" [label="3: Call _fun_NSLog \n n$6=_fun_NSString_stringWithUTF8String:(\"Here we go!\":char* const ) [line 25, column 9]\n n$7=_fun_NSLog(n$6:objc_object*) [line 25, column 3]\n " shape="box"] "startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_3" -> "startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot index 6ea6f29c1..c746ca7f5 100644 --- a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot +++ b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot @@ -11,11 +11,11 @@ digraph cfg { "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_2" ; -"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" [label="4: Message Call: signalStop \n n$0=*&bike:Bicycle* [line 16, column 4]\n _fun_StreetVehicle_signalStop(n$0:Bicycle*) virtual [line 16, column 3]\n " shape="box"] +"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" [label="4: Message Call: signalStop \n n$0=*&bike:Bicycle* [line 16, column 4]\n n$1=_fun_StreetVehicle_signalStop(n$0:Bicycle*) virtual [line 16, column 3]\n " shape="box"] "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" ; -"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_5" [label="5: DeclStmt \n n$1=_fun___objc_alloc_no_fail(sizeof(t=Bicycle):unsigned long) [line 14, column 19]\n *&bike:Bicycle*=n$1 [line 14, column 3]\n " shape="box"] +"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_5" [label="5: DeclStmt \n n$2=_fun___objc_alloc_no_fail(sizeof(t=Bicycle):unsigned long) [line 14, column 19]\n *&bike:Bicycle*=n$2 [line 14, column 3]\n " shape="box"] "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_5" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" ; diff --git a/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot b/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot index 6dd85362d..d568a978d 100644 --- a/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot +++ b/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot @@ -18,7 +18,7 @@ digraph cfg { "fields#3037629886785813687.69ed098353fab08d543db5cb8ab409b5_2" [label="2: Exit fields \n " color=yellow style=filled] -"fields#3037629886785813687.69ed098353fab08d543db5cb8ab409b5_3" [label="3: Return Stmt \n n$0=*&__return_param:Fields* [line 20, column 19]\n _fun_Fields_(n$0:Fields*,&#GB$__someFields:Fields const &) [line 20, column 26]\n " shape="box"] +"fields#3037629886785813687.69ed098353fab08d543db5cb8ab409b5_3" [label="3: Return Stmt \n n$0=*&__return_param:Fields* [line 20, column 19]\n n$1=_fun_Fields_(n$0:Fields*,&#GB$__someFields:Fields const &) [line 20, column 26]\n " shape="box"] "fields#3037629886785813687.69ed098353fab08d543db5cb8ab409b5_3" -> "fields#3037629886785813687.69ed098353fab08d543db5cb8ab409b5_2" ;