diff --git a/infer/src/IR/BUILTINS.ml b/infer/src/IR/BUILTINS.ml index e6fea7529..2a1cab028 100644 --- a/infer/src/IR/BUILTINS.ml +++ b/infer/src/IR/BUILTINS.ml @@ -92,9 +92,6 @@ module type S = sig val __unwrap_exception : t - val __variable_initialization : t - (** produced by the clang frontend to denote that a variable is being initialized *) - val abort : t val exit : t diff --git a/infer/src/IR/BuiltinDecl.ml b/infer/src/IR/BuiltinDecl.ml index 6acbed0e8..6fc2f8be8 100644 --- a/infer/src/IR/BuiltinDecl.ml +++ b/infer/src/IR/BuiltinDecl.ml @@ -120,8 +120,6 @@ let __throw = create_procname "__throw" let __unwrap_exception = create_procname "__unwrap_exception" -let __variable_initialization = create_procname "__variable_initialization" - let abort = create_procname "abort" let exit = create_procname "exit" diff --git a/infer/src/IR/Sil.ml b/infer/src/IR/Sil.ml index 2d7206482..9f77f9318 100644 --- a/infer/src/IR/Sil.ml +++ b/infer/src/IR/Sil.ml @@ -32,6 +32,7 @@ type instr_metadata = | ExitScope of Var.t list * Location.t (** remove temporaries and dead program variables *) | Nullify of Pvar.t * Location.t (** nullify stack variable *) | Skip (** no-op *) + | VariableLifetimeBegins of Pvar.t * Typ.t * Location.t (** stack variable declared *) [@@deriving compare] (** An instruction. *) @@ -341,7 +342,7 @@ let d_offset_list (offl : offset list) = L.d_pp_with_pe pp_offset_list offl let pp_exp_typ pe f (e, t) = F.fprintf f "%a:%a" (pp_exp_printenv pe) e (Typ.pp pe) t let location_of_instr_metadata = function - | Abstract loc | ExitScope (_, loc) | Nullify (_, loc) -> + | Abstract loc | ExitScope (_, loc) | Nullify (_, loc) | VariableLifetimeBegins (_, _, loc) -> loc | Skip -> Location.dummy @@ -364,6 +365,8 @@ let exps_of_instr_metadata = function [Exp.Lvar pvar] | Skip -> [] + | VariableLifetimeBegins (pvar, _, _) -> + [Exp.Lvar pvar] (** get the expressions occurring in the instruction *) @@ -407,6 +410,9 @@ let pp_instr_metadata pe f = function F.fprintf f "NULLIFY(%a); [%a]" (Pvar.pp pe) pvar Location.pp loc | Skip -> F.pp_print_string f "SKIP" + | VariableLifetimeBegins (pvar, typ, loc) -> + F.fprintf f "VARIABLE_DECLARED(%a:%a); [%a]" Pvar.pp_value pvar (Typ.pp_full pe) typ + Location.pp loc let pp_instr ~print_types pe0 f instr = @@ -1311,7 +1317,7 @@ let instr_sub_ids ~sub_id_binders f instr = in let vars' = IList.map_changed ~equal:phys_equal ~f:sub_var vars in if phys_equal vars vars' then instr else Metadata (ExitScope (vars', loc)) - | Metadata (Abstract _ | Nullify _ | Skip) -> + | Metadata (Abstract _ | Nullify _ | Skip | VariableLifetimeBegins _) -> instr diff --git a/infer/src/IR/Sil.mli b/infer/src/IR/Sil.mli index 64f4bf2be..31ff0468e 100644 --- a/infer/src/IR/Sil.mli +++ b/infer/src/IR/Sil.mli @@ -30,6 +30,7 @@ type instr_metadata = | ExitScope of Var.t list * Location.t (** remove temporaries and dead program variables *) | Nullify of Pvar.t * Location.t (** nullify stack variable *) | Skip (** no-op *) + | VariableLifetimeBegins of Pvar.t * Typ.t * Location.t (** stack variable declared *) [@@deriving compare] (** An instruction. *) diff --git a/infer/src/backend/preanal.ml b/infer/src/backend/preanal.ml index 322d4fd75..ba7b82d8d 100644 --- a/infer/src/backend/preanal.ml +++ b/infer/src/backend/preanal.ml @@ -107,6 +107,8 @@ module NullifyTransferFunctions = struct (active_defs, to_nullify) | Sil.Store (Exp.Lvar lhs_pvar, _, _, _) -> (VarDomain.add (Var.of_pvar lhs_pvar) active_defs, to_nullify) + | Sil.Metadata (VariableLifetimeBegins (pvar, _, _)) -> + (VarDomain.add (Var.of_pvar pvar) active_defs, to_nullify) | Sil.Store _ | Prune _ | Metadata (Abstract _ | ExitScope _ | Skip) -> astate | Sil.Metadata (Nullify _) -> diff --git a/infer/src/biabduction/BuiltinDefn.ml b/infer/src/biabduction/BuiltinDefn.ml index 2a76c402b..e82406f51 100644 --- a/infer/src/biabduction/BuiltinDefn.ml +++ b/infer/src/biabduction/BuiltinDefn.ml @@ -940,8 +940,6 @@ let __throw = Builtin.register BuiltinDecl.__throw execute_skip let __unwrap_exception = Builtin.register BuiltinDecl.__unwrap_exception execute__unwrap_exception -let __variable_initialization = Builtin.register BuiltinDecl.__variable_initialization execute_skip - let abort = Builtin.register BuiltinDecl.abort execute_exit let exit = Builtin.register BuiltinDecl.exit execute_exit diff --git a/infer/src/biabduction/SymExec.ml b/infer/src/biabduction/SymExec.ml index a5b480be9..5fa0bc53d 100644 --- a/infer/src/biabduction/SymExec.ml +++ b/infer/src/biabduction/SymExec.ml @@ -1509,7 +1509,7 @@ let rec sym_exec exe_env tenv current_pdesc instr_ (prop_ : Prop.normal Prop.t) | Sil.Metadata (ExitScope (dead_vars, _)) -> let dead_ids = List.filter_map dead_vars ~f:Var.get_ident in ret_old_path [Prop.exist_quantify tenv dead_ids prop_] - | Sil.Metadata Skip -> + | Sil.Metadata (Skip | VariableLifetimeBegins _) -> ret_old_path [prop_] diff --git a/infer/src/bufferoverrun/bufferOverrunAnalysis.ml b/infer/src/bufferoverrun/bufferOverrunAnalysis.ml index 1a9bd8203..63ec0b96e 100644 --- a/infer/src/bufferoverrun/bufferOverrunAnalysis.ml +++ b/infer/src/bufferoverrun/bufferOverrunAnalysis.ml @@ -270,9 +270,17 @@ module TransferFunctions = struct let mem = Dom.Mem.add_stack_loc (Loc.of_id id) mem in L.d_printfln_escaped "/!\\ Call to non-const function %a" Exp.pp fun_exp ; Dom.Mem.add_unknown id ~location mem + | Metadata (VariableLifetimeBegins (pvar, typ, location)) when Pvar.is_global pvar -> + let model_env = + let pname = Procdesc.get_proc_name pdesc in + let node_hash = CFG.Node.hash node in + BoUtils.ModelEnv.mk_model_env pname ~node_hash location tenv integer_type_widths + in + let mem, _ = BoUtils.Exec.decl_local model_env (mem, 1) (Loc.of_pvar pvar, typ) in + mem | Metadata (ExitScope (dead_vars, _)) -> Dom.Mem.remove_temps (List.filter_map dead_vars ~f:Var.get_ident) mem - | Metadata (Abstract _ | Nullify _ | Skip) -> + | Metadata (Abstract _ | Nullify _ | Skip | VariableLifetimeBegins _) -> mem diff --git a/infer/src/bufferoverrun/bufferOverrunModels.ml b/infer/src/bufferoverrun/bufferOverrunModels.ml index 9f597b096..a25564d44 100644 --- a/infer/src/bufferoverrun/bufferOverrunModels.ml +++ b/infer/src/bufferoverrun/bufferOverrunModels.ml @@ -337,18 +337,6 @@ let inferbo_set_size e1 e2 = {exec; check} -let variable_initialization (e, typ) = - let exec model_env ~ret:_ mem = - match e with - | Exp.Lvar x when Pvar.is_global x -> - let mem, _ = BoUtils.Exec.decl_local model_env (mem, 1) (Loc.of_pvar x, typ) in - mem - | _ -> - mem - in - {exec; check= no_check} - - let model_by_value value id mem = Dom.Mem.add_stack (Loc.of_id id) value mem let cast exp = @@ -767,7 +755,6 @@ module Call = struct make_dispatcher [ -"__inferbo_min" <>$ capt_exp $+ capt_exp $!--> inferbo_min ; -"__inferbo_set_size" <>$ capt_exp $+ capt_exp $!--> inferbo_set_size - ; -"__variable_initialization" <>$ capt_arg $!--> variable_initialization ; -"__exit" <>--> bottom ; -"CFArrayCreate" <>$ any_arg $+ capt_exp $+ capt_exp $+...$--> CFArray.create_array ; -"CFArrayCreateCopy" <>$ any_arg $+ capt_exp $!--> CFArray.create_copy_array diff --git a/infer/src/checkers/Ownership.ml b/infer/src/checkers/Ownership.ml index 97ef8ca31..faf7f0ba0 100644 --- a/infer/src/checkers/Ownership.ml +++ b/infer/src/checkers/Ownership.ml @@ -329,9 +329,6 @@ module TransferFunctions (CFG : ProcCfg.S) = struct |> Domain.access_path_add_read (HilExp.AccessExpression.to_access_path lhs_access_exp) loc summary ) - | Call (_, Direct callee_pname, _, _, _) - when Typ.Procname.equal callee_pname BuiltinDecl.__variable_initialization -> - astate | Call (_, Direct callee_pname, [AccessExpression (Base lhs_base)], _, loc) when Typ.Procname.equal callee_pname BuiltinDecl.__delete -> (* TODO: support delete[], free, and (in some cases) std::move *) diff --git a/infer/src/checkers/Siof.ml b/infer/src/checkers/Siof.ml index 8bd6ebf35..6ecf73ee2 100644 --- a/infer/src/checkers/Siof.ml +++ b/infer/src/checkers/Siof.ml @@ -154,9 +154,6 @@ module TransferFunctions (CFG : ProcCfg.S) = struct | Store (_, _, exp, loc) (* except in the case above, consider all reads as dangerous *) | Prune (exp, loc, _, _) -> get_globals pdesc exp |> add_globals astate loc - | Call (_, Const (Cfun callee_pname), _, _, _) - when Typ.Procname.equal callee_pname BuiltinDecl.__variable_initialization -> - astate | Call (_, Const (Cfun callee_pname), _, _, _) when is_whitelisted callee_pname -> at_least_nonbottom astate | Call (_, Const (Cfun callee_pname), _, _, _) when is_modelled callee_pname -> diff --git a/infer/src/checkers/cost.ml b/infer/src/checkers/cost.ml index 955a18c37..03c4fbf8f 100644 --- a/infer/src/checkers/cost.ml +++ b/infer/src/checkers/cost.ml @@ -613,7 +613,7 @@ module InstrBasicCost = struct CostDomain.unit_cost_atomic_operation | _ -> CostDomain.zero_record ) - | Sil.Metadata (Abstract _ | ExitScope _ | Nullify _) -> + | Sil.Metadata (Abstract _ | ExitScope _ | Nullify _ | VariableLifetimeBegins _) -> CostDomain.zero_record diff --git a/infer/src/checkers/invariantModels.ml b/infer/src/checkers/invariantModels.ml index 24f854965..46fbd3a83 100644 --- a/infer/src/checkers/invariantModels.ml +++ b/infer/src/checkers/invariantModels.ml @@ -39,7 +39,6 @@ module ProcName = struct let open ProcnameDispatcher.ProcName in make_dispatcher [ +invariant_builtins <>--> VariantForHoisting - ; -"__variable_initialization" <>--> Invariant ; +(fun _ name -> BuiltinDecl.is_declared (Typ.Procname.from_string_c_fun name)) <>--> Variant ; +PatternMatch.implements_android "text.TextUtils" &:: "isEmpty" <>--> VariantForHoisting diff --git a/infer/src/clang/cTrans.ml b/infer/src/clang/cTrans.ml index 7e285d0ef..248539eb5 100644 --- a/infer/src/clang/cTrans.ml +++ b/infer/src/clang/cTrans.ml @@ -2248,7 +2248,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s mk_trans_result var_exp_typ {empty_control with root_nodes= trans_state.succ_nodes} ) | Some ie -> (* For init expr, translate how to compute it and assign to the var *) - let var_exp, _ = var_exp_typ in + let var_exp, var_typ = var_exp_typ in let context = trans_state.context in let sil_loc = CLocation.location_of_stmt_info context.translation_unit_context.source_file @@ -2276,18 +2276,10 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s in let pre_init_opt = match var_exp with - | Exp.Lvar _ -> - let sil_fun = Exp.Const (Const.Cfun BuiltinDecl.__variable_initialization) in - let ret_id = Ident.create_fresh Ident.knormal in + | Exp.Lvar pvar -> Some { empty_control with - instrs= - [ Sil.Call - ( (ret_id, Typ.void) - , sil_fun - , [var_exp_typ] - , sil_loc - , {CallFlags.default with cf_assign_last_arg= true} ) ] } + instrs= [Sil.Metadata (VariableLifetimeBegins (pvar, var_typ, sil_loc))] } | _ -> None in diff --git a/infer/src/nullsafe/typeCheck.ml b/infer/src/nullsafe/typeCheck.ml index 62b5eaa01..bfca7a43e 100644 --- a/infer/src/nullsafe/typeCheck.ml +++ b/infer/src/nullsafe/typeCheck.ml @@ -423,7 +423,7 @@ let typecheck_instr tenv calls_this checks (node : Procdesc.Node.t) idenv curr_p TypeState.remove_id id astate | Var.ProgramVar _ -> astate ) - | Sil.Metadata (Abstract _ | Nullify _ | Skip) -> + | Sil.Metadata (Abstract _ | Nullify _ | Skip | VariableLifetimeBegins _) -> typestate | Sil.Load (id, e, typ, loc) -> typecheck_expr_for_errors typestate e loc ; diff --git a/infer/src/pulse/Pulse.ml b/infer/src/pulse/Pulse.ml index f13c17d77..51db15245 100644 --- a/infer/src/pulse/Pulse.ml +++ b/infer/src/pulse/Pulse.ml @@ -157,6 +157,13 @@ module PulseTransferFunctions = struct | Metadata (ExitScope (vars, _)) -> let post = PulseOperations.remove_vars vars astate in [post] + | Metadata (VariableLifetimeBegins (pvar, _, location)) -> + let var = Var.of_pvar pvar in + let post = + PulseOperations.havoc_var [PulseTrace.VariableDeclaration location] var astate + |> PulseOperations.record_var_decl_location location var + in + [post] | Metadata (Abstract _ | Nullify _ | Skip) -> [astate] diff --git a/infer/src/pulse/PulseModels.ml b/infer/src/pulse/PulseModels.ml index 48c4b92b4..3c1bfd569 100644 --- a/infer/src/pulse/PulseModels.ml +++ b/infer/src/pulse/PulseModels.ml @@ -6,7 +6,6 @@ *) open! IStd open Result.Monad_infix -module L = Logging type exec_fun = Location.t @@ -31,20 +30,6 @@ module C = struct location deleted_access astate | _ -> Ok astate - - - let variable_initialization : model = - fun location ~ret:_ ~actuals astate -> - match actuals with - | [AccessExpression (AddressOf (Base (var, _)))] -> - PulseOperations.havoc_var [PulseTrace.VariableDeclaration location] var astate - |> PulseOperations.record_var_decl_location location var - |> Result.return - | _ -> - L.die InternalError - "The frontend is not supposed to produce __variable_initialization(e) where e is not of \ - the form `&exp`. Got [%a]." - (Pp.seq ~sep:", " HilExp.pp) actuals end module Cplusplus = struct @@ -202,7 +187,6 @@ let builtins_dispatcher = let builtins = [ (BuiltinDecl.__delete, Cplusplus.delete) ; (BuiltinDecl.__placement_new, Cplusplus.placement_new) - ; (BuiltinDecl.__variable_initialization, C.variable_initialization) ; (BuiltinDecl.abort, Misc.early_exit) ; (BuiltinDecl.exit, Misc.early_exit) ; (BuiltinDecl.free, C.free) 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 7cd0e916d..8d880bc35 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 @@ -124,23 +124,23 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&s:std::basic_string,std::allocator>) assign_last [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5,n$6); [line 20, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5); [line 20, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$8=_fun___variable_initialization(&x:int*) assign_last [line 19, column 3]\n n$7=_fun_std::shared_ptr::shared_ptr(&x:int**) [line 19, column 24]\n EXIT_SCOPE(n$7,n$8); [line 19, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:int**) [line 19, column 24]\n EXIT_SCOPE(n$6); [line 19, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$9=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$9); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$7); [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$10=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n EXIT_SCOPE(n$10); [line 17, 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 17, column 3]\n EXIT_SCOPE(n$8); [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$11=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$11); [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$9); [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -155,7 +155,7 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x:int) assign_last [line 15, column 3]\n n$3=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$3 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,x); [line 15, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$3=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$3 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$3,x); [line 15, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; @@ -669,7 +669,7 @@ digraph cfg { "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&ret:_Bool) assign_last [line 933, column 5]\n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n EXIT_SCOPE(n$3,n$4,n$5); [line 933, column 5]\n " shape="box"] +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ret:_Bool); [line 933, column 5]\n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n EXIT_SCOPE(n$3,n$4); [line 933, column 5]\n " shape="box"] "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; @@ -688,7 +688,7 @@ digraph cfg { "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&ret:_Bool) assign_last [line 938, column 5]\n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n EXIT_SCOPE(n$3,n$4,n$5); [line 938, column 5]\n " shape="box"] +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ret:_Bool); [line 938, column 5]\n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n EXIT_SCOPE(n$3,n$4); [line 938, column 5]\n " shape="box"] "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; 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 7cd0e916d..8d880bc35 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 @@ -124,23 +124,23 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&s:std::basic_string,std::allocator>) assign_last [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5,n$6); [line 20, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5); [line 20, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$8=_fun___variable_initialization(&x:int*) assign_last [line 19, column 3]\n n$7=_fun_std::shared_ptr::shared_ptr(&x:int**) [line 19, column 24]\n EXIT_SCOPE(n$7,n$8); [line 19, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:int**) [line 19, column 24]\n EXIT_SCOPE(n$6); [line 19, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$9=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$9); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$7); [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$10=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n EXIT_SCOPE(n$10); [line 17, 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 17, column 3]\n EXIT_SCOPE(n$8); [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$11=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$11); [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$9); [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -155,7 +155,7 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x:int) assign_last [line 15, column 3]\n n$3=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$3 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,x); [line 15, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$3=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$3 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$3,x); [line 15, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; @@ -669,7 +669,7 @@ digraph cfg { "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&ret:_Bool) assign_last [line 933, column 5]\n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n EXIT_SCOPE(n$3,n$4,n$5); [line 933, column 5]\n " shape="box"] +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ret:_Bool); [line 933, column 5]\n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n EXIT_SCOPE(n$3,n$4); [line 933, column 5]\n " shape="box"] "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; @@ -688,7 +688,7 @@ digraph cfg { "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&ret:_Bool) assign_last [line 938, column 5]\n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n EXIT_SCOPE(n$3,n$4,n$5); [line 938, column 5]\n " shape="box"] +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ret:_Bool); [line 938, column 5]\n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n EXIT_SCOPE(n$3,n$4); [line 938, column 5]\n " shape="box"] "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; 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 7cd0e916d..8d880bc35 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 @@ -124,23 +124,23 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&s:std::basic_string,std::allocator>) assign_last [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5,n$6); [line 20, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5); [line 20, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$8=_fun___variable_initialization(&x:int*) assign_last [line 19, column 3]\n n$7=_fun_std::shared_ptr::shared_ptr(&x:int**) [line 19, column 24]\n EXIT_SCOPE(n$7,n$8); [line 19, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:int**) [line 19, column 24]\n EXIT_SCOPE(n$6); [line 19, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$9=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$9); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$7); [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$10=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n EXIT_SCOPE(n$10); [line 17, 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 17, column 3]\n EXIT_SCOPE(n$8); [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$11=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$11); [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$9); [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -155,7 +155,7 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x:int) assign_last [line 15, column 3]\n n$3=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$3 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,x); [line 15, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$3=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$3 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$3,x); [line 15, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; @@ -669,7 +669,7 @@ digraph cfg { "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&ret:_Bool) assign_last [line 933, column 5]\n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n EXIT_SCOPE(n$3,n$4,n$5); [line 933, column 5]\n " shape="box"] +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ret:_Bool); [line 933, column 5]\n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n EXIT_SCOPE(n$3,n$4); [line 933, column 5]\n " shape="box"] "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; @@ -688,7 +688,7 @@ digraph cfg { "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&ret:_Bool) assign_last [line 938, column 5]\n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n EXIT_SCOPE(n$3,n$4,n$5); [line 938, column 5]\n " shape="box"] +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ret:_Bool); [line 938, column 5]\n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n EXIT_SCOPE(n$3,n$4); [line 938, column 5]\n " shape="box"] "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; 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 7cd0e916d..8d880bc35 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 @@ -124,23 +124,23 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&s:std::basic_string,std::allocator>) assign_last [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5,n$6); [line 20, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5); [line 20, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$8=_fun___variable_initialization(&x:int*) assign_last [line 19, column 3]\n n$7=_fun_std::shared_ptr::shared_ptr(&x:int**) [line 19, column 24]\n EXIT_SCOPE(n$7,n$8); [line 19, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:int**) [line 19, column 24]\n EXIT_SCOPE(n$6); [line 19, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$9=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$9); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$7); [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$10=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n EXIT_SCOPE(n$10); [line 17, 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 17, column 3]\n EXIT_SCOPE(n$8); [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$11=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$11); [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$9); [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -155,7 +155,7 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x:int) assign_last [line 15, column 3]\n n$3=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$3 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,x); [line 15, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$3=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$3 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$3,x); [line 15, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; @@ -669,7 +669,7 @@ digraph cfg { "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&ret:_Bool) assign_last [line 933, column 5]\n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n EXIT_SCOPE(n$3,n$4,n$5); [line 933, column 5]\n " shape="box"] +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ret:_Bool); [line 933, column 5]\n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n EXIT_SCOPE(n$3,n$4); [line 933, column 5]\n " shape="box"] "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; @@ -688,7 +688,7 @@ digraph cfg { "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&ret:_Bool) assign_last [line 938, column 5]\n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n EXIT_SCOPE(n$3,n$4,n$5); [line 938, column 5]\n " shape="box"] +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ret:_Bool); [line 938, column 5]\n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n EXIT_SCOPE(n$3,n$4); [line 938, column 5]\n " shape="box"] "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; diff --git a/infer/tests/build_systems/diff/fixed.exp b/infer/tests/build_systems/diff/fixed.exp index 676dc0dd8..0052b5912 100644 --- a/infer/tests/build_systems/diff/fixed.exp +++ b/infer/tests/build_systems/diff/fixed.exp @@ -1 +1 @@ -src/hello.c, test3, 5, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test3(),Taking true branch,return from a call to test3] +src/hello.c, test3, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test3(),Taking true branch] diff --git a/infer/tests/build_systems/diff_gen_build_script/introduced.exp b/infer/tests/build_systems/diff_gen_build_script/introduced.exp index 79594be85..1df62614f 100644 --- a/infer/tests/build_systems/diff_gen_build_script/introduced.exp +++ b/infer/tests/build_systems/diff_gen_build_script/introduced.exp @@ -1 +1 @@ -src/some_different_bugs.c, test3, 5, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test3(),Taking true branch,return from a call to test3] +src/some_different_bugs.c, test3, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test3(),Taking true branch] diff --git a/infer/tests/build_systems/objc_missing_fld/issues.exp b/infer/tests/build_systems/objc_missing_fld/issues.exp index 9a33160c3..4fce68946 100644 --- a/infer/tests/build_systems/objc_missing_fld/issues.exp +++ b/infer/tests/build_systems/objc_missing_fld/issues.exp @@ -1,3 +1,3 @@ -build_systems/codetoanalyze/objc_missing_fld/A.m, badOnlyOneNDA, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure badOnlyOneNDA(),start of procedure predA(),start of procedure implOnlyFn:,return from a call to A::implOnlyFn:,Executing synthesized getter delegate,Condition is false,return from a call to predA,Taking false branch] +build_systems/codetoanalyze/objc_missing_fld/A.m, badOnlyOneNDA, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure badOnlyOneNDA(),start of procedure predA(),start of procedure implOnlyFn:,return from a call to A::implOnlyFn:,Executing synthesized getter delegate,Condition is true,return from a call to predA,Taking false branch] build_systems/codetoanalyze/objc_missing_fld/B.m, badOnlyOneNDB, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure badOnlyOneNDB(),Taking true branch] build_systems/codetoanalyze/objc_missing_fld/B.m, badOnlyOneNDB, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure badOnlyOneNDB(),Taking false branch] diff --git a/infer/tests/codetoanalyze/c/errors/issues.exp b/infer/tests/codetoanalyze/c/errors/issues.exp index 009e0a563..c5710237f 100644 --- a/infer/tests/codetoanalyze/c/errors/issues.exp +++ b/infer/tests/codetoanalyze/c/errors/issues.exp @@ -32,7 +32,7 @@ codetoanalyze/c/errors/memory_leaks/cleanup_attribute.c, FP_cleanup_string_good, codetoanalyze/c/errors/memory_leaks/test.c, common_realloc_leak, 3, MEMORY_LEAK, no_bucket codetoanalyze/c/errors/memory_leaks/test.c, common_realloc_leak2, 3, MEMORY_LEAK, no_bucket codetoanalyze/c/errors/memory_leaks/test.c, common_realloc_leak2, 5, NULL_TEST_AFTER_DEREFERENCE, no_bucket -codetoanalyze/c/errors/memory_leaks/test.c, conditional_last_instruction, 5, MEMORY_LEAK, no_bucket +codetoanalyze/c/errors/memory_leaks/test.c, conditional_last_instruction, 2, MEMORY_LEAK, no_bucket codetoanalyze/c/errors/memory_leaks/test.c, malloc_sizeof_value_leak_bad, 7, MEMORY_LEAK, no_bucket codetoanalyze/c/errors/memory_leaks/test.c, malloc_sizeof_value_leak_bad, 8, ARRAY_OUT_OF_BOUNDS_L3, no_bucket codetoanalyze/c/errors/memory_leaks/test.c, simple_leak, 2, MEMORY_LEAK, no_bucket @@ -74,7 +74,7 @@ codetoanalyze/c/errors/null_dereference/getc.c, crash_rewind, 4, NULL_DEREFERENC codetoanalyze/c/errors/null_dereference/getc.c, crash_ungetc, 5, NULL_DEREFERENCE, B1 codetoanalyze/c/errors/null_dereference/getc.c, crash_vfprintf, 5, NULL_DEREFERENCE, B1 codetoanalyze/c/errors/null_dereference/getcwd.c, getcwd_no_buf_no_check_bad, 2, NULL_DEREFERENCE, B1 -codetoanalyze/c/errors/null_dereference/getcwd.c, getcwd_no_buf_no_free_bad, 6, MEMORY_LEAK, no_bucket +codetoanalyze/c/errors/null_dereference/getcwd.c, getcwd_no_buf_no_free_bad, 3, MEMORY_LEAK, no_bucket codetoanalyze/c/errors/null_dereference/getcwd.c, getcwd_no_check_bad, 3, NULL_DEREFERENCE, B1 codetoanalyze/c/errors/null_dereference/issue_680.c, null_ptr_deref2_bad, 0, NULL_DEREFERENCE, B1 codetoanalyze/c/errors/null_dereference/issue_680.c, null_ptr_deref_bad, 0, NULL_DEREFERENCE, B1 diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/compound_assignment.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/compound_assignment.c.dot index a5afa588c..69f5457c4 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/compound_assignment.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/compound_assignment.c.dot @@ -35,27 +35,27 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n n$6=_fun___variable_initialization(&b:int) assign_last [line 14, column 3]\n *&b:int=1 [line 14, column 3]\n EXIT_SCOPE(n$6); [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(b:int); [line 14, column 3]\n *&b:int=1 [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: MulAssign \n n$7=*&x:double [line 13, column 3]\n *&x:double=(n$7 * 1.) [line 13, column 3]\n NULLIFY(&x); [line 13, column 3]\n EXIT_SCOPE(n$7,x); [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: MulAssign \n n$6=*&x:double [line 13, column 3]\n *&x:double=(n$6 * 1.) [line 13, column 3]\n NULLIFY(&x); [line 13, column 3]\n EXIT_SCOPE(n$6,x); [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: BinaryOperatorStmt: DivAssign \n n$8=*&x:double [line 12, column 3]\n *&x:double=(n$8 / 1.) [line 12, column 3]\n EXIT_SCOPE(n$8); [line 12, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: BinaryOperatorStmt: DivAssign \n n$7=*&x:double [line 12, column 3]\n *&x:double=(n$7 / 1.) [line 12, column 3]\n EXIT_SCOPE(n$7); [line 12, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: SubAssign \n n$9=*&x:double [line 11, column 3]\n *&x:double=(n$9 - 1.) [line 11, column 3]\n EXIT_SCOPE(n$9); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: SubAssign \n n$8=*&x:double [line 11, column 3]\n *&x:double=(n$8 - 1.) [line 11, column 3]\n EXIT_SCOPE(n$8); [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: BinaryOperatorStmt: AddAssign \n n$10=*&x:double [line 10, column 3]\n *&x:double=(n$10 + 1.) [line 10, column 3]\n EXIT_SCOPE(n$10); [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 10, column 3]\n *&x:double=(n$9 + 1.) [line 10, column 3]\n EXIT_SCOPE(n$9); [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n n$11=_fun___variable_initialization(&x:double) assign_last [line 9, column 3]\n *&x:double=1. [line 9, column 3]\n EXIT_SCOPE(n$11); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x:double); [line 9, column 3]\n *&x:double=1. [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot index 0fcdf9df0..fd0f945e6 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot @@ -11,15 +11,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$0=_fun___variable_initialization(&overflow_int:int) assign_last [line 18, column 3]\n *&overflow_int:int=9223372036854775808 [line 18, column 3]\n NULLIFY(&overflow_int); [line 18, column 3]\n EXIT_SCOPE(n$0,overflow_int); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(overflow_int:int); [line 18, column 3]\n *&overflow_int:int=9223372036854775808 [line 18, column 3]\n NULLIFY(&overflow_int); [line 18, column 3]\n EXIT_SCOPE(overflow_int); [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$1=_fun___variable_initialization(&large_int:int) assign_last [line 17, column 3]\n *&large_int:int=9223372036854775807 [line 17, column 3]\n NULLIFY(&large_int); [line 17, column 3]\n EXIT_SCOPE(n$1,large_int); [line 17, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(large_int:int); [line 17, column 3]\n *&large_int:int=9223372036854775807 [line 17, column 3]\n NULLIFY(&large_int); [line 17, column 3]\n EXIT_SCOPE(large_int); [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n n$2=_fun___variable_initialization(&#GB$main.kDuration:int const ) assign_last [line 15, column 3]\n *&#GB$main.kDuration:int=3 [line 15, column 3]\n EXIT_SCOPE(n$2); [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n VARIABLE_DECLARED(#GB$main.kDuration:int const ); [line 15, column 3]\n *&#GB$main.kDuration:int=3 [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/plus_expr.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/plus_expr.c.dot index e158186b5..1b17ac66c 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/plus_expr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/plus_expr.c.dot @@ -11,11 +11,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&z:int) assign_last [line 10, column 3]\n *&z:int=3 [line 10, column 3]\n EXIT_SCOPE(n$2); [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(z:int); [line 10, column 3]\n *&z:int=3 [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&x:int) assign_last [line 9, column 3]\n *&x:int=2 [line 9, column 3]\n EXIT_SCOPE(n$3); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=2 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/unary.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/unary.c.dot index 4c8c9c2a9..efa495e8e 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/unary.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/unary.c.dot @@ -55,7 +55,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n n$13=_fun___variable_initialization(&x:int) assign_last [line 9, column 3]\n *&x:int=1 [line 9, column 3]\n EXIT_SCOPE(n$13); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=1 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; 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 bac1bffdf..b6dab32f0 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 @@ -43,7 +43,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n n$4=_fun___variable_initialization(&x:int) assign_last [line 11, column 3]\n *&x:int=3 [line 11, column 3]\n EXIT_SCOPE(n$4); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int); [line 11, column 3]\n *&x:int=3 [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot b/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot index 2ba701733..a20e666fc 100644 --- a/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot @@ -11,15 +11,15 @@ digraph cfg { "comma_1.bafaed8336991f5a2e612ee2580c1506_3" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_2" ; -"comma_1.bafaed8336991f5a2e612ee2580c1506_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&d:int) assign_last [line 10, column 3]\n n$1=*&a:int [line 10, column 16]\n *&a:int=(n$1 * 2) [line 10, column 12]\n n$2=*&a:int [line 10, column 12]\n n$3=*&a:int [line 10, column 31]\n *&a:int=(n$3 + 1) [line 10, column 31]\n *&b:int=(7 * n$3) [line 10, column 23]\n n$4=*&b:int [line 10, column 23]\n *&d:int=n$4 [line 10, column 3]\n NULLIFY(&a); [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,a,b); [line 10, column 3]\n " shape="box"] +"comma_1.bafaed8336991f5a2e612ee2580c1506_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 10, column 3]\n n$1=*&a:int [line 10, column 16]\n *&a:int=(n$1 * 2) [line 10, column 12]\n n$2=*&a:int [line 10, column 12]\n n$3=*&a:int [line 10, column 31]\n *&a:int=(n$3 + 1) [line 10, column 31]\n *&b:int=(7 * n$3) [line 10, column 23]\n n$4=*&b:int [line 10, column 23]\n *&d:int=n$4 [line 10, column 3]\n NULLIFY(&a); [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,a,b); [line 10, column 3]\n " shape="box"] "comma_1.bafaed8336991f5a2e612ee2580c1506_4" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_3" ; -"comma_1.bafaed8336991f5a2e612ee2580c1506_5" [label="5: DeclStmt \n n$6=_fun___variable_initialization(&b:int) assign_last [line 9, column 3]\n *&b:int=7 [line 9, column 3]\n NULLIFY(&b); [line 9, column 3]\n EXIT_SCOPE(n$6,b); [line 9, column 3]\n " shape="box"] +"comma_1.bafaed8336991f5a2e612ee2580c1506_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 9, column 3]\n *&b:int=7 [line 9, column 3]\n NULLIFY(&b); [line 9, column 3]\n EXIT_SCOPE(b); [line 9, column 3]\n " shape="box"] "comma_1.bafaed8336991f5a2e612ee2580c1506_5" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_4" ; -"comma_1.bafaed8336991f5a2e612ee2580c1506_6" [label="6: DeclStmt \n n$7=_fun___variable_initialization(&a:int) assign_last [line 9, column 3]\n *&a:int=9 [line 9, column 3]\n EXIT_SCOPE(n$7); [line 9, column 3]\n " shape="box"] +"comma_1.bafaed8336991f5a2e612ee2580c1506_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=9 [line 9, column 3]\n " shape="box"] "comma_1.bafaed8336991f5a2e612ee2580c1506_6" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_5" ; @@ -34,15 +34,15 @@ digraph cfg { "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_2" ; -"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" [label="4: DeclStmt \n n$7=_fun___variable_initialization(&d:int) assign_last [line 16, column 3]\n n$1=*&a:int [line 16, column 16]\n *&a:int=(n$1 * 2) [line 16, column 12]\n n$2=*&a:int [line 16, column 12]\n n$3=*&a:int [line 16, column 31]\n *&a:int=(n$3 + 1) [line 16, column 31]\n *&b:int=(7 * n$3) [line 16, column 23]\n n$4=*&b:int [line 16, column 23]\n n$5=*&a:int [line 16, column 36]\n n$6=*&b:int [line 16, column 40]\n *&d:int=((n$5 + n$6) + 9) [line 16, column 3]\n NULLIFY(&b); [line 16, column 3]\n NULLIFY(&a); [line 16, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,n$7,b,a); [line 16, column 3]\n " shape="box"] +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 16, column 3]\n n$1=*&a:int [line 16, column 16]\n *&a:int=(n$1 * 2) [line 16, column 12]\n n$2=*&a:int [line 16, column 12]\n n$3=*&a:int [line 16, column 31]\n *&a:int=(n$3 + 1) [line 16, column 31]\n *&b:int=(7 * n$3) [line 16, column 23]\n n$4=*&b:int [line 16, column 23]\n n$5=*&a:int [line 16, column 36]\n n$6=*&b:int [line 16, column 40]\n *&d:int=((n$5 + n$6) + 9) [line 16, column 3]\n NULLIFY(&b); [line 16, column 3]\n NULLIFY(&a); [line 16, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,b,a); [line 16, column 3]\n " shape="box"] "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" ; -"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_5" [label="5: DeclStmt \n n$8=_fun___variable_initialization(&b:int) assign_last [line 15, column 3]\n *&b:int=7 [line 15, column 3]\n NULLIFY(&b); [line 15, column 3]\n EXIT_SCOPE(n$8,b); [line 15, column 3]\n " shape="box"] +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 15, column 3]\n *&b:int=7 [line 15, column 3]\n NULLIFY(&b); [line 15, column 3]\n EXIT_SCOPE(b); [line 15, column 3]\n " shape="box"] "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_5" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" ; -"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_6" [label="6: DeclStmt \n n$9=_fun___variable_initialization(&a:int) assign_last [line 15, column 3]\n *&a:int=9 [line 15, column 3]\n EXIT_SCOPE(n$9); [line 15, column 3]\n " shape="box"] +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 15, column 3]\n *&a:int=9 [line 15, column 3]\n " shape="box"] "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_6" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_5" ; @@ -57,19 +57,19 @@ digraph cfg { "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_2" ; -"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" [label="4: DeclStmt \n n$9=_fun___variable_initialization(&d:int) assign_last [line 22, column 3]\n n$1=*&a:int [line 22, column 16]\n *&a:int=(n$1 * 2) [line 22, column 12]\n n$2=*&a:int [line 22, column 12]\n n$3=*&a:int [line 22, column 31]\n *&a:int=(n$3 + 1) [line 22, column 31]\n *&b:int=(7 * n$3) [line 22, column 23]\n n$4=*&b:int [line 22, column 23]\n n$5=*&a:int [line 22, column 40]\n n$6=*&b:int [line 22, column 44]\n *&c:int=((n$5 + n$6) + 9) [line 22, column 36]\n n$7=*&c:int [line 22, column 36]\n n$8=*&c:int [line 22, column 51]\n *&d:int=n$8 [line 22, column 3]\n NULLIFY(&c); [line 22, column 3]\n NULLIFY(&b); [line 22, column 3]\n NULLIFY(&a); [line 22, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,c,b,a); [line 22, column 3]\n " shape="box"] +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 22, column 3]\n n$1=*&a:int [line 22, column 16]\n *&a:int=(n$1 * 2) [line 22, column 12]\n n$2=*&a:int [line 22, column 12]\n n$3=*&a:int [line 22, column 31]\n *&a:int=(n$3 + 1) [line 22, column 31]\n *&b:int=(7 * n$3) [line 22, column 23]\n n$4=*&b:int [line 22, column 23]\n n$5=*&a:int [line 22, column 40]\n n$6=*&b:int [line 22, column 44]\n *&c:int=((n$5 + n$6) + 9) [line 22, column 36]\n n$7=*&c:int [line 22, column 36]\n n$8=*&c:int [line 22, column 51]\n *&d:int=n$8 [line 22, column 3]\n NULLIFY(&c); [line 22, column 3]\n NULLIFY(&b); [line 22, column 3]\n NULLIFY(&a); [line 22, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,c,b,a); [line 22, column 3]\n " shape="box"] "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" ; -"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" [label="5: DeclStmt \n n$10=_fun___variable_initialization(&c:int) assign_last [line 21, column 3]\n *&c:int=3 [line 21, column 3]\n NULLIFY(&c); [line 21, column 3]\n EXIT_SCOPE(n$10,c); [line 21, column 3]\n " shape="box"] +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 21, column 3]\n *&c:int=3 [line 21, column 3]\n NULLIFY(&c); [line 21, column 3]\n EXIT_SCOPE(c); [line 21, column 3]\n " shape="box"] "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" ; -"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_6" [label="6: DeclStmt \n n$11=_fun___variable_initialization(&b:int) assign_last [line 21, column 3]\n *&b:int=7 [line 21, column 3]\n NULLIFY(&b); [line 21, column 3]\n EXIT_SCOPE(n$11,b); [line 21, column 3]\n " shape="box"] +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 21, column 3]\n *&b:int=7 [line 21, column 3]\n NULLIFY(&b); [line 21, column 3]\n EXIT_SCOPE(b); [line 21, column 3]\n " shape="box"] "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_6" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" ; -"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_7" [label="7: DeclStmt \n n$12=_fun___variable_initialization(&a:int) assign_last [line 21, column 3]\n *&a:int=9 [line 21, column 3]\n EXIT_SCOPE(n$12); [line 21, column 3]\n " shape="box"] +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 21, column 3]\n *&a:int=9 [line 21, column 3]\n " shape="box"] "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_7" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_6" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/binary_operator.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/binary_operator.c.dot index fbc18c6b9..f3b95c45b 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/binary_operator.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/binary_operator.c.dot @@ -1,6 +1,6 @@ /* @generated */ digraph cfg { -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_1" [label="1: Start binop_with_side_effects\nFormals: z:int\nLocals: y3:int 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int y2:int 0$?%__sil_tmpSIL_temp_conditional___n$9:int y1:int 0$?%__sil_tmpSIL_temp_conditional___n$14:int 0$?%__sil_tmpSIL_temp_conditional___n$19:int 0$?%__sil_tmpSIL_temp_conditional___n$23:int x3:int 0$?%__sil_tmpSIL_temp_conditional___n$27:int x2:int 0$?%__sil_tmpSIL_temp_conditional___n$31:int x1:int \n " color=yellow style=filled] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_1" [label="1: Start binop_with_side_effects\nFormals: z:int\nLocals: y3:int 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int y2:int 0$?%__sil_tmpSIL_temp_conditional___n$8:int y1:int 0$?%__sil_tmpSIL_temp_conditional___n$12:int 0$?%__sil_tmpSIL_temp_conditional___n$16:int 0$?%__sil_tmpSIL_temp_conditional___n$20:int x3:int 0$?%__sil_tmpSIL_temp_conditional___n$24:int x2:int 0$?%__sil_tmpSIL_temp_conditional___n$28:int x1:int \n " color=yellow style=filled] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_1" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_44" ; @@ -49,7 +49,7 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_12" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_8" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_13" [label="13: DeclStmt \n n$8=_fun___variable_initialization(&y3:int) assign_last [line 24, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 24, column 13]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 24, column 27]\n *&y3:int=(n$3 + n$7) [line 24, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 24, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 24, column 3]\n NULLIFY(&y3); [line 24, column 3]\n EXIT_SCOPE(n$3,n$7,n$8,0$?%__sil_tmpSIL_temp_conditional___n$0,0$?%__sil_tmpSIL_temp_conditional___n$4,y3); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_13" [label="13: DeclStmt \n VARIABLE_DECLARED(y3:int); [line 24, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 24, column 13]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 24, column 27]\n *&y3:int=(n$3 + n$7) [line 24, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 24, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 24, column 3]\n NULLIFY(&y3); [line 24, column 3]\n EXIT_SCOPE(n$3,n$7,0$?%__sil_tmpSIL_temp_conditional___n$0,0$?%__sil_tmpSIL_temp_conditional___n$4,y3); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_13" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_2" ; @@ -65,15 +65,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_16" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_18" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_17" [label="17: ConditionalStmt Branch \n n$10=*&z:int [line 22, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:int=n$10 [line 22, column 18]\n EXIT_SCOPE(n$10); [line 22, column 18]\n APPLY_ABSTRACTION; [line 22, column 18]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_17" [label="17: ConditionalStmt Branch \n n$9=*&z:int [line 22, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int=n$9 [line 22, column 18]\n EXIT_SCOPE(n$9); [line 22, column 18]\n APPLY_ABSTRACTION; [line 22, column 18]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_17" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_14" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_18" [label="18: ConditionalStmt Branch \n n$11=*&z:int [line 22, column 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:int=n$11 [line 22, column 18]\n EXIT_SCOPE(n$11); [line 22, column 18]\n APPLY_ABSTRACTION; [line 22, column 18]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_18" [label="18: ConditionalStmt Branch \n n$10=*&z:int [line 22, column 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int=n$10 [line 22, column 18]\n EXIT_SCOPE(n$10); [line 22, column 18]\n APPLY_ABSTRACTION; [line 22, column 18]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_18" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_14" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_19" [label="19: DeclStmt \n n$13=_fun___variable_initialization(&y2:int) assign_last [line 22, column 3]\n n$12=*&0$?%__sil_tmpSIL_temp_conditional___n$9:int [line 22, column 18]\n *&y2:int=(77 + n$12) [line 22, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$9); [line 22, column 3]\n NULLIFY(&y2); [line 22, column 3]\n EXIT_SCOPE(n$12,n$13,0$?%__sil_tmpSIL_temp_conditional___n$9,y2); [line 22, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_19" [label="19: DeclStmt \n VARIABLE_DECLARED(y2:int); [line 22, column 3]\n n$11=*&0$?%__sil_tmpSIL_temp_conditional___n$8:int [line 22, column 18]\n *&y2:int=(77 + n$11) [line 22, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$8); [line 22, column 3]\n NULLIFY(&y2); [line 22, column 3]\n EXIT_SCOPE(n$11,0$?%__sil_tmpSIL_temp_conditional___n$8,y2); [line 22, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_19" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_4" ; @@ -90,15 +90,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_22" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_24" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_23" [label="23: ConditionalStmt Branch \n n$15=*&z:int [line 20, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$14:int=n$15 [line 20, column 13]\n EXIT_SCOPE(n$15); [line 20, column 13]\n APPLY_ABSTRACTION; [line 20, column 13]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_23" [label="23: ConditionalStmt Branch \n n$13=*&z:int [line 20, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$12:int=n$13 [line 20, column 13]\n EXIT_SCOPE(n$13); [line 20, column 13]\n APPLY_ABSTRACTION; [line 20, column 13]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_23" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_20" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_24" [label="24: ConditionalStmt Branch \n n$16=*&z:int [line 20, column 21]\n *&0$?%__sil_tmpSIL_temp_conditional___n$14:int=n$16 [line 20, column 13]\n EXIT_SCOPE(n$16); [line 20, column 13]\n APPLY_ABSTRACTION; [line 20, column 13]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_24" [label="24: ConditionalStmt Branch \n n$14=*&z:int [line 20, column 21]\n *&0$?%__sil_tmpSIL_temp_conditional___n$12:int=n$14 [line 20, column 13]\n EXIT_SCOPE(n$14); [line 20, column 13]\n APPLY_ABSTRACTION; [line 20, column 13]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_24" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_20" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_25" [label="25: DeclStmt \n n$18=_fun___variable_initialization(&y1:int) assign_last [line 20, column 3]\n n$17=*&0$?%__sil_tmpSIL_temp_conditional___n$14:int [line 20, column 13]\n *&y1:int=(n$17 + 77) [line 20, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$14); [line 20, column 3]\n NULLIFY(&y1); [line 20, column 3]\n EXIT_SCOPE(n$17,n$18,0$?%__sil_tmpSIL_temp_conditional___n$14,y1); [line 20, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_25" [label="25: DeclStmt \n VARIABLE_DECLARED(y1:int); [line 20, column 3]\n n$15=*&0$?%__sil_tmpSIL_temp_conditional___n$12:int [line 20, column 13]\n *&y1:int=(n$15 + 77) [line 20, column 3]\n NULLIFY(&y1); [line 20, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$12); [line 20, column 3]\n EXIT_SCOPE(n$15,y1,0$?%__sil_tmpSIL_temp_conditional___n$12); [line 20, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_25" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_15" ; @@ -116,11 +116,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_28" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_30" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_29" [label="29: ConditionalStmt Branch \n n$20=*&z:int [line 17, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$19:int=n$20 [line 17, column 9]\n EXIT_SCOPE(n$20); [line 17, column 9]\n APPLY_ABSTRACTION; [line 17, column 9]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_29" [label="29: ConditionalStmt Branch \n n$17=*&z:int [line 17, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$16:int=n$17 [line 17, column 9]\n EXIT_SCOPE(n$17); [line 17, column 9]\n APPLY_ABSTRACTION; [line 17, column 9]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_29" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_26" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_30" [label="30: ConditionalStmt Branch \n n$21=*&z:int [line 17, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$19:int=n$21 [line 17, column 9]\n EXIT_SCOPE(n$21); [line 17, column 9]\n APPLY_ABSTRACTION; [line 17, column 9]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_30" [label="30: ConditionalStmt Branch \n n$18=*&z:int [line 17, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$16:int=n$18 [line 17, column 9]\n EXIT_SCOPE(n$18); [line 17, column 9]\n APPLY_ABSTRACTION; [line 17, column 9]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_30" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_26" ; @@ -136,15 +136,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_33" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_35" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_34" [label="34: ConditionalStmt Branch \n n$24=*&z:int [line 17, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$23:int=n$24 [line 17, column 23]\n EXIT_SCOPE(n$24); [line 17, column 23]\n APPLY_ABSTRACTION; [line 17, column 23]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_34" [label="34: ConditionalStmt Branch \n n$21=*&z:int [line 17, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$20:int=n$21 [line 17, column 23]\n EXIT_SCOPE(n$21); [line 17, column 23]\n APPLY_ABSTRACTION; [line 17, column 23]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_34" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_31" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_35" [label="35: ConditionalStmt Branch \n n$25=*&z:int [line 17, column 31]\n *&0$?%__sil_tmpSIL_temp_conditional___n$23:int=n$25 [line 17, column 23]\n EXIT_SCOPE(n$25); [line 17, column 23]\n APPLY_ABSTRACTION; [line 17, column 23]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_35" [label="35: ConditionalStmt Branch \n n$22=*&z:int [line 17, column 31]\n *&0$?%__sil_tmpSIL_temp_conditional___n$20:int=n$22 [line 17, column 23]\n EXIT_SCOPE(n$22); [line 17, column 23]\n APPLY_ABSTRACTION; [line 17, column 23]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_35" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_31" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_36" [label="36: BinaryOperatorStmt: Assign \n n$22=*&0$?%__sil_tmpSIL_temp_conditional___n$19:int [line 17, column 9]\n n$26=*&0$?%__sil_tmpSIL_temp_conditional___n$23:int [line 17, column 23]\n *&x3:int=(n$22 + n$26) [line 17, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$23); [line 17, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$19); [line 17, column 3]\n NULLIFY(&x3); [line 17, column 3]\n EXIT_SCOPE(n$22,n$26,0$?%__sil_tmpSIL_temp_conditional___n$23,0$?%__sil_tmpSIL_temp_conditional___n$19,x3); [line 17, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_36" [label="36: BinaryOperatorStmt: Assign \n n$19=*&0$?%__sil_tmpSIL_temp_conditional___n$16:int [line 17, column 9]\n n$23=*&0$?%__sil_tmpSIL_temp_conditional___n$20:int [line 17, column 23]\n *&x3:int=(n$19 + n$23) [line 17, column 3]\n NULLIFY(&x3); [line 17, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$16); [line 17, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$20); [line 17, column 3]\n EXIT_SCOPE(n$19,n$23,x3,0$?%__sil_tmpSIL_temp_conditional___n$16,0$?%__sil_tmpSIL_temp_conditional___n$20); [line 17, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_36" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_21" ; @@ -161,15 +161,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_39" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_41" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_40" [label="40: ConditionalStmt Branch \n n$28=*&z:int [line 14, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$27:int=n$28 [line 14, column 14]\n EXIT_SCOPE(n$28); [line 14, column 14]\n APPLY_ABSTRACTION; [line 14, column 14]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_40" [label="40: ConditionalStmt Branch \n n$25=*&z:int [line 14, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$24:int=n$25 [line 14, column 14]\n EXIT_SCOPE(n$25); [line 14, column 14]\n APPLY_ABSTRACTION; [line 14, column 14]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_40" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_37" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_41" [label="41: ConditionalStmt Branch \n n$29=*&z:int [line 14, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$27:int=n$29 [line 14, column 14]\n EXIT_SCOPE(n$29); [line 14, column 14]\n APPLY_ABSTRACTION; [line 14, column 14]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_41" [label="41: ConditionalStmt Branch \n n$26=*&z:int [line 14, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$24:int=n$26 [line 14, column 14]\n EXIT_SCOPE(n$26); [line 14, column 14]\n APPLY_ABSTRACTION; [line 14, column 14]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_41" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_37" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_42" [label="42: BinaryOperatorStmt: Assign \n n$30=*&0$?%__sil_tmpSIL_temp_conditional___n$27:int [line 14, column 14]\n *&x2:int=(77 + n$30) [line 14, column 3]\n NULLIFY(&x2); [line 14, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$27); [line 14, column 3]\n EXIT_SCOPE(n$30,x2,0$?%__sil_tmpSIL_temp_conditional___n$27); [line 14, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_42" [label="42: BinaryOperatorStmt: Assign \n n$27=*&0$?%__sil_tmpSIL_temp_conditional___n$24:int [line 14, column 14]\n *&x2:int=(77 + n$27) [line 14, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$24); [line 14, column 3]\n NULLIFY(&x2); [line 14, column 3]\n EXIT_SCOPE(n$27,0$?%__sil_tmpSIL_temp_conditional___n$24,x2); [line 14, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_42" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_27" ; @@ -186,15 +186,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_45" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_47" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_46" [label="46: ConditionalStmt Branch \n n$32=*&z:int [line 11, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$31:int=n$32 [line 11, column 9]\n EXIT_SCOPE(n$32); [line 11, column 9]\n APPLY_ABSTRACTION; [line 11, column 9]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_46" [label="46: ConditionalStmt Branch \n n$29=*&z:int [line 11, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$28:int=n$29 [line 11, column 9]\n EXIT_SCOPE(n$29); [line 11, column 9]\n APPLY_ABSTRACTION; [line 11, column 9]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_46" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_43" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_47" [label="47: ConditionalStmt Branch \n n$33=*&z:int [line 11, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$31:int=n$33 [line 11, column 9]\n EXIT_SCOPE(n$33); [line 11, column 9]\n APPLY_ABSTRACTION; [line 11, column 9]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_47" [label="47: ConditionalStmt Branch \n n$30=*&z:int [line 11, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$28:int=n$30 [line 11, column 9]\n EXIT_SCOPE(n$30); [line 11, column 9]\n APPLY_ABSTRACTION; [line 11, column 9]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_47" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_43" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_48" [label="48: BinaryOperatorStmt: Assign \n n$34=*&0$?%__sil_tmpSIL_temp_conditional___n$31:int [line 11, column 9]\n *&x1:int=(n$34 + 77) [line 11, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$31); [line 11, column 3]\n NULLIFY(&x1); [line 11, column 3]\n EXIT_SCOPE(n$34,0$?%__sil_tmpSIL_temp_conditional___n$31,x1); [line 11, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_48" [label="48: BinaryOperatorStmt: Assign \n n$31=*&0$?%__sil_tmpSIL_temp_conditional___n$28:int [line 11, column 9]\n *&x1:int=(n$31 + 77) [line 11, column 3]\n NULLIFY(&x1); [line 11, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$28); [line 11, column 3]\n EXIT_SCOPE(n$31,x1,0$?%__sil_tmpSIL_temp_conditional___n$28); [line 11, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_48" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_38" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot index 75528e952..a7bcb7360 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot @@ -196,12 +196,12 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_27" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_20" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_28" [label="28: DeclStmt \n n$10=_fun___variable_initialization(&n:int) assign_last [line 14, column 3]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 14, column 12]\n *&n:int=n$9 [line 14, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 14, column 3]\n NULLIFY(&n); [line 14, column 3]\n EXIT_SCOPE(n$9,n$10,0$?%__sil_tmpSIL_temp_conditional___n$6,n); [line 14, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_28" [label="28: DeclStmt \n VARIABLE_DECLARED(n:int); [line 14, column 3]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 14, column 12]\n *&n:int=n$9 [line 14, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 14, column 3]\n NULLIFY(&n); [line 14, column 3]\n EXIT_SCOPE(n$9,0$?%__sil_tmpSIL_temp_conditional___n$6,n); [line 14, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_28" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_10" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_28" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_11" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_29" [label="29: DeclStmt \n n$11=_fun___variable_initialization(&y:int) assign_last [line 13, column 3]\n *&y:int=19 [line 13, column 3]\n EXIT_SCOPE(n$11); [line 13, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_29" [label="29: DeclStmt \n VARIABLE_DECLARED(y:int); [line 13, column 3]\n *&y:int=19 [line 13, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_29" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_21" ; @@ -218,16 +218,16 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_32" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_33" [label="33: BinaryOperatorStmt: LT \n n$13=*&x:int [line 10, column 21]\n *&x:int=(n$13 + 1) [line 10, column 21]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_33" [label="33: BinaryOperatorStmt: LT \n n$11=*&x:int [line 10, column 21]\n *&x:int=(n$11 + 1) [line 10, column 21]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_34" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_34" [label="34: Prune (true branch, if) \n PRUNE((7 < n$13), true); [line 10, column 16]\n NULLIFY(&x); [line 10, column 16]\n EXIT_SCOPE(n$13,x); [line 10, column 16]\n APPLY_ABSTRACTION; [line 10, column 16]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_34" [label="34: Prune (true branch, if) \n PRUNE((7 < n$11), true); [line 10, column 16]\n NULLIFY(&x); [line 10, column 16]\n EXIT_SCOPE(n$11,x); [line 10, column 16]\n APPLY_ABSTRACTION; [line 10, column 16]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_34" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_36" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_35" [label="35: Prune (false branch, if) \n PRUNE(!(7 < n$13), false); [line 10, column 16]\n EXIT_SCOPE(n$13); [line 10, column 16]\n APPLY_ABSTRACTION; [line 10, column 16]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_35" [label="35: Prune (false branch, if) \n PRUNE(!(7 < n$11), false); [line 10, column 16]\n EXIT_SCOPE(n$11); [line 10, column 16]\n APPLY_ABSTRACTION; [line 10, column 16]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" ; @@ -235,7 +235,7 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_36" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_37" [label="37: DeclStmt \n n$16=_fun___variable_initialization(&x:int) assign_last [line 9, column 3]\n *&x:int=5 [line 9, column 3]\n EXIT_SCOPE(n$16); [line 9, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_37" [label="37: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=5 [line 9, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_37" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_31" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/conditional_operator.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/conditional_operator.c.dot index a38ced382..8e2ed98fc 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/conditional_operator.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/conditional_operator.c.dot @@ -64,7 +64,7 @@ digraph cfg { "test1.5a105e8b9d40e1329780d62ea2265d8a_8" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_4" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_9" [label="9: DeclStmt \n n$5=_fun___variable_initialization(&x:int) assign_last [line 15, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 15, column 11]\n *&x:int=n$4 [line 15, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 15, column 3]\n EXIT_SCOPE(n$4,n$5,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 15, column 3]\n " shape="box"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 15, column 11]\n *&x:int=n$4 [line 15, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 15, column 3]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 15, column 3]\n " shape="box"] "test1.5a105e8b9d40e1329780d62ea2265d8a_9" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_3" ; @@ -115,7 +115,7 @@ digraph cfg { "test3.8ad8757baa8564dc136c1e07507f4a98_9" -> "test3.8ad8757baa8564dc136c1e07507f4a98_5" ; "test3.8ad8757baa8564dc136c1e07507f4a98_9" -> "test3.8ad8757baa8564dc136c1e07507f4a98_6" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_10" [label="10: DeclStmt \n n$4=_fun___variable_initialization(&x:int) assign_last [line 20, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 20, column 11]\n *&x:int=n$3 [line 20, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 20, column 3]\n EXIT_SCOPE(n$3,n$4,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 20, column 3]\n " shape="box"] +"test3.8ad8757baa8564dc136c1e07507f4a98_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 20, column 11]\n *&x:int=n$3 [line 20, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 20, column 3]\n EXIT_SCOPE(n$3,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 20, column 3]\n " shape="box"] "test3.8ad8757baa8564dc136c1e07507f4a98_10" -> "test3.8ad8757baa8564dc136c1e07507f4a98_3" ; @@ -223,7 +223,7 @@ digraph cfg { "test6.4cfad7076129962ee70c36839a1e3e15_8" -> "test6.4cfad7076129962ee70c36839a1e3e15_4" ; -"test6.4cfad7076129962ee70c36839a1e3e15_9" [label="9: DeclStmt \n n$5=_fun___variable_initialization(&z:int) assign_last [line 29, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 29, column 11]\n *&z:int=n$4 [line 29, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 29, column 3]\n EXIT_SCOPE(n$4,n$5,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 29, column 3]\n " shape="box"] +"test6.4cfad7076129962ee70c36839a1e3e15_9" [label="9: DeclStmt \n VARIABLE_DECLARED(z:int); [line 29, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 29, column 11]\n *&z:int=n$4 [line 29, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 29, column 3]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 29, column 3]\n " shape="box"] "test6.4cfad7076129962ee70c36839a1e3e15_9" -> "test6.4cfad7076129962ee70c36839a1e3e15_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/member_access.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/member_access.c.dot index 15c49a39b..56484e685 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/member_access.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/member_access.c.dot @@ -28,7 +28,7 @@ digraph cfg { "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_7" -> "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_3" ; -"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_8" [label="8: DeclStmt \n n$4=_fun___variable_initialization(&z:int) assign_last [line 20, column 37]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 20, column 45]\n *&z:int=n$3 [line 20, column 37]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 20, column 37]\n NULLIFY(&z); [line 20, column 37]\n EXIT_SCOPE(n$3,n$4,0$?%__sil_tmpSIL_temp_conditional___n$0,z); [line 20, column 37]\n APPLY_ABSTRACTION; [line 20, column 37]\n " shape="box"] +"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 20, column 37]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 20, column 45]\n *&z:int=n$3 [line 20, column 37]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 20, column 37]\n NULLIFY(&z); [line 20, column 37]\n EXIT_SCOPE(n$3,0$?%__sil_tmpSIL_temp_conditional___n$0,z); [line 20, column 37]\n APPLY_ABSTRACTION; [line 20, column 37]\n " shape="box"] "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_8" -> "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_2" ; @@ -60,7 +60,7 @@ digraph cfg { "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_7" -> "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_3" ; -"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_8" [label="8: DeclStmt \n n$4=_fun___variable_initialization(&z:int) assign_last [line 18, column 37]\n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 18, column 54]\n n$2=_fun_ret_ptr(n$1:int) [line 18, column 46]\n n$3=*n$2.field:int [line 18, column 45]\n *&z:int=n$3 [line 18, column 37]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 18, column 37]\n NULLIFY(&z); [line 18, column 37]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,0$?%__sil_tmpSIL_temp_conditional___n$0,z); [line 18, column 37]\n APPLY_ABSTRACTION; [line 18, column 37]\n " shape="box"] +"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 18, column 37]\n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 18, column 54]\n n$2=_fun_ret_ptr(n$1:int) [line 18, column 46]\n n$3=*n$2.field:int [line 18, column 45]\n *&z:int=n$3 [line 18, column 37]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 18, column 37]\n NULLIFY(&z); [line 18, column 37]\n EXIT_SCOPE(n$1,n$2,n$3,0$?%__sil_tmpSIL_temp_conditional___n$0,z); [line 18, column 37]\n APPLY_ABSTRACTION; [line 18, column 37]\n " shape="box"] "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_8" -> "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_2" ; @@ -92,7 +92,7 @@ digraph cfg { "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_7" -> "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_3" ; -"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_8" [label="8: DeclStmt \n n$5=_fun___variable_initialization(&z:int) assign_last [line 15, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:s* [line 15, column 12]\n n$4=*n$3.field:int [line 15, column 11]\n *&z:int=n$4 [line 15, column 3]\n NULLIFY(&z); [line 15, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,z,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 15, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:s* [line 15, column 12]\n n$4=*n$3.field:int [line 15, column 11]\n *&z:int=n$4 [line 15, column 3]\n NULLIFY(&z); [line 15, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,z,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_8" -> "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/unary_operator.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/unary_operator.c.dot index b8956ec8b..fb9dd32f0 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/unary_operator.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/unary_operator.c.dot @@ -1,6 +1,6 @@ /* @generated */ digraph cfg { -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_1" [label="1: Start dereference_ifthenelse\nFormals: p:int*\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int* y:int 0$?%__sil_tmpSIL_temp_conditional___n$5:int* 0$?%__sil_tmpSIL_temp_conditional___n$11:int* x:int \n " color=yellow style=filled] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_1" [label="1: Start dereference_ifthenelse\nFormals: p:int*\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int* y:int 0$?%__sil_tmpSIL_temp_conditional___n$5:int* 0$?%__sil_tmpSIL_temp_conditional___n$10:int* x:int \n " color=yellow style=filled] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_1" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_17" ; @@ -56,7 +56,7 @@ digraph cfg { "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_14" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_10" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_15" [label="15: DeclStmt \n n$10=_fun___variable_initialization(&y:int) assign_last [line 12, column 3]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$5:int* [line 12, column 13]\n n$9=*n$8:int [line 12, column 11]\n *&y:int=n$9 [line 12, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$5); [line 12, column 3]\n NULLIFY(&y); [line 12, column 3]\n EXIT_SCOPE(n$8,n$9,n$10,0$?%__sil_tmpSIL_temp_conditional___n$5,y); [line 12, column 3]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_15" [label="15: DeclStmt \n VARIABLE_DECLARED(y:int); [line 12, column 3]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$5:int* [line 12, column 13]\n n$9=*n$8:int [line 12, column 11]\n *&y:int=n$9 [line 12, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$5); [line 12, column 3]\n NULLIFY(&y); [line 12, column 3]\n EXIT_SCOPE(n$8,n$9,0$?%__sil_tmpSIL_temp_conditional___n$5,y); [line 12, column 3]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_15" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_4" ; @@ -73,15 +73,15 @@ digraph cfg { "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_18" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_20" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_19" [label="19: ConditionalStmt Branch \n n$12=*&p:int* [line 10, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$11:int*=n$12 [line 10, column 9]\n EXIT_SCOPE(n$12); [line 10, column 9]\n APPLY_ABSTRACTION; [line 10, column 9]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_19" [label="19: ConditionalStmt Branch \n n$11=*&p:int* [line 10, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int*=n$11 [line 10, column 9]\n EXIT_SCOPE(n$11); [line 10, column 9]\n APPLY_ABSTRACTION; [line 10, column 9]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_19" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_16" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_20" [label="20: ConditionalStmt Branch \n n$13=*&p:int* [line 10, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$11:int*=n$13 [line 10, column 9]\n EXIT_SCOPE(n$13); [line 10, column 9]\n APPLY_ABSTRACTION; [line 10, column 9]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_20" [label="20: ConditionalStmt Branch \n n$12=*&p:int* [line 10, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int*=n$12 [line 10, column 9]\n EXIT_SCOPE(n$12); [line 10, column 9]\n APPLY_ABSTRACTION; [line 10, column 9]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_20" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_16" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_21" [label="21: BinaryOperatorStmt: Assign \n n$14=*&0$?%__sil_tmpSIL_temp_conditional___n$11:int* [line 10, column 9]\n n$15=*n$14:int [line 10, column 7]\n *&x:int=n$15 [line 10, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$11); [line 10, column 3]\n NULLIFY(&x); [line 10, column 3]\n EXIT_SCOPE(n$14,n$15,0$?%__sil_tmpSIL_temp_conditional___n$11,x); [line 10, column 3]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_21" [label="21: BinaryOperatorStmt: Assign \n n$13=*&0$?%__sil_tmpSIL_temp_conditional___n$10:int* [line 10, column 9]\n n$14=*n$13:int [line 10, column 7]\n *&x:int=n$14 [line 10, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$10); [line 10, column 3]\n NULLIFY(&x); [line 10, column 3]\n EXIT_SCOPE(n$13,n$14,0$?%__sil_tmpSIL_temp_conditional___n$10,x); [line 10, column 3]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_21" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_11" ; diff --git a/infer/tests/codetoanalyze/c/frontend/enumeration/enum.c.dot b/infer/tests/codetoanalyze/c/frontend/enumeration/enum.c.dot index 84bad4efc..008d73f77 100644 --- a/infer/tests/codetoanalyze/c/frontend/enumeration/enum.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/enumeration/enum.c.dot @@ -11,7 +11,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$0=_fun___variable_initialization(&i:int) assign_last [line 24, column 3]\n *&i:int=(2 + (2 - 0)) [line 24, column 3]\n NULLIFY(&i); [line 24, column 3]\n EXIT_SCOPE(n$0,i); [line 24, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int); [line 24, column 3]\n *&i:int=(2 + (2 - 0)) [line 24, column 3]\n NULLIFY(&i); [line 24, column 3]\n EXIT_SCOPE(i); [line 24, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -19,7 +19,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$1=*&today:int [line 22, column 11]\n *&today:int=((unsigned int)n$1 + (unsigned int)4) [line 22, column 3]\n NULLIFY(&today); [line 22, column 3]\n EXIT_SCOPE(n$1,today); [line 22, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$0=*&today:int [line 22, column 11]\n *&today:int=((unsigned int)n$0 + (unsigned int)4) [line 22, column 3]\n NULLIFY(&today); [line 22, column 3]\n EXIT_SCOPE(n$0,today); [line 22, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/enumeration/enum_bitmask.c.dot b/infer/tests/codetoanalyze/c/frontend/enumeration/enum_bitmask.c.dot index e61543c45..4cf1b24e6 100644 --- a/infer/tests/codetoanalyze/c/frontend/enumeration/enum_bitmask.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/enumeration/enum_bitmask.c.dot @@ -7,11 +7,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n n$0=_fun___variable_initialization(&option2:int) assign_last [line 15, column 3]\n *&option2:int=(1 << 1) [line 15, column 3]\n NULLIFY(&option2); [line 15, column 3]\n EXIT_SCOPE(n$0,option2); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(option2:int); [line 15, column 3]\n *&option2:int=(1 << 1) [line 15, column 3]\n NULLIFY(&option2); [line 15, column 3]\n EXIT_SCOPE(option2); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$1=_fun___variable_initialization(&option1:int) assign_last [line 14, column 3]\n *&option1:int=(1 << 0) [line 14, column 3]\n NULLIFY(&option1); [line 14, column 3]\n EXIT_SCOPE(n$1,option1); [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(option1:int); [line 14, column 3]\n *&option1:int=(1 << 0) [line 14, column 3]\n NULLIFY(&option1); [line 14, column 3]\n EXIT_SCOPE(option1); [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot b/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot index 16ef1474f..8401ab8b7 100644 --- a/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot @@ -7,31 +7,31 @@ digraph cfg { "other_enum_main.572f04969b0ade4902dd1faf86fac461_2" [label="2: Exit other_enum_main \n " color=yellow style=filled] -"other_enum_main.572f04969b0ade4902dd1faf86fac461_3" [label="3: DeclStmt \n n$0=_fun___variable_initialization(&foo_g:int) assign_last [line 17, column 3]\n *&foo_g:int=(2 + 10) [line 17, column 3]\n NULLIFY(&foo_g); [line 17, column 3]\n EXIT_SCOPE(n$0,foo_g); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_3" [label="3: DeclStmt \n VARIABLE_DECLARED(foo_g:int); [line 17, column 3]\n *&foo_g:int=(2 + 10) [line 17, column 3]\n NULLIFY(&foo_g); [line 17, column 3]\n EXIT_SCOPE(foo_g); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_3" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_2" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_4" [label="4: DeclStmt \n n$1=_fun___variable_initialization(&foo_f:int) assign_last [line 16, column 3]\n *&foo_f:int=2 [line 16, column 3]\n NULLIFY(&foo_f); [line 16, column 3]\n EXIT_SCOPE(n$1,foo_f); [line 16, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_4" [label="4: DeclStmt \n VARIABLE_DECLARED(foo_f:int); [line 16, column 3]\n *&foo_f:int=2 [line 16, column 3]\n NULLIFY(&foo_f); [line 16, column 3]\n EXIT_SCOPE(foo_f); [line 16, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_4" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_3" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_5" [label="5: DeclStmt \n n$2=_fun___variable_initialization(&foo_e:int) assign_last [line 15, column 3]\n *&foo_e:int=1 [line 15, column 3]\n NULLIFY(&foo_e); [line 15, column 3]\n EXIT_SCOPE(n$2,foo_e); [line 15, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_5" [label="5: DeclStmt \n VARIABLE_DECLARED(foo_e:int); [line 15, column 3]\n *&foo_e:int=1 [line 15, column 3]\n NULLIFY(&foo_e); [line 15, column 3]\n EXIT_SCOPE(foo_e); [line 15, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_5" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_4" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_6" [label="6: DeclStmt \n n$3=_fun___variable_initialization(&foo_d:int) assign_last [line 14, column 3]\n *&foo_d:int=11 [line 14, column 3]\n NULLIFY(&foo_d); [line 14, column 3]\n EXIT_SCOPE(n$3,foo_d); [line 14, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_6" [label="6: DeclStmt \n VARIABLE_DECLARED(foo_d:int); [line 14, column 3]\n *&foo_d:int=11 [line 14, column 3]\n NULLIFY(&foo_d); [line 14, column 3]\n EXIT_SCOPE(foo_d); [line 14, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_6" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_5" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_7" [label="7: DeclStmt \n n$4=_fun___variable_initialization(&foo_c:int) assign_last [line 13, column 3]\n *&foo_c:int=10 [line 13, column 3]\n NULLIFY(&foo_c); [line 13, column 3]\n EXIT_SCOPE(n$4,foo_c); [line 13, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_7" [label="7: DeclStmt \n VARIABLE_DECLARED(foo_c:int); [line 13, column 3]\n *&foo_c:int=10 [line 13, column 3]\n NULLIFY(&foo_c); [line 13, column 3]\n EXIT_SCOPE(foo_c); [line 13, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_7" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_6" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_8" [label="8: DeclStmt \n n$5=_fun___variable_initialization(&foo_b:int) assign_last [line 12, column 3]\n *&foo_b:int=1 [line 12, column 3]\n NULLIFY(&foo_b); [line 12, column 3]\n EXIT_SCOPE(n$5,foo_b); [line 12, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_8" [label="8: DeclStmt \n VARIABLE_DECLARED(foo_b:int); [line 12, column 3]\n *&foo_b:int=1 [line 12, column 3]\n NULLIFY(&foo_b); [line 12, column 3]\n EXIT_SCOPE(foo_b); [line 12, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_8" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_7" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_9" [label="9: DeclStmt \n n$6=_fun___variable_initialization(&foo_a:int) assign_last [line 11, column 3]\n *&foo_a:int=0 [line 11, column 3]\n NULLIFY(&foo_a); [line 11, column 3]\n EXIT_SCOPE(n$6,foo_a); [line 11, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_9" [label="9: DeclStmt \n VARIABLE_DECLARED(foo_a:int); [line 11, column 3]\n *&foo_a:int=0 [line 11, column 3]\n NULLIFY(&foo_a); [line 11, column 3]\n EXIT_SCOPE(foo_a); [line 11, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_9" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_8" ; @@ -71,11 +71,11 @@ digraph cfg { "other_enum_test.100f3583adf0259001be6c944828c44a_9" -> "other_enum_test.100f3583adf0259001be6c944828c44a_2" ; -"other_enum_test.100f3583adf0259001be6c944828c44a_10" [label="10: DeclStmt \n n$4=_fun___variable_initialization(&foo_a:int) assign_last [line 22, column 3]\n *&foo_a:int=0 [line 22, column 3]\n EXIT_SCOPE(n$4); [line 22, column 3]\n " shape="box"] +"other_enum_test.100f3583adf0259001be6c944828c44a_10" [label="10: DeclStmt \n VARIABLE_DECLARED(foo_a:int); [line 22, column 3]\n *&foo_a:int=0 [line 22, column 3]\n " shape="box"] "other_enum_test.100f3583adf0259001be6c944828c44a_10" -> "other_enum_test.100f3583adf0259001be6c944828c44a_5" ; -"other_enum_test.100f3583adf0259001be6c944828c44a_11" [label="11: DeclStmt \n n$5=_fun___variable_initialization(&foo_g:int) assign_last [line 21, column 3]\n *&foo_g:int=(2 + 10) [line 21, column 3]\n EXIT_SCOPE(n$5); [line 21, column 3]\n " shape="box"] +"other_enum_test.100f3583adf0259001be6c944828c44a_11" [label="11: DeclStmt \n VARIABLE_DECLARED(foo_g:int); [line 21, column 3]\n *&foo_g:int=(2 + 10) [line 21, column 3]\n " shape="box"] "other_enum_test.100f3583adf0259001be6c944828c44a_11" -> "other_enum_test.100f3583adf0259001be6c944828c44a_10" ; diff --git a/infer/tests/codetoanalyze/c/frontend/gotostmt/goto_ex.c.dot b/infer/tests/codetoanalyze/c/frontend/gotostmt/goto_ex.c.dot index 0a0614881..ec5d56586 100644 --- a/infer/tests/codetoanalyze/c/frontend/gotostmt/goto_ex.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/gotostmt/goto_ex.c.dot @@ -44,7 +44,7 @@ digraph cfg { "g0.8ac829e3bb8338d74cfb45ebe834d8e1_11" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_8" ; -"g0.8ac829e3bb8338d74cfb45ebe834d8e1_12" [label="12: DeclStmt \n n$7=_fun___variable_initialization(&a:int) assign_last [line 13, column 3]\n *&a:int=0 [line 13, column 3]\n NULLIFY(&a); [line 13, column 3]\n EXIT_SCOPE(n$7,a); [line 13, column 3]\n " shape="box"] +"g0.8ac829e3bb8338d74cfb45ebe834d8e1_12" [label="12: DeclStmt \n VARIABLE_DECLARED(a:int); [line 13, column 3]\n *&a:int=0 [line 13, column 3]\n NULLIFY(&a); [line 13, column 3]\n EXIT_SCOPE(a); [line 13, column 3]\n " shape="box"] "g0.8ac829e3bb8338d74cfb45ebe834d8e1_12" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_9" ; @@ -88,7 +88,7 @@ digraph cfg { "g1.0120a4f9196a5f9eb9f523f31f914da7_10" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_7" ; -"g1.0120a4f9196a5f9eb9f523f31f914da7_11" [label="11: DeclStmt \n n$5=_fun___variable_initialization(&a:int) assign_last [line 25, column 3]\n *&a:int=0 [line 25, column 3]\n NULLIFY(&a); [line 25, column 3]\n EXIT_SCOPE(n$5,a); [line 25, column 3]\n " shape="box"] +"g1.0120a4f9196a5f9eb9f523f31f914da7_11" [label="11: DeclStmt \n VARIABLE_DECLARED(a:int); [line 25, column 3]\n *&a:int=0 [line 25, column 3]\n NULLIFY(&a); [line 25, column 3]\n EXIT_SCOPE(a); [line 25, column 3]\n " shape="box"] "g1.0120a4f9196a5f9eb9f523f31f914da7_11" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_8" ; @@ -186,7 +186,7 @@ digraph cfg { "g2.e1c80488853d86ab9d6decfe30d8930f_23" -> "g2.e1c80488853d86ab9d6decfe30d8930f_20" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_24" [label="24: DeclStmt \n n$15=_fun___variable_initialization(&a:int) assign_last [line 36, column 3]\n *&a:int=0 [line 36, column 3]\n NULLIFY(&a); [line 36, column 3]\n EXIT_SCOPE(n$15,a); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] +"g2.e1c80488853d86ab9d6decfe30d8930f_24" [label="24: DeclStmt \n VARIABLE_DECLARED(a:int); [line 36, column 3]\n *&a:int=0 [line 36, column 3]\n NULLIFY(&a); [line 36, column 3]\n EXIT_SCOPE(a); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] "g2.e1c80488853d86ab9d6decfe30d8930f_24" -> "g2.e1c80488853d86ab9d6decfe30d8930f_14" ; @@ -213,7 +213,7 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_6" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_5" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_7" [label="7: DeclStmt \n n$3=_fun___variable_initialization(&a:int) assign_last [line 71, column 3]\n *&a:int=2 [line 71, column 3]\n NULLIFY(&a); [line 71, column 3]\n EXIT_SCOPE(n$3,a); [line 71, column 3]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 71, column 3]\n *&a:int=2 [line 71, column 3]\n NULLIFY(&a); [line 71, column 3]\n EXIT_SCOPE(a); [line 71, column 3]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_7" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_6" ; @@ -225,7 +225,7 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_9" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_2" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_10" [label="10: Call _fun_printf \n n$5=_fun_printf((char const *)\"g3\\n\":char const *) [line 67, column 3]\n EXIT_SCOPE(n$5); [line 67, column 3]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_10" [label="10: Call _fun_printf \n n$4=_fun_printf((char const *)\"g3\\n\":char const *) [line 67, column 3]\n EXIT_SCOPE(n$4); [line 67, column 3]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_10" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_9" ; @@ -233,16 +233,16 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_11" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_10" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_12" [label="12: BinaryOperatorStmt: GT \n n$6=_fun_getValue() [line 65, column 7]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_12" [label="12: BinaryOperatorStmt: GT \n n$5=_fun_getValue() [line 65, column 7]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_12" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_13" ; "g3.8a9fd7dfda802921fdc4079f9a528ce8_12" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_14" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_13" [label="13: Prune (true branch, if) \n PRUNE((n$6 > 1), true); [line 65, column 7]\n EXIT_SCOPE(n$6); [line 65, column 7]\n APPLY_ABSTRACTION; [line 65, column 7]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_13" [label="13: Prune (true branch, if) \n PRUNE((n$5 > 1), true); [line 65, column 7]\n EXIT_SCOPE(n$5); [line 65, column 7]\n APPLY_ABSTRACTION; [line 65, column 7]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_13" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_15" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_14" [label="14: Prune (false branch, if) \n PRUNE(!(n$6 > 1), false); [line 65, column 7]\n EXIT_SCOPE(n$6); [line 65, column 7]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_14" [label="14: Prune (false branch, if) \n PRUNE(!(n$5 > 1), false); [line 65, column 7]\n EXIT_SCOPE(n$5); [line 65, column 7]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_14" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_11" ; @@ -254,16 +254,16 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_16" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_12" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_17" [label="17: Call _fun_getValue \n n$10=_fun_getValue() [line 63, column 8]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_17" [label="17: Call _fun_getValue \n n$9=_fun_getValue() [line 63, column 8]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_17" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_18" ; "g3.8a9fd7dfda802921fdc4079f9a528ce8_17" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_19" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_18" [label="18: Prune (true branch, if) \n PRUNE(!n$10, true); [line 63, column 8]\n EXIT_SCOPE(n$10); [line 63, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_18" [label="18: Prune (true branch, if) \n PRUNE(!n$9, true); [line 63, column 8]\n EXIT_SCOPE(n$9); [line 63, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_18" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_8" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_19" [label="19: Prune (false branch, if) \n PRUNE(n$10, false); [line 63, column 8]\n EXIT_SCOPE(n$10); [line 63, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_19" [label="19: Prune (false branch, if) \n PRUNE(n$9, false); [line 63, column 8]\n EXIT_SCOPE(n$9); [line 63, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_19" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_16" ; @@ -271,20 +271,20 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_20" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_17" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_21" [label="21: Call _fun_getValue \n n$14=_fun_getValue() [line 61, column 8]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_21" [label="21: Call _fun_getValue \n n$13=_fun_getValue() [line 61, column 8]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_21" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_22" ; "g3.8a9fd7dfda802921fdc4079f9a528ce8_21" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_23" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_22" [label="22: Prune (true branch, if) \n PRUNE(!n$14, true); [line 61, column 8]\n EXIT_SCOPE(n$14); [line 61, column 8]\n APPLY_ABSTRACTION; [line 61, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_22" [label="22: Prune (true branch, if) \n PRUNE(!n$13, true); [line 61, column 8]\n EXIT_SCOPE(n$13); [line 61, column 8]\n APPLY_ABSTRACTION; [line 61, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_22" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_5" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_23" [label="23: Prune (false branch, if) \n PRUNE(n$14, false); [line 61, column 8]\n EXIT_SCOPE(n$14); [line 61, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_23" [label="23: Prune (false branch, if) \n PRUNE(n$13, false); [line 61, column 8]\n EXIT_SCOPE(n$13); [line 61, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_23" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_20" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_24" [label="24: Call _fun_printf \n n$18=_fun_printf((char const *)\"B\\n\":char const *) [line 59, column 3]\n EXIT_SCOPE(n$18); [line 59, column 3]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_24" [label="24: Call _fun_printf \n n$17=_fun_printf((char const *)\"B\\n\":char const *) [line 59, column 3]\n EXIT_SCOPE(n$17); [line 59, column 3]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_24" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_21" ; @@ -311,7 +311,7 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_6" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_5" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_7" [label="7: DeclStmt \n n$3=_fun___variable_initialization(&a:int) assign_last [line 92, column 3]\n *&a:int=2 [line 92, column 3]\n NULLIFY(&a); [line 92, column 3]\n EXIT_SCOPE(n$3,a); [line 92, column 3]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 92, column 3]\n *&a:int=2 [line 92, column 3]\n NULLIFY(&a); [line 92, column 3]\n EXIT_SCOPE(a); [line 92, column 3]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_7" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_6" ; @@ -319,7 +319,7 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_8" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_7" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_9" [label="9: Call _fun_printf \n n$5=_fun_printf((char const *)\"g4\\n\":char const *) [line 89, column 3]\n EXIT_SCOPE(n$5); [line 89, column 3]\n APPLY_ABSTRACTION; [line 89, column 3]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_9" [label="9: Call _fun_printf \n n$4=_fun_printf((char const *)\"g4\\n\":char const *) [line 89, column 3]\n EXIT_SCOPE(n$4); [line 89, column 3]\n APPLY_ABSTRACTION; [line 89, column 3]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_9" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_8" ; @@ -327,16 +327,16 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_10" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_9" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_11" [label="11: BinaryOperatorStmt: GT \n n$6=_fun_getValue() [line 87, column 7]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_11" [label="11: BinaryOperatorStmt: GT \n n$5=_fun_getValue() [line 87, column 7]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_11" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_12" ; "g4.b0b5c8f28ad7834e70a958a8882fa59a_11" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_13" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_12" [label="12: Prune (true branch, if) \n PRUNE((n$6 > 1), true); [line 87, column 7]\n EXIT_SCOPE(n$6); [line 87, column 7]\n APPLY_ABSTRACTION; [line 87, column 7]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_12" [label="12: Prune (true branch, if) \n PRUNE((n$5 > 1), true); [line 87, column 7]\n EXIT_SCOPE(n$5); [line 87, column 7]\n APPLY_ABSTRACTION; [line 87, column 7]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_12" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_14" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$6 > 1), false); [line 87, column 7]\n EXIT_SCOPE(n$6); [line 87, column 7]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$5 > 1), false); [line 87, column 7]\n EXIT_SCOPE(n$5); [line 87, column 7]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_13" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_10" ; @@ -348,16 +348,16 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_15" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_11" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_16" [label="16: Call _fun_getValue \n n$10=_fun_getValue() [line 85, column 8]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_16" [label="16: Call _fun_getValue \n n$9=_fun_getValue() [line 85, column 8]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_16" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_17" ; "g4.b0b5c8f28ad7834e70a958a8882fa59a_16" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_18" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_17" [label="17: Prune (true branch, if) \n PRUNE(!n$10, true); [line 85, column 8]\n EXIT_SCOPE(n$10); [line 85, column 8]\n APPLY_ABSTRACTION; [line 85, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_17" [label="17: Prune (true branch, if) \n PRUNE(!n$9, true); [line 85, column 8]\n EXIT_SCOPE(n$9); [line 85, column 8]\n APPLY_ABSTRACTION; [line 85, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_17" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_8" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_18" [label="18: Prune (false branch, if) \n PRUNE(n$10, false); [line 85, column 8]\n EXIT_SCOPE(n$10); [line 85, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_18" [label="18: Prune (false branch, if) \n PRUNE(n$9, false); [line 85, column 8]\n EXIT_SCOPE(n$9); [line 85, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_18" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_15" ; @@ -365,20 +365,20 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_19" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_16" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_20" [label="20: Call _fun_getValue \n n$14=_fun_getValue() [line 83, column 8]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_20" [label="20: Call _fun_getValue \n n$13=_fun_getValue() [line 83, column 8]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_20" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_21" ; "g4.b0b5c8f28ad7834e70a958a8882fa59a_20" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_22" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_21" [label="21: Prune (true branch, if) \n PRUNE(!n$14, true); [line 83, column 8]\n EXIT_SCOPE(n$14); [line 83, column 8]\n APPLY_ABSTRACTION; [line 83, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_21" [label="21: Prune (true branch, if) \n PRUNE(!n$13, true); [line 83, column 8]\n EXIT_SCOPE(n$13); [line 83, column 8]\n APPLY_ABSTRACTION; [line 83, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_21" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_5" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_22" [label="22: Prune (false branch, if) \n PRUNE(n$14, false); [line 83, column 8]\n EXIT_SCOPE(n$14); [line 83, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_22" [label="22: Prune (false branch, if) \n PRUNE(n$13, false); [line 83, column 8]\n EXIT_SCOPE(n$13); [line 83, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_22" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_19" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_23" [label="23: Call _fun_printf \n n$18=_fun_printf((char const *)\"B\\n\":char const *) [line 81, column 3]\n EXIT_SCOPE(n$18); [line 81, column 3]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_23" [label="23: Call _fun_printf \n n$17=_fun_printf((char const *)\"B\\n\":char const *) [line 81, column 3]\n EXIT_SCOPE(n$17); [line 81, column 3]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_23" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_20" ; @@ -409,7 +409,7 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_7" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_6" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_8" [label="8: DeclStmt \n n$4=_fun___variable_initialization(&a:int) assign_last [line 113, column 3]\n *&a:int=2 [line 113, column 3]\n NULLIFY(&a); [line 113, column 3]\n EXIT_SCOPE(n$4,a); [line 113, column 3]\n " shape="box"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 113, column 3]\n *&a:int=2 [line 113, column 3]\n NULLIFY(&a); [line 113, column 3]\n EXIT_SCOPE(a); [line 113, column 3]\n " shape="box"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_8" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_7" ; @@ -417,16 +417,16 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_9" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_5" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_10" [label="10: BinaryOperatorStmt: GT \n n$7=_fun_getValue() [line 108, column 7]\n " shape="box"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_10" [label="10: BinaryOperatorStmt: GT \n n$6=_fun_getValue() [line 108, column 7]\n " shape="box"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_10" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_11" ; "g5.37c965a8d6d7bec292c7b11ff315d9ea_10" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_12" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_11" [label="11: Prune (true branch, if) \n PRUNE((n$7 > 1), true); [line 108, column 7]\n EXIT_SCOPE(n$7); [line 108, column 7]\n APPLY_ABSTRACTION; [line 108, column 7]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_11" [label="11: Prune (true branch, if) \n PRUNE((n$6 > 1), true); [line 108, column 7]\n EXIT_SCOPE(n$6); [line 108, column 7]\n APPLY_ABSTRACTION; [line 108, column 7]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_11" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_13" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$7 > 1), false); [line 108, column 7]\n EXIT_SCOPE(n$7); [line 108, column 7]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$6 > 1), false); [line 108, column 7]\n EXIT_SCOPE(n$6); [line 108, column 7]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_12" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_9" ; @@ -438,16 +438,16 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_14" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_10" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_15" [label="15: Call _fun_getValue \n n$11=_fun_getValue() [line 106, column 8]\n " shape="box"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_15" [label="15: Call _fun_getValue \n n$10=_fun_getValue() [line 106, column 8]\n " shape="box"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_15" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_16" ; "g5.37c965a8d6d7bec292c7b11ff315d9ea_15" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_17" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_16" [label="16: Prune (true branch, if) \n PRUNE(!n$11, true); [line 106, column 8]\n EXIT_SCOPE(n$11); [line 106, column 8]\n APPLY_ABSTRACTION; [line 106, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_16" [label="16: Prune (true branch, if) \n PRUNE(!n$10, true); [line 106, column 8]\n EXIT_SCOPE(n$10); [line 106, column 8]\n APPLY_ABSTRACTION; [line 106, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_16" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_3" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_17" [label="17: Prune (false branch, if) \n PRUNE(n$11, false); [line 106, column 8]\n EXIT_SCOPE(n$11); [line 106, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_17" [label="17: Prune (false branch, if) \n PRUNE(n$10, false); [line 106, column 8]\n EXIT_SCOPE(n$10); [line 106, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_17" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_14" ; @@ -455,20 +455,20 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_18" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_15" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_19" [label="19: Call _fun_getValue \n n$15=_fun_getValue() [line 104, column 8]\n " shape="box"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_19" [label="19: Call _fun_getValue \n n$14=_fun_getValue() [line 104, column 8]\n " shape="box"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_19" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_20" ; "g5.37c965a8d6d7bec292c7b11ff315d9ea_19" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_21" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_20" [label="20: Prune (true branch, if) \n PRUNE(!n$15, true); [line 104, column 8]\n EXIT_SCOPE(n$15); [line 104, column 8]\n APPLY_ABSTRACTION; [line 104, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_20" [label="20: Prune (true branch, if) \n PRUNE(!n$14, true); [line 104, column 8]\n EXIT_SCOPE(n$14); [line 104, column 8]\n APPLY_ABSTRACTION; [line 104, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_20" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_5" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_21" [label="21: Prune (false branch, if) \n PRUNE(n$15, false); [line 104, column 8]\n EXIT_SCOPE(n$15); [line 104, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_21" [label="21: Prune (false branch, if) \n PRUNE(n$14, false); [line 104, column 8]\n EXIT_SCOPE(n$14); [line 104, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_21" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_18" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_22" [label="22: Call _fun_printf \n n$19=_fun_printf((char const *)\"B\\n\":char const *) [line 102, column 3]\n EXIT_SCOPE(n$19); [line 102, column 3]\n " shape="box"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_22" [label="22: Call _fun_printf \n n$18=_fun_printf((char const *)\"B\\n\":char const *) [line 102, column 3]\n EXIT_SCOPE(n$18); [line 102, column 3]\n " shape="box"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_22" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_19" ; @@ -499,7 +499,7 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_7" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_6" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_8" [label="8: DeclStmt \n n$4=_fun___variable_initialization(&a:int) assign_last [line 135, column 3]\n *&a:int=2 [line 135, column 3]\n NULLIFY(&a); [line 135, column 3]\n EXIT_SCOPE(n$4,a); [line 135, column 3]\n " shape="box"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 135, column 3]\n *&a:int=2 [line 135, column 3]\n NULLIFY(&a); [line 135, column 3]\n EXIT_SCOPE(a); [line 135, column 3]\n " shape="box"] "g6.4a4314ef967aad20a9e7c423bc16e39c_8" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_7" ; @@ -507,16 +507,16 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_9" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_5" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_10" [label="10: BinaryOperatorStmt: GT \n n$7=_fun_getValue() [line 130, column 7]\n " shape="box"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_10" [label="10: BinaryOperatorStmt: GT \n n$6=_fun_getValue() [line 130, column 7]\n " shape="box"] "g6.4a4314ef967aad20a9e7c423bc16e39c_10" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_11" ; "g6.4a4314ef967aad20a9e7c423bc16e39c_10" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_12" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_11" [label="11: Prune (true branch, if) \n PRUNE((n$7 > 1), true); [line 130, column 7]\n EXIT_SCOPE(n$7); [line 130, column 7]\n APPLY_ABSTRACTION; [line 130, column 7]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_11" [label="11: Prune (true branch, if) \n PRUNE((n$6 > 1), true); [line 130, column 7]\n EXIT_SCOPE(n$6); [line 130, column 7]\n APPLY_ABSTRACTION; [line 130, column 7]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_11" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_13" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$7 > 1), false); [line 130, column 7]\n EXIT_SCOPE(n$7); [line 130, column 7]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$6 > 1), false); [line 130, column 7]\n EXIT_SCOPE(n$6); [line 130, column 7]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_12" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_9" ; @@ -528,16 +528,16 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_14" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_10" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_15" [label="15: Call _fun_getValue \n n$11=_fun_getValue() [line 128, column 8]\n " shape="box"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_15" [label="15: Call _fun_getValue \n n$10=_fun_getValue() [line 128, column 8]\n " shape="box"] "g6.4a4314ef967aad20a9e7c423bc16e39c_15" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_16" ; "g6.4a4314ef967aad20a9e7c423bc16e39c_15" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_17" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_16" [label="16: Prune (true branch, if) \n PRUNE(!n$11, true); [line 128, column 8]\n EXIT_SCOPE(n$11); [line 128, column 8]\n APPLY_ABSTRACTION; [line 128, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_16" [label="16: Prune (true branch, if) \n PRUNE(!n$10, true); [line 128, column 8]\n EXIT_SCOPE(n$10); [line 128, column 8]\n APPLY_ABSTRACTION; [line 128, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_16" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_3" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_17" [label="17: Prune (false branch, if) \n PRUNE(n$11, false); [line 128, column 8]\n EXIT_SCOPE(n$11); [line 128, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_17" [label="17: Prune (false branch, if) \n PRUNE(n$10, false); [line 128, column 8]\n EXIT_SCOPE(n$10); [line 128, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_17" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_14" ; @@ -545,20 +545,20 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_18" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_15" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_19" [label="19: Call _fun_getValue \n n$15=_fun_getValue() [line 126, column 8]\n " shape="box"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_19" [label="19: Call _fun_getValue \n n$14=_fun_getValue() [line 126, column 8]\n " shape="box"] "g6.4a4314ef967aad20a9e7c423bc16e39c_19" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_20" ; "g6.4a4314ef967aad20a9e7c423bc16e39c_19" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_21" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_20" [label="20: Prune (true branch, if) \n PRUNE(!n$15, true); [line 126, column 8]\n EXIT_SCOPE(n$15); [line 126, column 8]\n APPLY_ABSTRACTION; [line 126, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_20" [label="20: Prune (true branch, if) \n PRUNE(!n$14, true); [line 126, column 8]\n EXIT_SCOPE(n$14); [line 126, column 8]\n APPLY_ABSTRACTION; [line 126, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_20" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_5" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_21" [label="21: Prune (false branch, if) \n PRUNE(n$15, false); [line 126, column 8]\n EXIT_SCOPE(n$15); [line 126, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_21" [label="21: Prune (false branch, if) \n PRUNE(n$14, false); [line 126, column 8]\n EXIT_SCOPE(n$14); [line 126, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_21" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_18" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_22" [label="22: Call _fun_printf \n n$19=_fun_printf((char const *)\"B\\n\":char const *) [line 124, column 3]\n EXIT_SCOPE(n$19); [line 124, column 3]\n " shape="box"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_22" [label="22: Call _fun_printf \n n$18=_fun_printf((char const *)\"B\\n\":char const *) [line 124, column 3]\n EXIT_SCOPE(n$18); [line 124, column 3]\n " shape="box"] "g6.4a4314ef967aad20a9e7c423bc16e39c_22" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_19" ; @@ -665,19 +665,19 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_25" -> "g7.727bb92f57c3951d11695a52c92c2b0c_5" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_26" [label="26: DeclStmt \n n$18=_fun___variable_initialization(&v:int) assign_last [line 149, column 9]\n n$15=*&i:int [line 149, column 17]\n n$16=*&j:int [line 149, column 21]\n n$17=*&k:int [line 149, column 25]\n *&v:int=((n$15 + n$16) + n$17) [line 149, column 9]\n EXIT_SCOPE(n$15,n$16,n$17,n$18); [line 149, column 9]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_26" [label="26: DeclStmt \n VARIABLE_DECLARED(v:int); [line 149, column 9]\n n$15=*&i:int [line 149, column 17]\n n$16=*&j:int [line 149, column 21]\n n$17=*&k:int [line 149, column 25]\n *&v:int=((n$15 + n$16) + n$17) [line 149, column 9]\n EXIT_SCOPE(n$15,n$16,n$17); [line 149, column 9]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_26" -> "g7.727bb92f57c3951d11695a52c92c2b0c_22" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_27" [label="27: DeclStmt \n n$22=_fun___variable_initialization(&k:int) assign_last [line 145, column 3]\n *&k:int=0 [line 145, column 3]\n EXIT_SCOPE(n$22); [line 145, column 3]\n APPLY_ABSTRACTION; [line 145, column 3]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_27" [label="27: DeclStmt \n VARIABLE_DECLARED(k:int); [line 145, column 3]\n *&k:int=0 [line 145, column 3]\n APPLY_ABSTRACTION; [line 145, column 3]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_27" -> "g7.727bb92f57c3951d11695a52c92c2b0c_9" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_28" [label="28: DeclStmt \n n$23=_fun___variable_initialization(&j:int) assign_last [line 145, column 3]\n *&j:int=0 [line 145, column 3]\n EXIT_SCOPE(n$23); [line 145, column 3]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_28" [label="28: DeclStmt \n VARIABLE_DECLARED(j:int); [line 145, column 3]\n *&j:int=0 [line 145, column 3]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_28" -> "g7.727bb92f57c3951d11695a52c92c2b0c_27" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_29" [label="29: DeclStmt \n n$24=_fun___variable_initialization(&i:int) assign_last [line 145, column 3]\n *&i:int=0 [line 145, column 3]\n EXIT_SCOPE(n$24); [line 145, column 3]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_29" [label="29: DeclStmt \n VARIABLE_DECLARED(i:int); [line 145, column 3]\n *&i:int=0 [line 145, column 3]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_29" -> "g7.727bb92f57c3951d11695a52c92c2b0c_28" ; @@ -784,7 +784,7 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_25" -> "g8.c98b82371573afc08575815d90f5eac4_24" ; -"g8.c98b82371573afc08575815d90f5eac4_26" [label="26: DeclStmt \n n$15=_fun___variable_initialization(&v:int) assign_last [line 174, column 9]\n n$12=*&i:int [line 174, column 17]\n n$13=*&j:int [line 174, column 21]\n n$14=*&k:int [line 174, column 25]\n *&v:int=((n$12 + n$13) + n$14) [line 174, column 9]\n EXIT_SCOPE(n$12,n$13,n$14,n$15); [line 174, column 9]\n " shape="box"] +"g8.c98b82371573afc08575815d90f5eac4_26" [label="26: DeclStmt \n VARIABLE_DECLARED(v:int); [line 174, column 9]\n n$12=*&i:int [line 174, column 17]\n n$13=*&j:int [line 174, column 21]\n n$14=*&k:int [line 174, column 25]\n *&v:int=((n$12 + n$13) + n$14) [line 174, column 9]\n EXIT_SCOPE(n$12,n$13,n$14); [line 174, column 9]\n " shape="box"] "g8.c98b82371573afc08575815d90f5eac4_26" -> "g8.c98b82371573afc08575815d90f5eac4_21" ; @@ -792,24 +792,24 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_27" -> "g8.c98b82371573afc08575815d90f5eac4_8" ; -"g8.c98b82371573afc08575815d90f5eac4_28" [label="28: Prune (true branch, if) \n n$19=*&q:int [line 169, column 7]\n PRUNE(n$19, true); [line 169, column 7]\n NULLIFY(&q); [line 169, column 7]\n EXIT_SCOPE(n$19,q); [line 169, column 7]\n APPLY_ABSTRACTION; [line 169, column 7]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_28" [label="28: Prune (true branch, if) \n n$18=*&q:int [line 169, column 7]\n PRUNE(n$18, true); [line 169, column 7]\n NULLIFY(&q); [line 169, column 7]\n EXIT_SCOPE(n$18,q); [line 169, column 7]\n APPLY_ABSTRACTION; [line 169, column 7]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_28" -> "g8.c98b82371573afc08575815d90f5eac4_25" ; -"g8.c98b82371573afc08575815d90f5eac4_29" [label="29: Prune (false branch, if) \n n$19=*&q:int [line 169, column 7]\n PRUNE(!n$19, false); [line 169, column 7]\n NULLIFY(&q); [line 169, column 7]\n EXIT_SCOPE(n$19,q); [line 169, column 7]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_29" [label="29: Prune (false branch, if) \n n$18=*&q:int [line 169, column 7]\n PRUNE(!n$18, false); [line 169, column 7]\n NULLIFY(&q); [line 169, column 7]\n EXIT_SCOPE(n$18,q); [line 169, column 7]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_29" -> "g8.c98b82371573afc08575815d90f5eac4_27" ; -"g8.c98b82371573afc08575815d90f5eac4_30" [label="30: DeclStmt \n n$23=_fun___variable_initialization(&k:int) assign_last [line 168, column 3]\n *&k:int=0 [line 168, column 3]\n EXIT_SCOPE(n$23); [line 168, column 3]\n " shape="box"] +"g8.c98b82371573afc08575815d90f5eac4_30" [label="30: DeclStmt \n VARIABLE_DECLARED(k:int); [line 168, column 3]\n *&k:int=0 [line 168, column 3]\n " shape="box"] "g8.c98b82371573afc08575815d90f5eac4_30" -> "g8.c98b82371573afc08575815d90f5eac4_28" ; "g8.c98b82371573afc08575815d90f5eac4_30" -> "g8.c98b82371573afc08575815d90f5eac4_29" ; -"g8.c98b82371573afc08575815d90f5eac4_31" [label="31: DeclStmt \n n$24=_fun___variable_initialization(&j:int) assign_last [line 168, column 3]\n *&j:int=0 [line 168, column 3]\n EXIT_SCOPE(n$24); [line 168, column 3]\n " shape="box"] +"g8.c98b82371573afc08575815d90f5eac4_31" [label="31: DeclStmt \n VARIABLE_DECLARED(j:int); [line 168, column 3]\n *&j:int=0 [line 168, column 3]\n " shape="box"] "g8.c98b82371573afc08575815d90f5eac4_31" -> "g8.c98b82371573afc08575815d90f5eac4_30" ; -"g8.c98b82371573afc08575815d90f5eac4_32" [label="32: DeclStmt \n n$25=_fun___variable_initialization(&i:int) assign_last [line 168, column 3]\n *&i:int=0 [line 168, column 3]\n EXIT_SCOPE(n$25); [line 168, column 3]\n " shape="box"] +"g8.c98b82371573afc08575815d90f5eac4_32" [label="32: DeclStmt \n VARIABLE_DECLARED(i:int); [line 168, column 3]\n *&i:int=0 [line 168, column 3]\n " shape="box"] "g8.c98b82371573afc08575815d90f5eac4_32" -> "g8.c98b82371573afc08575815d90f5eac4_31" ; 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 193f23f21..d0dbd12b9 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/array_initlistexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/array_initlistexpr.c.dot @@ -7,7 +7,7 @@ digraph cfg { "init_const_array.b1cf412cdbd1beaf15a9f6a3789043b9_2" [label="2: Exit init_const_array \n " color=yellow style=filled] -"init_const_array.b1cf412cdbd1beaf15a9f6a3789043b9_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&a:int[3*4][2*12]) assign_last [line 10, column 3]\n n$0=*&z:int [line 10, column 19]\n *&a[0][0]:int=(n$0 + 1) [line 10, column 18]\n *&a[0][1]:int=2 [line 10, column 18]\n *&a[0][2]:int=3 [line 10, column 18]\n *&a[1][0]:int=5 [line 10, column 33]\n *&a[1][1]:int=6 [line 10, column 33]\n *&a[1][2]:int=7 [line 10, column 33]\n NULLIFY(&z); [line 10, column 33]\n NULLIFY(&a); [line 10, column 33]\n EXIT_SCOPE(n$0,n$1,z,a); [line 10, column 33]\n APPLY_ABSTRACTION; [line 10, column 33]\n " shape="box"] +"init_const_array.b1cf412cdbd1beaf15a9f6a3789043b9_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:int[3*4][2*12]); [line 10, column 3]\n n$0=*&z:int [line 10, column 19]\n *&a[0][0]:int=(n$0 + 1) [line 10, column 18]\n *&a[0][1]:int=2 [line 10, column 18]\n *&a[0][2]:int=3 [line 10, column 18]\n *&a[1][0]:int=5 [line 10, column 33]\n *&a[1][1]:int=6 [line 10, column 33]\n *&a[1][2]:int=7 [line 10, column 33]\n NULLIFY(&z); [line 10, column 33]\n NULLIFY(&a); [line 10, column 33]\n EXIT_SCOPE(n$0,z,a); [line 10, column 33]\n APPLY_ABSTRACTION; [line 10, column 33]\n " shape="box"] "init_const_array.b1cf412cdbd1beaf15a9f6a3789043b9_3" -> "init_const_array.b1cf412cdbd1beaf15a9f6a3789043b9_2" ; @@ -22,7 +22,7 @@ digraph cfg { "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_3" -> "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_2" ; -"init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x:int) assign_last [line 14, column 3]\n n$3=*&len:int [line 14, column 15]\n *&x:int=(2 * n$3) [line 14, column 3]\n EXIT_SCOPE(n$3,n$4); [line 14, column 3]\n " shape="box"] +"init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 14, column 3]\n n$3=*&len:int [line 14, column 15]\n *&x:int=(2 * n$3) [line 14, column 3]\n EXIT_SCOPE(n$3); [line 14, column 3]\n " shape="box"] "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_4" -> "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/initialization/compound_literal.c.dot b/infer/tests/codetoanalyze/c/frontend/initialization/compound_literal.c.dot index 9c66a9176..3c6fd664f 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/compound_literal.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/compound_literal.c.dot @@ -22,7 +22,7 @@ digraph cfg { "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_2" ; -"init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&p:point) assign_last [line 16, column 3]\n *&p.x:int=32 [line 16, column 34]\n *&p.y:int=52 [line 16, column 34]\n n$1=*&p:point [line 16, column 20]\n EXIT_SCOPE(n$1,n$2); [line 16, column 20]\n " shape="box"] +"init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:point); [line 16, column 3]\n *&p.x:int=32 [line 16, column 34]\n *&p.y:int=52 [line 16, column 34]\n n$1=*&p:point [line 16, column 20]\n EXIT_SCOPE(n$1); [line 16, column 20]\n " shape="box"] "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/initialization/enum_initlistexpr.c.dot b/infer/tests/codetoanalyze/c/frontend/initialization/enum_initlistexpr.c.dot index dca4f5871..9a8be52bc 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/enum_initlistexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/enum_initlistexpr.c.dot @@ -7,15 +7,15 @@ digraph cfg { "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_2" [label="2: Exit union_initialize_FIXME \n " color=yellow style=filled] -"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_3" [label="3: DeclStmt \n n$0=_fun___variable_initialization(&set_f1_implicit:U) assign_last [line 15, column 3]\n NULLIFY(&set_f1_implicit); [line 15, column 3]\n EXIT_SCOPE(n$0,set_f1_implicit); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_3" [label="3: DeclStmt \n VARIABLE_DECLARED(set_f1_implicit:U); [line 15, column 3]\n NULLIFY(&set_f1_implicit); [line 15, column 3]\n EXIT_SCOPE(set_f1_implicit); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_3" -> "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_2" ; -"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_4" [label="4: DeclStmt \n n$1=_fun___variable_initialization(&set_f2:U) assign_last [line 14, column 3]\n NULLIFY(&set_f2); [line 14, column 3]\n EXIT_SCOPE(n$1,set_f2); [line 14, column 3]\n " shape="box"] +"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_4" [label="4: DeclStmt \n VARIABLE_DECLARED(set_f2:U); [line 14, column 3]\n NULLIFY(&set_f2); [line 14, column 3]\n EXIT_SCOPE(set_f2); [line 14, column 3]\n " shape="box"] "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_4" -> "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_3" ; -"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_5" [label="5: DeclStmt \n n$2=_fun___variable_initialization(&set_f1:U) assign_last [line 13, column 3]\n NULLIFY(&set_f1); [line 13, column 3]\n EXIT_SCOPE(n$2,set_f1); [line 13, column 3]\n " shape="box"] +"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_5" [label="5: DeclStmt \n VARIABLE_DECLARED(set_f1:U); [line 13, column 3]\n NULLIFY(&set_f1); [line 13, column 3]\n EXIT_SCOPE(set_f1); [line 13, column 3]\n " shape="box"] "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_5" -> "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/initialization/struct_initlistexpr.c.dot b/infer/tests/codetoanalyze/c/frontend/initialization/struct_initlistexpr.c.dot index 565fb2bf7..38f259b57 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/struct_initlistexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/struct_initlistexpr.c.dot @@ -11,7 +11,7 @@ digraph cfg { "field_set_correctly.b8d9a4294a85d24818c312a099420dce_3" -> "field_set_correctly.b8d9a4294a85d24818c312a099420dce_2" ; -"field_set_correctly.b8d9a4294a85d24818c312a099420dce_4" [label="4: DeclStmt \n n$1=_fun___variable_initialization(&e:Employee) assign_last [line 33, column 3]\n *&e.ssn:int=12 [line 33, column 23]\n *&e.salary:float=3000.5 [line 33, column 23]\n *&e.doj.date:int=12 [line 33, column 37]\n *&e.doj.month:int=12 [line 33, column 37]\n *&e.doj.year:int=2010 [line 33, column 37]\n EXIT_SCOPE(n$1); [line 33, column 37]\n " shape="box"] +"field_set_correctly.b8d9a4294a85d24818c312a099420dce_4" [label="4: DeclStmt \n VARIABLE_DECLARED(e:Employee); [line 33, column 3]\n *&e.ssn:int=12 [line 33, column 23]\n *&e.salary:float=3000.5 [line 33, column 23]\n *&e.doj.date:int=12 [line 33, column 37]\n *&e.doj.month:int=12 [line 33, column 37]\n *&e.doj.year:int=2010 [line 33, column 37]\n " shape="box"] "field_set_correctly.b8d9a4294a85d24818c312a099420dce_4" -> "field_set_correctly.b8d9a4294a85d24818c312a099420dce_3" ; @@ -48,7 +48,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&p:Point) assign_last [line 15, column 14]\n *&p.x:int=1 [line 15, column 31]\n n$0=_fun_foo() [line 15, column 35]\n *&p.y:int=(n$0 + 3) [line 15, column 31]\n NULLIFY(&p); [line 15, column 31]\n EXIT_SCOPE(n$0,n$1,p); [line 15, column 31]\n APPLY_ABSTRACTION; [line 15, column 31]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:Point); [line 15, column 14]\n *&p.x:int=1 [line 15, column 31]\n n$0=_fun_foo() [line 15, column 35]\n *&p.y:int=(n$0 + 3) [line 15, column 31]\n NULLIFY(&p); [line 15, column 31]\n EXIT_SCOPE(n$0,p); [line 15, column 31]\n APPLY_ABSTRACTION; [line 15, column 31]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/do_while.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/do_while.c.dot index ca9daaadf..24277914a 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/do_while.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/do_while.c.dot @@ -32,11 +32,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$2=_fun___variable_initialization(&b:int) assign_last [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n EXIT_SCOPE(n$2); [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n n$3=_fun___variable_initialization(&a:int) assign_last [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n NULLIFY(&a); [line 9, column 3]\n EXIT_SCOPE(n$3,a); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n NULLIFY(&a); [line 9, column 3]\n EXIT_SCOPE(a); [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/do_while_condition_side_effects.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/do_while_condition_side_effects.c.dot index 5cfdd42c1..7dc8bc2a4 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/do_while_condition_side_effects.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/do_while_condition_side_effects.c.dot @@ -32,11 +32,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$2=_fun___variable_initialization(&b:int) assign_last [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(n$2,b); [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(b); [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n n$3=_fun___variable_initialization(&a:int) assign_last [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n NULLIFY(&a); [line 9, column 3]\n EXIT_SCOPE(n$3,a); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n NULLIFY(&a); [line 9, column 3]\n EXIT_SCOPE(a); [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/do_while_nested.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/do_while_nested.c.dot index 5e4cad25e..3d48531e0 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/do_while_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/do_while_nested.c.dot @@ -53,11 +53,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n n$4=_fun___variable_initialization(&b:int) assign_last [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n EXIT_SCOPE(n$4); [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n n$5=_fun___variable_initialization(&a:int) assign_last [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n NULLIFY(&a); [line 9, column 3]\n EXIT_SCOPE(n$5,a); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n NULLIFY(&a); [line 9, column 3]\n EXIT_SCOPE(a); [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_condition_side_effects.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_condition_side_effects.c.dot index a7067f7f8..157d33276 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_condition_side_effects.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_condition_side_effects.c.dot @@ -15,36 +15,36 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$0=_fun___variable_initialization(&b:int) assign_last [line 11, column 8]\n *&b:int=3 [line 11, column 8]\n NULLIFY(&b); [line 11, column 8]\n EXIT_SCOPE(n$0,b); [line 11, column 8]\n APPLY_ABSTRACTION; [line 11, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 11, column 8]\n *&b:int=3 [line 11, column 8]\n NULLIFY(&b); [line 11, column 8]\n EXIT_SCOPE(b); [line 11, column 8]\n APPLY_ABSTRACTION; [line 11, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$1=*&i:int [line 11, column 29]\n *&i:int=(n$1 + 1) [line 11, column 29]\n EXIT_SCOPE(n$1); [line 11, column 29]\n APPLY_ABSTRACTION; [line 11, column 29]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$0=*&i:int [line 11, column 29]\n *&i:int=(n$0 + 1) [line 11, column 29]\n EXIT_SCOPE(n$0); [line 11, column 29]\n APPLY_ABSTRACTION; [line 11, column 29]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&b:int=10 [line 11, column 20]\n n$2=*&b:int [line 11, column 20]\n NULLIFY(&b); [line 11, column 20]\n EXIT_SCOPE(b); [line 11, column 20]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&b:int=10 [line 11, column 20]\n n$1=*&b:int [line 11, column 20]\n NULLIFY(&b); [line 11, column 20]\n EXIT_SCOPE(b); [line 11, column 20]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE(n$2, true); [line 11, column 20]\n EXIT_SCOPE(n$2); [line 11, column 20]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE(n$1, true); [line 11, column 20]\n EXIT_SCOPE(n$1); [line 11, column 20]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!n$2, false); [line 11, column 20]\n NULLIFY(&i); [line 11, column 20]\n NULLIFY(&j); [line 11, column 20]\n EXIT_SCOPE(n$2,i,j); [line 11, column 20]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!n$1, false); [line 11, column 20]\n NULLIFY(&i); [line 11, column 20]\n NULLIFY(&j); [line 11, column 20]\n EXIT_SCOPE(n$1,i,j); [line 11, column 20]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: AddAssign \n n$3=*&j:int [line 12, column 10]\n n$4=*&j:int [line 12, column 5]\n *&j:int=(n$4 + n$3) [line 12, column 5]\n EXIT_SCOPE(n$3,n$4); [line 12, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 12, column 10]\n n$3=*&j:int [line 12, column 5]\n *&j:int=(n$3 + n$2) [line 12, column 5]\n EXIT_SCOPE(n$2,n$3); [line 12, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n n$6=_fun___variable_initialization(&i:int) assign_last [line 10, column 3]\n *&i:int=0 [line 10, column 3]\n EXIT_SCOPE(n$6); [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 3]\n *&i:int=0 [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n n$7=_fun___variable_initialization(&j:int) assign_last [line 9, column 3]\n *&j:int=0 [line 9, column 3]\n EXIT_SCOPE(n$7); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(j:int); [line 9, column 3]\n *&j:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot index a585f4f10..1bf3a79b6 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot @@ -15,24 +15,24 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$1=_fun___variable_initialization(&i:int) assign_last [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n EXIT_SCOPE(n$1); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$2=*&i:int [line 10, column 27]\n *&i:int=(n$2 + 1) [line 10, column 27]\n EXIT_SCOPE(n$2); [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$1=*&i:int [line 10, column 27]\n *&i:int=(n$1 + 1) [line 10, column 27]\n EXIT_SCOPE(n$1); [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: LT \n n$3=*&i:int [line 10, column 19]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: LT \n n$2=*&i:int [line 10, column 19]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$3 < 10), true); [line 10, column 19]\n EXIT_SCOPE(n$3); [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$2 < 10), true); [line 10, column 19]\n EXIT_SCOPE(n$2); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$3 < 10), false); [line 10, column 19]\n NULLIFY(&i); [line 10, column 19]\n EXIT_SCOPE(n$3,i); [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 10, column 19]\n NULLIFY(&i); [line 10, column 19]\n EXIT_SCOPE(n$2,i); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -40,32 +40,32 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n n$4=_fun___variable_initialization(&j:int) assign_last [line 11, column 10]\n *&j:int=0 [line 11, column 10]\n EXIT_SCOPE(n$4); [line 11, column 10]\n APPLY_ABSTRACTION; [line 11, column 10]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(j:int); [line 11, column 10]\n *&j:int=0 [line 11, column 10]\n APPLY_ABSTRACTION; [line 11, column 10]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: UnaryOperator \n n$5=*&j:int [line 11, column 29]\n *&j:int=(n$5 + 1) [line 11, column 29]\n EXIT_SCOPE(n$5); [line 11, column 29]\n APPLY_ABSTRACTION; [line 11, column 29]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: UnaryOperator \n n$3=*&j:int [line 11, column 29]\n *&j:int=(n$3 + 1) [line 11, column 29]\n EXIT_SCOPE(n$3); [line 11, column 29]\n APPLY_ABSTRACTION; [line 11, column 29]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: LT \n n$6=*&j:int [line 11, column 21]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: LT \n n$4=*&j:int [line 11, column 21]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: Prune (true branch, for loop) \n PRUNE((n$6 < 10), true); [line 11, column 21]\n EXIT_SCOPE(n$6); [line 11, column 21]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: Prune (true branch, for loop) \n PRUNE((n$4 < 10), true); [line 11, column 21]\n EXIT_SCOPE(n$4); [line 11, column 21]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_16" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: Prune (false branch, for loop) \n PRUNE(!(n$6 < 10), false); [line 11, column 21]\n NULLIFY(&j); [line 11, column 21]\n EXIT_SCOPE(n$6,j); [line 11, column 21]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: Prune (false branch, for loop) \n PRUNE(!(n$4 < 10), false); [line 11, column 21]\n NULLIFY(&j); [line 11, column 21]\n EXIT_SCOPE(n$4,j); [line 11, column 21]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: BinaryOperatorStmt: Assign \n n$7=*&k:int [line 12, column 11]\n n$8=*&i:int [line 12, column 15]\n *&k:int=(n$7 + n$8) [line 12, column 7]\n EXIT_SCOPE(n$7,n$8); [line 12, column 7]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: BinaryOperatorStmt: Assign \n n$5=*&k:int [line 12, column 11]\n n$6=*&i:int [line 12, column 15]\n *&k:int=(n$5 + n$6) [line 12, column 7]\n EXIT_SCOPE(n$5,n$6); [line 12, column 7]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_16" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: DeclStmt \n n$11=_fun___variable_initialization(&k:int) assign_last [line 9, column 3]\n *&k:int=0 [line 9, column 3]\n EXIT_SCOPE(n$11); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: DeclStmt \n VARIABLE_DECLARED(k:int); [line 9, column 3]\n *&k:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_17" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition.c.dot index 6c0b1876e..feec3028a 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition.c.dot @@ -16,11 +16,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$0=_fun___variable_initialization(&b:int) assign_last [line 10, column 8]\n *&b:int=0 [line 10, column 8]\n EXIT_SCOPE(n$0); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 8]\n *&b:int=0 [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$1=*&b:int [line 10, column 20]\n *&b:int=(n$1 + 1) [line 10, column 20]\n EXIT_SCOPE(n$1); [line 10, column 20]\n APPLY_ABSTRACTION; [line 10, column 20]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$0=*&b:int [line 10, column 20]\n *&b:int=(n$0 + 1) [line 10, column 20]\n EXIT_SCOPE(n$0); [line 10, column 20]\n APPLY_ABSTRACTION; [line 10, column 20]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -32,11 +32,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 11, column 10]\n n$3=*&j:int [line 11, column 5]\n *&j:int=(n$3 + n$2) [line 11, column 5]\n EXIT_SCOPE(n$2,n$3); [line 11, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: BinaryOperatorStmt: AddAssign \n n$1=*&j:int [line 11, column 10]\n n$2=*&j:int [line 11, column 5]\n *&j:int=(n$2 + n$1) [line 11, column 5]\n EXIT_SCOPE(n$1,n$2); [line 11, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n n$5=_fun___variable_initialization(&j:int) assign_last [line 9, column 3]\n *&j:int=0 [line 9, column 3]\n EXIT_SCOPE(n$5); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(j:int); [line 9, column 3]\n *&j:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr.c.dot index 537d181a4..6f7f87371 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr.c.dot @@ -16,7 +16,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$0=_fun___variable_initialization(&b:int) assign_last [line 10, column 8]\n *&b:int=0 [line 10, column 8]\n NULLIFY(&b); [line 10, column 8]\n EXIT_SCOPE(n$0,b); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 8]\n *&b:int=0 [line 10, column 8]\n NULLIFY(&b); [line 10, column 8]\n EXIT_SCOPE(b); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -28,11 +28,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 11, column 10]\n n$3=*&j:int [line 11, column 5]\n *&j:int=(n$3 + n$2) [line 11, column 5]\n EXIT_SCOPE(n$2,n$3); [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: AddAssign \n n$1=*&j:int [line 11, column 10]\n n$2=*&j:int [line 11, column 5]\n *&j:int=(n$2 + n$1) [line 11, column 5]\n EXIT_SCOPE(n$1,n$2); [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$5=_fun___variable_initialization(&j:int) assign_last [line 9, column 3]\n *&j:int=0 [line 9, column 3]\n EXIT_SCOPE(n$5); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(j:int); [line 9, column 3]\n *&j:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr_body.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr_body.c.dot index b347b2c49..e7d168067 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr_body.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr_body.c.dot @@ -28,7 +28,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: DeclStmt \n n$3=_fun___variable_initialization(&d:int) assign_last [line 9, column 3]\n *&d:int=0 [line 9, column 3]\n NULLIFY(&d); [line 9, column 3]\n EXIT_SCOPE(n$3,d); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: DeclStmt \n VARIABLE_DECLARED(d:int); [line 9, column 3]\n *&d:int=0 [line 9, column 3]\n NULLIFY(&d); [line 9, column 3]\n EXIT_SCOPE(d); [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_only_body.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_only_body.c.dot index 7a06c218a..55546342e 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_only_body.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_only_body.c.dot @@ -28,7 +28,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: DeclStmt \n n$4=_fun___variable_initialization(&i:int) assign_last [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n EXIT_SCOPE(n$4); [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: DeclStmt \n VARIABLE_DECLARED(i:int); [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_simple.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_simple.c.dot index d502d9504..fad127f69 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_simple.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_simple.c.dot @@ -15,32 +15,32 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$0=_fun___variable_initialization(&i:int) assign_last [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n EXIT_SCOPE(n$0); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$1=*&i:int [line 10, column 27]\n *&i:int=(n$1 + 1) [line 10, column 27]\n EXIT_SCOPE(n$1); [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$0=*&i:int [line 10, column 27]\n *&i:int=(n$0 + 1) [line 10, column 27]\n EXIT_SCOPE(n$0); [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: LT \n n$2=*&i:int [line 10, column 19]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: LT \n n$1=*&i:int [line 10, column 19]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$2 < 10), true); [line 10, column 19]\n EXIT_SCOPE(n$2); [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$1 < 10), true); [line 10, column 19]\n EXIT_SCOPE(n$1); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 10, column 19]\n NULLIFY(&i); [line 10, column 19]\n NULLIFY(&j); [line 10, column 19]\n EXIT_SCOPE(n$2,i,j); [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$1 < 10), false); [line 10, column 19]\n NULLIFY(&i); [line 10, column 19]\n NULLIFY(&j); [line 10, column 19]\n EXIT_SCOPE(n$1,i,j); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: AddAssign \n n$3=*&j:int [line 11, column 10]\n n$4=*&j:int [line 11, column 5]\n *&j:int=(n$4 + n$3) [line 11, column 5]\n EXIT_SCOPE(n$3,n$4); [line 11, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 11, column 10]\n n$3=*&j:int [line 11, column 5]\n *&j:int=(n$3 + n$2) [line 11, column 5]\n EXIT_SCOPE(n$2,n$3); [line 11, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n n$6=_fun___variable_initialization(&j:int) assign_last [line 9, column 3]\n *&j:int=0 [line 9, column 3]\n EXIT_SCOPE(n$6); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(j:int); [line 9, column 3]\n *&j:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_while_nested.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_while_nested.c.dot index a8c670ebf..46e639853 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_while_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_while_nested.c.dot @@ -15,24 +15,24 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$1=_fun___variable_initialization(&i:int) assign_last [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n EXIT_SCOPE(n$1); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$2=*&i:int [line 10, column 27]\n *&i:int=(n$2 + 1) [line 10, column 27]\n EXIT_SCOPE(n$2); [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$1=*&i:int [line 10, column 27]\n *&i:int=(n$1 + 1) [line 10, column 27]\n EXIT_SCOPE(n$1); [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: LT \n n$3=*&i:int [line 10, column 19]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: LT \n n$2=*&i:int [line 10, column 19]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$3 < 10), true); [line 10, column 19]\n EXIT_SCOPE(n$3); [line 10, column 19]\n APPLY_ABSTRACTION; [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$2 < 10), true); [line 10, column 19]\n EXIT_SCOPE(n$2); [line 10, column 19]\n APPLY_ABSTRACTION; [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$3 < 10), false); [line 10, column 19]\n NULLIFY(&i); [line 10, column 19]\n EXIT_SCOPE(n$3,i); [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 10, column 19]\n NULLIFY(&i); [line 10, column 19]\n EXIT_SCOPE(n$2,i); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -40,24 +40,24 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: LT \n n$4=*&k:int [line 11, column 12]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: LT \n n$3=*&k:int [line 11, column 12]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (true branch, while) \n PRUNE((n$4 < 10), true); [line 11, column 12]\n EXIT_SCOPE(n$4); [line 11, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (true branch, while) \n PRUNE((n$3 < 10), true); [line 11, column 12]\n EXIT_SCOPE(n$3); [line 11, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch, while) \n PRUNE(!(n$4 < 10), false); [line 11, column 12]\n EXIT_SCOPE(n$4); [line 11, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch, while) \n PRUNE(!(n$3 < 10), false); [line 11, column 12]\n EXIT_SCOPE(n$3); [line 11, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: UnaryOperator \n n$5=*&k:int [line 12, column 7]\n *&k:int=(n$5 + 1) [line 12, column 7]\n EXIT_SCOPE(n$5); [line 12, column 7]\n APPLY_ABSTRACTION; [line 12, column 7]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: UnaryOperator \n n$4=*&k:int [line 12, column 7]\n *&k:int=(n$4 + 1) [line 12, column 7]\n EXIT_SCOPE(n$4); [line 12, column 7]\n APPLY_ABSTRACTION; [line 12, column 7]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n n$8=_fun___variable_initialization(&k:int) assign_last [line 9, column 3]\n *&k:int=0 [line 9, column 3]\n EXIT_SCOPE(n$8); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n VARIABLE_DECLARED(k:int); [line 9, column 3]\n *&k:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot index 6d2e95d2f..563b03927 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot @@ -32,7 +32,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$3=_fun___variable_initialization(&i:int) assign_last [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n EXIT_SCOPE(n$3); [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(i:int); [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/while_condition_side_effects.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/while_condition_side_effects.c.dot index aaec02476..2148b2e18 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while_condition_side_effects.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while_condition_side_effects.c.dot @@ -32,7 +32,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$3=_fun___variable_initialization(&i:int) assign_last [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n NULLIFY(&i); [line 9, column 3]\n EXIT_SCOPE(n$3,i); [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(i:int); [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n NULLIFY(&i); [line 9, column 3]\n EXIT_SCOPE(i); [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/while_nested.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/while_nested.c.dot index 09d8fb2d1..a55389830 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while_nested.c.dot @@ -53,11 +53,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n n$6=_fun___variable_initialization(&k:int) assign_last [line 10, column 3]\n *&k:int=0 [line 10, column 3]\n EXIT_SCOPE(n$6); [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(k:int); [line 10, column 3]\n *&k:int=0 [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n n$7=_fun___variable_initialization(&i:int) assign_last [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n EXIT_SCOPE(n$7); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n VARIABLE_DECLARED(i:int); [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/while_with_continue_and_break.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/while_with_continue_and_break.c.dot index b57d04023..478411dad 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while_with_continue_and_break.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while_with_continue_and_break.c.dot @@ -75,7 +75,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_18" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; -"main.fad58de7366495db4650cfefac2fcd61_19" [label="19: DeclStmt \n n$11=_fun___variable_initialization(&x:int) assign_last [line 9, column 3]\n *&x:int=0 [line 9, column 3]\n EXIT_SCOPE(n$11); [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=0 [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_19" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_with_increment.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_with_increment.c.dot index cc8de4931..6f67452f0 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_with_increment.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_with_increment.c.dot @@ -7,23 +7,23 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n " color=yellow style=filled] -"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&e:int) assign_last [line 13, column 3]\n n$0=*&a:int [line 13, column 11]\n *&a:int=(n$0 - 1) [line 13, column 11]\n *&e:int=n$0 [line 13, column 3]\n NULLIFY(&a); [line 13, column 3]\n NULLIFY(&e); [line 13, column 3]\n EXIT_SCOPE(n$0,n$1,a,e); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(e:int); [line 13, column 3]\n n$0=*&a:int [line 13, column 11]\n *&a:int=(n$0 - 1) [line 13, column 11]\n *&e:int=n$0 [line 13, column 3]\n NULLIFY(&a); [line 13, column 3]\n NULLIFY(&e); [line 13, column 3]\n EXIT_SCOPE(n$0,a,e); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&d:int) assign_last [line 12, column 3]\n n$2=*&a:int [line 12, column 11]\n *&a:int=(n$2 - 1) [line 12, column 11]\n *&d:int=(n$2 - 1) [line 12, column 3]\n NULLIFY(&d); [line 12, column 3]\n EXIT_SCOPE(n$2,n$3,d); [line 12, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 12, column 3]\n n$1=*&a:int [line 12, column 11]\n *&a:int=(n$1 - 1) [line 12, column 11]\n *&d:int=(n$1 - 1) [line 12, column 3]\n NULLIFY(&d); [line 12, column 3]\n EXIT_SCOPE(n$1,d); [line 12, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&c:int) assign_last [line 11, column 3]\n n$4=*&a:int [line 11, column 11]\n *&a:int=(n$4 + 1) [line 11, column 11]\n *&c:int=n$4 [line 11, column 3]\n NULLIFY(&c); [line 11, column 3]\n EXIT_SCOPE(n$4,n$5,c); [line 11, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 11, column 3]\n n$2=*&a:int [line 11, column 11]\n *&a:int=(n$2 + 1) [line 11, column 11]\n *&c:int=n$2 [line 11, column 3]\n NULLIFY(&c); [line 11, column 3]\n EXIT_SCOPE(n$2,c); [line 11, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; -"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n n$7=_fun___variable_initialization(&b:int) assign_last [line 10, column 3]\n n$6=*&a:int [line 10, column 11]\n *&a:int=(n$6 + 1) [line 10, column 11]\n *&b:int=(n$6 + 1) [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(n$6,n$7,b); [line 10, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n n$3=*&a:int [line 10, column 11]\n *&a:int=(n$3 + 1) [line 10, column 11]\n *&b:int=(n$3 + 1) [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(n$3,b); [line 10, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_6" -> "test.098f6bcd4621d373cade4e832627b4f6_5" ; -"test.098f6bcd4621d373cade4e832627b4f6_7" [label="7: DeclStmt \n n$8=_fun___variable_initialization(&a:int) assign_last [line 9, column 3]\n *&a:int=3 [line 9, column 3]\n EXIT_SCOPE(n$8); [line 9, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=3 [line 9, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_7" -> "test.098f6bcd4621d373cade4e832627b4f6_6" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot index 99cf66baf..98a1491e1 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot @@ -15,7 +15,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$1=_fun___variable_initialization(&X:int) assign_last [line 12, column 5]\n *&X:int=4 [line 12, column 5]\n EXIT_SCOPE(n$1); [line 12, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(X:int); [line 12, column 5]\n *&X:int=4 [line 12, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -23,7 +23,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: DeclStmt \n n$2=_fun___variable_initialization(&y:int) assign_last [line 9, column 3]\n *&y:int=3 [line 9, column 3]\n NULLIFY(&y); [line 9, column 3]\n EXIT_SCOPE(n$2,y); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: DeclStmt \n VARIABLE_DECLARED(y:int); [line 9, column 3]\n *&y:int=3 [line 9, column 3]\n NULLIFY(&y); [line 9, column 3]\n EXIT_SCOPE(y); [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; @@ -38,11 +38,11 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_6" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&y:int) assign_last [line 21, column 5]\n *&y:int=1 [line 21, column 5]\n EXIT_SCOPE(n$2); [line 21, column 5]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:int); [line 21, column 5]\n *&y:int=1 [line 21, column 5]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&x:int) assign_last [line 20, column 5]\n n$3=*&p:int* [line 20, column 14]\n n$4=*n$3:int [line 20, column 13]\n *&x:int=n$4 [line 20, column 5]\n NULLIFY(&p); [line 20, column 5]\n EXIT_SCOPE(n$3,n$4,n$5,p); [line 20, column 5]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 5]\n n$2=*&p:int* [line 20, column 14]\n n$3=*n$2:int [line 20, column 13]\n *&x:int=n$3 [line 20, column 5]\n NULLIFY(&p); [line 20, column 5]\n EXIT_SCOPE(n$2,n$3,p); [line 20, column 5]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; @@ -81,7 +81,7 @@ digraph cfg { "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_8" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_10" ; -"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_9" [label="9: DeclStmt \n n$7=_fun___variable_initialization(&x:int) assign_last [line 28, column 5]\n *&x:int=1 [line 28, column 5]\n EXIT_SCOPE(n$7); [line 28, column 5]\n " shape="box"] +"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:int); [line 28, column 5]\n *&x:int=1 [line 28, column 5]\n " shape="box"] "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_9" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/nestedassignment.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/nestedassignment.c.dot index 9d32c9f7a..925dd6873 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/nestedassignment.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/nestedassignment.c.dot @@ -31,7 +31,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$12=_fun___variable_initialization(&x:double) assign_last [line 9, column 3]\n *&x:double=1. [line 9, column 3]\n NULLIFY(&x); [line 9, column 3]\n EXIT_SCOPE(n$12,x); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:double); [line 9, column 3]\n *&x:double=1. [line 9, column 3]\n NULLIFY(&x); [line 9, column 3]\n EXIT_SCOPE(x); [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; diff --git a/infer/tests/codetoanalyze/c/frontend/offsetof_expr/offsetof_expr.c.dot b/infer/tests/codetoanalyze/c/frontend/offsetof_expr/offsetof_expr.c.dot index b2837c5eb..95d1b481a 100644 --- a/infer/tests/codetoanalyze/c/frontend/offsetof_expr/offsetof_expr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/offsetof_expr/offsetof_expr.c.dot @@ -36,7 +36,7 @@ digraph cfg { "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_9" -> "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_2" ; -"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_10" [label="10: DeclStmt \n n$3=_fun___variable_initialization(&i:int) assign_last [line 17, column 3]\n *&i:int=n$2 [line 17, column 3]\n EXIT_SCOPE(n$2,n$3); [line 17, column 3]\n " shape="box"] +"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(i:int); [line 17, column 3]\n *&i:int=n$2 [line 17, column 3]\n EXIT_SCOPE(n$2); [line 17, column 3]\n " shape="box"] "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_10" -> "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot index a62288774..4257947bf 100644 --- a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot @@ -68,7 +68,7 @@ digraph cfg { "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_14" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_13" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_15" [label="15: DeclStmt \n n$11=_fun___variable_initialization(&x:int) assign_last [line 17, column 7]\n *&x:int=1 [line 17, column 7]\n " shape="box"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x:int); [line 17, column 7]\n *&x:int=1 [line 17, column 7]\n " shape="box"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_15" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_14" ; @@ -98,7 +98,7 @@ digraph cfg { "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_21" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_18" ; "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_21" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_19" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_22" [label="22: DeclStmt \n n$14=_fun___variable_initialization(&value:int) assign_last [line 11, column 3]\n *&value:int=0 [line 11, column 3]\n EXIT_SCOPE(n$14); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_22" [label="22: DeclStmt \n VARIABLE_DECLARED(value:int); [line 11, column 3]\n *&value:int=0 [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_22" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_4" ; @@ -117,7 +117,7 @@ digraph cfg { "test_switch10.8a4170d3888102a2491712a5ad55ad8d_4" -> "test_switch10.8a4170d3888102a2491712a5ad55ad8d_3" ; -"test_switch10.8a4170d3888102a2491712a5ad55ad8d_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&value:int) assign_last [line 183, column 3]\n *&value:int=0 [line 183, column 3]\n NULLIFY(&value); [line 183, column 3]\n EXIT_SCOPE(n$3,value); [line 183, column 3]\n " shape="box"] +"test_switch10.8a4170d3888102a2491712a5ad55ad8d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(value:int); [line 183, column 3]\n *&value:int=0 [line 183, column 3]\n NULLIFY(&value); [line 183, column 3]\n EXIT_SCOPE(value); [line 183, column 3]\n " shape="box"] "test_switch10.8a4170d3888102a2491712a5ad55ad8d_5" -> "test_switch10.8a4170d3888102a2491712a5ad55ad8d_4" ; @@ -174,7 +174,7 @@ digraph cfg { "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_13" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_3" ; -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_14" [label="14: DeclStmt \n n$6=_fun___variable_initialization(&value:int) assign_last [line 189, column 3]\n *&value:int=0 [line 189, column 3]\n EXIT_SCOPE(n$6); [line 189, column 3]\n " shape="box"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_14" [label="14: DeclStmt \n VARIABLE_DECLARED(value:int); [line 189, column 3]\n *&value:int=0 [line 189, column 3]\n " shape="box"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_14" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_5" ; @@ -202,15 +202,15 @@ digraph cfg { "test_switch2.0717c55583f10f472ddb2d73d867e556_6" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_5" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_7" [label="7: DeclStmt \n n$4=_fun___variable_initialization(&something:int) assign_last [line 47, column 7]\n *&something:int=1 [line 47, column 7]\n EXIT_SCOPE(n$4); [line 47, column 7]\n " shape="box"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_7" [label="7: DeclStmt \n VARIABLE_DECLARED(something:int); [line 47, column 7]\n *&something:int=1 [line 47, column 7]\n " shape="box"] "test_switch2.0717c55583f10f472ddb2d73d867e556_7" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_6" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_8" [label="8: DeclStmt \n n$5=_fun___variable_initialization(&z:int) assign_last [line 43, column 7]\n *&z:int=9 [line 43, column 7]\n APPLY_ABSTRACTION; [line 43, column 7]\n " shape="box"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 43, column 7]\n *&z:int=9 [line 43, column 7]\n APPLY_ABSTRACTION; [line 43, column 7]\n " shape="box"] "test_switch2.0717c55583f10f472ddb2d73d867e556_8" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_7" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_9" [label="9: Call _fun_printf \n n$7=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 41, column 7]\n EXIT_SCOPE(n$7); [line 41, column 7]\n APPLY_ABSTRACTION; [line 41, column 7]\n " shape="box"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_9" [label="9: Call _fun_printf \n n$5=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 41, column 7]\n EXIT_SCOPE(n$5); [line 41, column 7]\n APPLY_ABSTRACTION; [line 41, column 7]\n " shape="box"] "test_switch2.0717c55583f10f472ddb2d73d867e556_9" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_3" ; @@ -248,7 +248,7 @@ digraph cfg { "test_switch2.0717c55583f10f472ddb2d73d867e556_17" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_7" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_18" [label="18: DeclStmt \n n$9=_fun___variable_initialization(&value:int) assign_last [line 37, column 3]\n *&value:int=0 [line 37, column 3]\n EXIT_SCOPE(n$9); [line 37, column 3]\n " shape="box"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_18" [label="18: DeclStmt \n VARIABLE_DECLARED(value:int); [line 37, column 3]\n *&value:int=0 [line 37, column 3]\n " shape="box"] "test_switch2.0717c55583f10f472ddb2d73d867e556_18" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_4" ; @@ -268,19 +268,19 @@ digraph cfg { "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_4" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_15" ; "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_4" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_16" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_5" [label="5: DeclStmt \n n$2=_fun___variable_initialization(&z:int) assign_last [line 69, column 7]\n *&z:int=9 [line 69, column 7]\n APPLY_ABSTRACTION; [line 69, column 7]\n " shape="box"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(z:int); [line 69, column 7]\n *&z:int=9 [line 69, column 7]\n APPLY_ABSTRACTION; [line 69, column 7]\n " shape="box"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_5" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_6" [label="6: UnaryOperator \n n$4=*&something:int [line 67, column 7]\n *&something:int=(n$4 + 1) [line 67, column 7]\n NULLIFY(&something); [line 67, column 7]\n EXIT_SCOPE(n$4,something); [line 67, column 7]\n APPLY_ABSTRACTION; [line 67, column 7]\n " shape="box"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_6" [label="6: UnaryOperator \n n$3=*&something:int [line 67, column 7]\n *&something:int=(n$3 + 1) [line 67, column 7]\n NULLIFY(&something); [line 67, column 7]\n EXIT_SCOPE(n$3,something); [line 67, column 7]\n APPLY_ABSTRACTION; [line 67, column 7]\n " shape="box"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_6" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_7" [label="7: DeclStmt \n n$5=_fun___variable_initialization(&something:int) assign_last [line 66, column 7]\n *&something:int=1 [line 66, column 7]\n EXIT_SCOPE(n$5); [line 66, column 7]\n " shape="box"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(something:int); [line 66, column 7]\n *&something:int=1 [line 66, column 7]\n " shape="box"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_7" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_6" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_8" [label="8: Call _fun_printf \n n$7=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 63, column 7]\n EXIT_SCOPE(n$7); [line 63, column 7]\n APPLY_ABSTRACTION; [line 63, column 7]\n " shape="box"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_8" [label="8: Call _fun_printf \n n$5=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 63, column 7]\n EXIT_SCOPE(n$5); [line 63, column 7]\n APPLY_ABSTRACTION; [line 63, column 7]\n " shape="box"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_8" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" ; @@ -319,7 +319,7 @@ digraph cfg { "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_16" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_13" ; "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_16" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_14" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_17" [label="17: DeclStmt \n n$9=_fun___variable_initialization(&value:int) assign_last [line 60, column 3]\n *&value:int=0 [line 60, column 3]\n EXIT_SCOPE(n$9); [line 60, column 3]\n " shape="box"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_17" [label="17: DeclStmt \n VARIABLE_DECLARED(value:int); [line 60, column 3]\n *&value:int=0 [line 60, column 3]\n " shape="box"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_17" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_4" ; @@ -347,15 +347,15 @@ digraph cfg { "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_6" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_5" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_7" [label="7: DeclStmt \n n$4=_fun___variable_initialization(&something:int) assign_last [line 88, column 7]\n *&something:int=1 [line 88, column 7]\n EXIT_SCOPE(n$4); [line 88, column 7]\n " shape="box"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_7" [label="7: DeclStmt \n VARIABLE_DECLARED(something:int); [line 88, column 7]\n *&something:int=1 [line 88, column 7]\n " shape="box"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_7" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_6" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_8" [label="8: DeclStmt \n n$5=_fun___variable_initialization(&z:int) assign_last [line 84, column 7]\n *&z:int=9 [line 84, column 7]\n APPLY_ABSTRACTION; [line 84, column 7]\n " shape="box"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 84, column 7]\n *&z:int=9 [line 84, column 7]\n APPLY_ABSTRACTION; [line 84, column 7]\n " shape="box"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_8" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_7" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_9" [label="9: Call _fun_printf \n n$7=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 82, column 7]\n EXIT_SCOPE(n$7); [line 82, column 7]\n APPLY_ABSTRACTION; [line 82, column 7]\n " shape="box"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_9" [label="9: Call _fun_printf \n n$5=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 82, column 7]\n EXIT_SCOPE(n$5); [line 82, column 7]\n APPLY_ABSTRACTION; [line 82, column 7]\n " shape="box"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_9" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_3" ; @@ -393,7 +393,7 @@ digraph cfg { "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_17" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_7" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_18" [label="18: DeclStmt \n n$9=_fun___variable_initialization(&value:int) assign_last [line 78, column 3]\n *&value:int=0 [line 78, column 3]\n EXIT_SCOPE(n$9); [line 78, column 3]\n " shape="box"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_18" [label="18: DeclStmt \n VARIABLE_DECLARED(value:int); [line 78, column 3]\n *&value:int=0 [line 78, column 3]\n " shape="box"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_18" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_4" ; @@ -450,7 +450,7 @@ digraph cfg { "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_13" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_4" ; -"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_14" [label="14: DeclStmt \n n$9=_fun___variable_initialization(&value:int) assign_last [line 101, column 3]\n *&value:int=0 [line 101, column 3]\n EXIT_SCOPE(n$9); [line 101, column 3]\n APPLY_ABSTRACTION; [line 101, column 3]\n " shape="box"] +"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_14" [label="14: DeclStmt \n VARIABLE_DECLARED(value:int); [line 101, column 3]\n *&value:int=0 [line 101, column 3]\n APPLY_ABSTRACTION; [line 101, column 3]\n " shape="box"] "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_14" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_4" ; @@ -495,19 +495,19 @@ digraph cfg { "test_switch6.a23e54b3840073f4ece330ef3c560915_10" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_21" ; "test_switch6.a23e54b3840073f4ece330ef3c560915_10" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_22" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_11" [label="11: DeclStmt \n n$4=_fun___variable_initialization(&z:int) assign_last [line 126, column 7]\n *&z:int=9 [line 126, column 7]\n APPLY_ABSTRACTION; [line 126, column 7]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_11" [label="11: DeclStmt \n VARIABLE_DECLARED(z:int); [line 126, column 7]\n *&z:int=9 [line 126, column 7]\n APPLY_ABSTRACTION; [line 126, column 7]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_11" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_3" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_12" [label="12: UnaryOperator \n n$6=*&something:int [line 124, column 7]\n *&something:int=(n$6 + 1) [line 124, column 7]\n NULLIFY(&something); [line 124, column 7]\n EXIT_SCOPE(n$6,something); [line 124, column 7]\n APPLY_ABSTRACTION; [line 124, column 7]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_12" [label="12: UnaryOperator \n n$5=*&something:int [line 124, column 7]\n *&something:int=(n$5 + 1) [line 124, column 7]\n NULLIFY(&something); [line 124, column 7]\n EXIT_SCOPE(n$5,something); [line 124, column 7]\n APPLY_ABSTRACTION; [line 124, column 7]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_12" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_3" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_13" [label="13: DeclStmt \n n$7=_fun___variable_initialization(&something:int) assign_last [line 123, column 7]\n *&something:int=1 [line 123, column 7]\n EXIT_SCOPE(n$7); [line 123, column 7]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_13" [label="13: DeclStmt \n VARIABLE_DECLARED(something:int); [line 123, column 7]\n *&something:int=1 [line 123, column 7]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_13" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_12" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_14" [label="14: Call _fun_printf \n n$9=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 120, column 7]\n EXIT_SCOPE(n$9); [line 120, column 7]\n APPLY_ABSTRACTION; [line 120, column 7]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_14" [label="14: Call _fun_printf \n n$7=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 120, column 7]\n EXIT_SCOPE(n$7); [line 120, column 7]\n APPLY_ABSTRACTION; [line 120, column 7]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_14" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_3" ; @@ -546,7 +546,7 @@ digraph cfg { "test_switch6.a23e54b3840073f4ece330ef3c560915_22" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_19" ; "test_switch6.a23e54b3840073f4ece330ef3c560915_22" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_20" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_23" [label="23: DeclStmt \n n$11=_fun___variable_initialization(&value:int) assign_last [line 117, column 3]\n *&value:int=0 [line 117, column 3]\n EXIT_SCOPE(n$11); [line 117, column 3]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_23" [label="23: DeclStmt \n VARIABLE_DECLARED(value:int); [line 117, column 3]\n *&value:int=0 [line 117, column 3]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_23" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_5" ; @@ -566,19 +566,19 @@ digraph cfg { "test_switch7.8298274f5578f21bdddf71ffa79afcb8_4" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_15" ; "test_switch7.8298274f5578f21bdddf71ffa79afcb8_4" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_16" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_5" [label="5: DeclStmt \n n$2=_fun___variable_initialization(&z:int) assign_last [line 146, column 7]\n *&z:int=9 [line 146, column 7]\n APPLY_ABSTRACTION; [line 146, column 7]\n " shape="box"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(z:int); [line 146, column 7]\n *&z:int=9 [line 146, column 7]\n APPLY_ABSTRACTION; [line 146, column 7]\n " shape="box"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_5" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_6" [label="6: UnaryOperator \n n$4=*&something:int [line 144, column 7]\n *&something:int=(n$4 + 1) [line 144, column 7]\n NULLIFY(&something); [line 144, column 7]\n EXIT_SCOPE(n$4,something); [line 144, column 7]\n APPLY_ABSTRACTION; [line 144, column 7]\n " shape="box"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_6" [label="6: UnaryOperator \n n$3=*&something:int [line 144, column 7]\n *&something:int=(n$3 + 1) [line 144, column 7]\n NULLIFY(&something); [line 144, column 7]\n EXIT_SCOPE(n$3,something); [line 144, column 7]\n APPLY_ABSTRACTION; [line 144, column 7]\n " shape="box"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_6" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_7" [label="7: DeclStmt \n n$5=_fun___variable_initialization(&something:int) assign_last [line 143, column 7]\n *&something:int=1 [line 143, column 7]\n EXIT_SCOPE(n$5); [line 143, column 7]\n " shape="box"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_7" [label="7: DeclStmt \n VARIABLE_DECLARED(something:int); [line 143, column 7]\n *&something:int=1 [line 143, column 7]\n " shape="box"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_7" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_6" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_8" [label="8: Call _fun_printf \n n$7=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 140, column 7]\n EXIT_SCOPE(n$7); [line 140, column 7]\n APPLY_ABSTRACTION; [line 140, column 7]\n " shape="box"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_8" [label="8: Call _fun_printf \n n$5=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 140, column 7]\n EXIT_SCOPE(n$5); [line 140, column 7]\n APPLY_ABSTRACTION; [line 140, column 7]\n " shape="box"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_8" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" ; @@ -617,11 +617,11 @@ digraph cfg { "test_switch7.8298274f5578f21bdddf71ffa79afcb8_16" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_13" ; "test_switch7.8298274f5578f21bdddf71ffa79afcb8_16" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_14" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_17" [label="17: DeclStmt \n n$9=_fun___variable_initialization(&value:int) assign_last [line 137, column 3]\n *&value:int=0 [line 137, column 3]\n NULLIFY(&value); [line 137, column 3]\n EXIT_SCOPE(n$9,value); [line 137, column 3]\n " shape="box"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_17" [label="17: DeclStmt \n VARIABLE_DECLARED(value:int); [line 137, column 3]\n *&value:int=0 [line 137, column 3]\n NULLIFY(&value); [line 137, column 3]\n EXIT_SCOPE(value); [line 137, column 3]\n " shape="box"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_17" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_4" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_1" [label="1: Start test_switch8\nFormals: \nLocals: a:int 0$?%__sil_tmpSIL_temp_conditional___n$2:int z:int something:int value:int \n " color=yellow style=filled] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_1" [label="1: Start test_switch8\nFormals: \nLocals: a:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int z:int something:int value:int \n " color=yellow style=filled] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_1" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_29" ; @@ -649,7 +649,7 @@ digraph cfg { "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_7" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_3" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" [label="8: DeclStmt \n n$1=_fun___variable_initialization(&a:int) assign_last [line 171, column 5]\n *&a:int=0 [line 171, column 5]\n NULLIFY(&a); [line 171, column 5]\n EXIT_SCOPE(n$1,a); [line 171, column 5]\n APPLY_ABSTRACTION; [line 171, column 5]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 171, column 5]\n *&a:int=0 [line 171, column 5]\n NULLIFY(&a); [line 171, column 5]\n EXIT_SCOPE(a); [line 171, column 5]\n APPLY_ABSTRACTION; [line 171, column 5]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_4" ; @@ -657,41 +657,41 @@ digraph cfg { "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_9" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_15" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_10" [label="10: BinaryOperatorStmt: EQ \n n$3=_fun_getValue() [line 157, column 13]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_10" [label="10: BinaryOperatorStmt: EQ \n n$2=_fun_getValue() [line 157, column 13]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_10" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_11" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_10" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_12" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_11" [label="11: Prune (true branch, boolean exp) \n PRUNE((n$3 == 0), true); [line 157, column 13]\n EXIT_SCOPE(n$3); [line 157, column 13]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_11" [label="11: Prune (true branch, boolean exp) \n PRUNE((n$2 == 0), true); [line 157, column 13]\n EXIT_SCOPE(n$2); [line 157, column 13]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_11" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_13" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_12" [label="12: Prune (false branch, boolean exp) \n PRUNE(!(n$3 == 0), false); [line 157, column 13]\n EXIT_SCOPE(n$3); [line 157, column 13]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_12" [label="12: Prune (false branch, boolean exp) \n PRUNE(!(n$2 == 0), false); [line 157, column 13]\n EXIT_SCOPE(n$2); [line 157, column 13]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_12" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_14" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_13" [label="13: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 157, column 13]\n APPLY_ABSTRACTION; [line 157, column 13]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_13" [label="13: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 157, column 13]\n APPLY_ABSTRACTION; [line 157, column 13]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_13" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_9" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_14" [label="14: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=2 [line 157, column 13]\n APPLY_ABSTRACTION; [line 157, column 13]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_14" [label="14: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=2 [line 157, column 13]\n APPLY_ABSTRACTION; [line 157, column 13]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_14" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_9" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_15" [label="15: SwitchStmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 157, column 13]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 157, column 13]\n EXIT_SCOPE(0$?%__sil_tmpSIL_temp_conditional___n$2); [line 157, column 13]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_15" [label="15: SwitchStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 157, column 13]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 157, column 13]\n EXIT_SCOPE(0$?%__sil_tmpSIL_temp_conditional___n$1); [line 157, column 13]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_15" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_27" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_15" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_28" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_16" [label="16: DeclStmt \n n$6=_fun___variable_initialization(&z:int) assign_last [line 166, column 9]\n *&z:int=9 [line 166, column 9]\n APPLY_ABSTRACTION; [line 166, column 9]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_16" [label="16: DeclStmt \n VARIABLE_DECLARED(z:int); [line 166, column 9]\n *&z:int=9 [line 166, column 9]\n APPLY_ABSTRACTION; [line 166, column 9]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_16" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_17" [label="17: UnaryOperator \n n$9=*&something:int [line 163, column 9]\n *&something:int=(n$9 + 1) [line 163, column 9]\n NULLIFY(&something); [line 163, column 9]\n EXIT_SCOPE(n$9,something); [line 163, column 9]\n APPLY_ABSTRACTION; [line 163, column 9]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_17" [label="17: UnaryOperator \n n$7=*&something:int [line 163, column 9]\n *&something:int=(n$7 + 1) [line 163, column 9]\n NULLIFY(&something); [line 163, column 9]\n EXIT_SCOPE(n$7,something); [line 163, column 9]\n APPLY_ABSTRACTION; [line 163, column 9]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_17" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_4" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_18" [label="18: DeclStmt \n n$10=_fun___variable_initialization(&something:int) assign_last [line 162, column 9]\n *&something:int=1 [line 162, column 9]\n EXIT_SCOPE(n$10); [line 162, column 9]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_18" [label="18: DeclStmt \n VARIABLE_DECLARED(something:int); [line 162, column 9]\n *&something:int=1 [line 162, column 9]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_18" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_17" ; @@ -699,46 +699,46 @@ digraph cfg { "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_19" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_2" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_20" [label="20: Call _fun_printf \n n$11=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 159, column 9]\n EXIT_SCOPE(n$11); [line 159, column 9]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_20" [label="20: Call _fun_printf \n n$8=_fun_printf((char const *)\"(0)HELLO WORLD!\":char const *) [line 159, column 9]\n EXIT_SCOPE(n$8); [line 159, column 9]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_20" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_19" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_21" [label="21: Prune (true branch, switch) \n PRUNE((n$4 == 3), true); [line 168, column 7]\n EXIT_SCOPE(n$4); [line 168, column 7]\n APPLY_ABSTRACTION; [line 168, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_21" [label="21: Prune (true branch, switch) \n PRUNE((n$3 == 3), true); [line 168, column 7]\n EXIT_SCOPE(n$3); [line 168, column 7]\n APPLY_ABSTRACTION; [line 168, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_21" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_22" [label="22: Prune (false branch, switch) \n PRUNE(!(n$4 == 3), false); [line 168, column 7]\n EXIT_SCOPE(n$4); [line 168, column 7]\n APPLY_ABSTRACTION; [line 168, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_22" [label="22: Prune (false branch, switch) \n PRUNE(!(n$3 == 3), false); [line 168, column 7]\n EXIT_SCOPE(n$3); [line 168, column 7]\n APPLY_ABSTRACTION; [line 168, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_22" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_23" [label="23: Prune (true branch, switch) \n PRUNE((n$4 == 2), true); [line 167, column 7]\n EXIT_SCOPE(n$4); [line 167, column 7]\n APPLY_ABSTRACTION; [line 167, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_23" [label="23: Prune (true branch, switch) \n PRUNE((n$3 == 2), true); [line 167, column 7]\n EXIT_SCOPE(n$3); [line 167, column 7]\n APPLY_ABSTRACTION; [line 167, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_23" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_24" [label="24: Prune (false branch, switch) \n PRUNE(!(n$4 == 2), false); [line 167, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_24" [label="24: Prune (false branch, switch) \n PRUNE(!(n$3 == 2), false); [line 167, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_24" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_21" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_24" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_22" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_25" [label="25: Prune (true branch, switch) \n PRUNE((n$4 == 1), true); [line 161, column 7]\n EXIT_SCOPE(n$4); [line 161, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_25" [label="25: Prune (true branch, switch) \n PRUNE((n$3 == 1), true); [line 161, column 7]\n EXIT_SCOPE(n$3); [line 161, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_25" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_18" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_26" [label="26: Prune (false branch, switch) \n PRUNE(!(n$4 == 1), false); [line 161, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_26" [label="26: Prune (false branch, switch) \n PRUNE(!(n$3 == 1), false); [line 161, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_26" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_23" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_26" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_24" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_27" [label="27: Prune (true branch, switch) \n PRUNE((n$4 == 0), true); [line 158, column 7]\n NULLIFY(&value); [line 158, column 7]\n EXIT_SCOPE(n$4,value); [line 158, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_27" [label="27: Prune (true branch, switch) \n PRUNE((n$3 == 0), true); [line 158, column 7]\n NULLIFY(&value); [line 158, column 7]\n EXIT_SCOPE(n$3,value); [line 158, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_27" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_20" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_28" [label="28: Prune (false branch, switch) \n PRUNE(!(n$4 == 0), false); [line 158, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_28" [label="28: Prune (false branch, switch) \n PRUNE(!(n$3 == 0), false); [line 158, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_28" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_25" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_28" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_26" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_29" [label="29: DeclStmt \n n$14=_fun___variable_initialization(&value:int) assign_last [line 155, column 3]\n *&value:int=0 [line 155, column 3]\n EXIT_SCOPE(n$14); [line 155, column 3]\n APPLY_ABSTRACTION; [line 155, column 3]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_29" [label="29: DeclStmt \n VARIABLE_DECLARED(value:int); [line 155, column 3]\n *&value:int=0 [line 155, column 3]\n APPLY_ABSTRACTION; [line 155, column 3]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_29" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_4" ; @@ -757,7 +757,7 @@ digraph cfg { "test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_4" -> "test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_3" ; -"test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&value:int) assign_last [line 177, column 3]\n *&value:int=0 [line 177, column 3]\n EXIT_SCOPE(n$3); [line 177, column 3]\n " shape="box"] +"test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_5" [label="5: DeclStmt \n VARIABLE_DECLARED(value:int); [line 177, column 3]\n *&value:int=0 [line 177, column 3]\n " shape="box"] "test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_5" -> "test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_unroll.c.dot b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_unroll.c.dot index 611f3b067..b66e29fb4 100644 --- a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_unroll.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_unroll.c.dot @@ -97,11 +97,11 @@ digraph cfg { "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" ; "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" [label="24: DeclStmt \n n$12=_fun___variable_initialization(&loop:int) assign_last [line 9, column 3]\n n$11=*&n:int [line 9, column 14]\n *&loop:int=(n$11 + (3 / 4)) [line 9, column 3]\n EXIT_SCOPE(n$11,n$12); [line 9, column 3]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" [label="24: DeclStmt \n VARIABLE_DECLARED(loop:int); [line 9, column 3]\n n$11=*&n:int [line 9, column 14]\n *&loop:int=(n$11 + (3 / 4)) [line 9, column 3]\n EXIT_SCOPE(n$11); [line 9, column 3]\n " shape="box"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_25" [label="25: DeclStmt \n n$13=_fun___variable_initialization(&ret:int) assign_last [line 8, column 3]\n *&ret:int=0 [line 8, column 3]\n EXIT_SCOPE(n$13); [line 8, column 3]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_25" [label="25: DeclStmt \n VARIABLE_DECLARED(ret:int); [line 8, column 3]\n *&ret:int=0 [line 8, column 3]\n " shape="box"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_25" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" ; diff --git a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_with_labels.c.dot b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_with_labels.c.dot index f20a59de3..ad45a4581 100644 --- a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_with_labels.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_with_labels.c.dot @@ -54,7 +54,7 @@ digraph cfg { "label_case.83d07a314df100648248d9156212096b_13" -> "label_case.83d07a314df100648248d9156212096b_10" ; "label_case.83d07a314df100648248d9156212096b_13" -> "label_case.83d07a314df100648248d9156212096b_11" ; -"label_case.83d07a314df100648248d9156212096b_14" [label="14: DeclStmt \n n$8=_fun___variable_initialization(&ret:int) assign_last [line 25, column 3]\n *&ret:int=0 [line 25, column 3]\n EXIT_SCOPE(n$8); [line 25, column 3]\n " shape="box"] +"label_case.83d07a314df100648248d9156212096b_14" [label="14: DeclStmt \n VARIABLE_DECLARED(ret:int); [line 25, column 3]\n *&ret:int=0 [line 25, column 3]\n " shape="box"] "label_case.83d07a314df100648248d9156212096b_14" -> "label_case.83d07a314df100648248d9156212096b_4" ; @@ -107,7 +107,7 @@ digraph cfg { "label_default.f30729864b0243c0a794ef0254fe7d23_12" -> "label_default.f30729864b0243c0a794ef0254fe7d23_9" ; "label_default.f30729864b0243c0a794ef0254fe7d23_12" -> "label_default.f30729864b0243c0a794ef0254fe7d23_10" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_13" [label="13: DeclStmt \n n$8=_fun___variable_initialization(&ret:int) assign_last [line 9, column 3]\n *&ret:int=0 [line 9, column 3]\n EXIT_SCOPE(n$8); [line 9, column 3]\n " shape="box"] +"label_default.f30729864b0243c0a794ef0254fe7d23_13" [label="13: DeclStmt \n VARIABLE_DECLARED(ret:int); [line 9, column 3]\n *&ret:int=0 [line 9, column 3]\n " shape="box"] "label_default.f30729864b0243c0a794ef0254fe7d23_13" -> "label_default.f30729864b0243c0a794ef0254fe7d23_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/unusual_exps/generic_exp.c.dot b/infer/tests/codetoanalyze/c/frontend/unusual_exps/generic_exp.c.dot index 2e76bbe6c..d7b7c8fc0 100644 --- a/infer/tests/codetoanalyze/c/frontend/unusual_exps/generic_exp.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/unusual_exps/generic_exp.c.dot @@ -7,11 +7,11 @@ digraph cfg { "test_typename.b2359812ef4a83b4e2638a11e6c522b3_2" [label="2: Exit test_typename \n " color=yellow style=filled] -"test_typename.b2359812ef4a83b4e2638a11e6c522b3_3" [label="3: DeclStmt \n n$0=_fun___variable_initialization(&z:int) assign_last [line 14, column 3]\n *&z:int=3 [line 14, column 3]\n NULLIFY(&z); [line 14, column 3]\n EXIT_SCOPE(n$0,z); [line 14, column 3]\n APPLY_ABSTRACTION; [line 14, column 3]\n " shape="box"] +"test_typename.b2359812ef4a83b4e2638a11e6c522b3_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z:int); [line 14, column 3]\n *&z:int=3 [line 14, column 3]\n NULLIFY(&z); [line 14, column 3]\n EXIT_SCOPE(z); [line 14, column 3]\n APPLY_ABSTRACTION; [line 14, column 3]\n " shape="box"] "test_typename.b2359812ef4a83b4e2638a11e6c522b3_3" -> "test_typename.b2359812ef4a83b4e2638a11e6c522b3_2" ; -"test_typename.b2359812ef4a83b4e2638a11e6c522b3_4" [label="4: DeclStmt \n n$1=_fun___variable_initialization(&x:int) assign_last [line 13, column 3]\n *&x:int=2 [line 13, column 3]\n NULLIFY(&x); [line 13, column 3]\n EXIT_SCOPE(n$1,x); [line 13, column 3]\n " shape="box"] +"test_typename.b2359812ef4a83b4e2638a11e6c522b3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 13, column 3]\n *&x:int=2 [line 13, column 3]\n NULLIFY(&x); [line 13, column 3]\n EXIT_SCOPE(x); [line 13, column 3]\n " shape="box"] "test_typename.b2359812ef4a83b4e2638a11e6c522b3_4" -> "test_typename.b2359812ef4a83b4e2638a11e6c522b3_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 f822c5440..c7206dcf5 100644 --- a/infer/tests/codetoanalyze/c/frontend/unusual_stmts/asm.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/unusual_stmts/asm.c.dot @@ -15,7 +15,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$2=_fun___variable_initialization(&src:int) assign_last [line 18, column 3]\n *&src:int=1 [line 18, column 3]\n EXIT_SCOPE(n$2); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(src:int); [line 18, column 3]\n *&src:int=1 [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; 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 fdfa67cf8..531ce8c2e 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 @@ -40,11 +40,11 @@ digraph cfg { "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" [label="11: DeclStmt \n n$5=_fun___variable_initialization(&i:int) assign_last [line 13, column 3]\n n$4=_fun___builtin_va_arg(&valist:void*) [line 13, column 11]\n *&i:int=n$4 [line 13, column 3]\n EXIT_SCOPE(n$4,n$5); [line 13, column 3]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" [label="11: DeclStmt \n VARIABLE_DECLARED(i:int); [line 13, column 3]\n n$4=_fun___builtin_va_arg(&valist:void*) [line 13, column 11]\n *&i:int=n$4 [line 13, column 3]\n EXIT_SCOPE(n$4); [line 13, 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 n$6=_fun___builtin_va_start(&valist:void*,&x:int&) [line 12, column 3]\n EXIT_SCOPE(n$6,x); [line 12, column 3]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" [label="12: Call _fun___builtin_va_start \n n$5=_fun___builtin_va_start(&valist:void*,&x:int&) [line 12, column 3]\n EXIT_SCOPE(n$5,x); [line 12, column 3]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" ; diff --git a/infer/tests/codetoanalyze/c/performance/issues.exp b/infer/tests/codetoanalyze/c/performance/issues.exp index 94672d915..99bee7400 100644 --- a/infer/tests/codetoanalyze/c/performance/issues.exp +++ b/infer/tests/codetoanalyze/c/performance/issues.exp @@ -1,74 +1,74 @@ -codetoanalyze/c/performance/break.c, break_constant, 0, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 8 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), degree = 1,{1+max(0, p)},call to break_loop,Loop at line 10, column 3,{p},call to break_loop,Loop at line 10, column 3] -codetoanalyze/c/performance/break.c, break_loop, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), degree = 1,{1+max(0, p)},Loop at line 10, column 3,{p},Loop at line 10, column 3] -codetoanalyze/c/performance/break.c, break_loop_with_t, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), degree = 1,{1+max(0, p)},Loop at line 22, column 3,{p},Loop at line 22, column 3] +codetoanalyze/c/performance/break.c, break_constant, 0, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 7 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), degree = 1,{1+max(0, p)},call to break_loop,Loop at line 10, column 3,{p},call to break_loop,Loop at line 10, column 3] +codetoanalyze/c/performance/break.c, break_loop, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), degree = 1,{1+max(0, p)},Loop at line 10, column 3,{p},Loop at line 10, column 3] +codetoanalyze/c/performance/break.c, break_loop_with_t, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), degree = 1,{1+max(0, p)},Loop at line 22, column 3,{p},Loop at line 22, column 3] codetoanalyze/c/performance/compound_loop_guard.c, compound_while, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] -codetoanalyze/c/performance/compound_loop_guard.c, compound_while, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 6 + 3 ⋅ m + 4 ⋅ (1+max(0, m)), degree = 1,{1+max(0, m)},Loop at line 13, column 3,{m},Loop at line 13, column 3] +codetoanalyze/c/performance/compound_loop_guard.c, compound_while, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 4 + 3 ⋅ m + 4 ⋅ (1+max(0, m)), degree = 1,{1+max(0, m)},Loop at line 13, column 3,{m},Loop at line 13, column 3] codetoanalyze/c/performance/compound_loop_guard.c, nested_while_and_or, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/c/performance/compound_loop_guard.c, nested_while_and_or, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/c/performance/compound_loop_guard.c, nested_while_and_or, 4, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/c/performance/compound_loop_guard.c, nested_while_and_or, 4, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/c/performance/compound_loop_guard.c, simplified_simulated_while_with_and, 5, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] -codetoanalyze/c/performance/compound_loop_guard.c, simplified_simulated_while_with_and, 6, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 604, degree = 0] -codetoanalyze/c/performance/compound_loop_guard.c, simulated_nested_loop_with_and, 4, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3530, degree = 0] +codetoanalyze/c/performance/compound_loop_guard.c, simplified_simulated_while_with_and, 6, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 602, degree = 0] +codetoanalyze/c/performance/compound_loop_guard.c, simulated_nested_loop_with_and, 4, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3526, degree = 0] codetoanalyze/c/performance/compound_loop_guard.c, simulated_nested_loop_with_and, 7, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] codetoanalyze/c/performance/compound_loop_guard.c, simulated_nested_loop_with_and, 8, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/c/performance/compound_loop_guard.c, simulated_while_shortcut, 5, CONDITION_ALWAYS_FALSE, no_bucket, WARNING, [Here] codetoanalyze/c/performance/compound_loop_guard.c, simulated_while_with_and, 4, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] -codetoanalyze/c/performance/compound_loop_guard.c, simulated_while_with_and, 11, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 5 + 3 ⋅ p + 4 ⋅ (1+max(0, p)), degree = 1,{1+max(0, p)},Loop at line 43, column 3,{p},Loop at line 43, column 3] +codetoanalyze/c/performance/compound_loop_guard.c, simulated_while_with_and, 11, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 3 ⋅ p + 4 ⋅ (1+max(0, p)), degree = 1,{1+max(0, p)},Loop at line 43, column 3,{p},Loop at line 43, column 3] codetoanalyze/c/performance/compound_loop_guard.c, while_and_or, 0, INFINITE_EXECUTION_TIME_CALL, no_bucket, ERROR, [Unbounded loop,Loop at line 63, column 3] codetoanalyze/c/performance/compound_loop_guard.c, while_and_or, 2, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/c/performance/compound_loop_guard.c, while_and_or, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] codetoanalyze/c/performance/cost_test.c, alias_OK, 5, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [Binary operation: ([-oo, +oo] + 1):signed32] codetoanalyze/c/performance/cost_test.c, call_infinite, 0, INFINITE_EXECUTION_TIME_CALL, no_bucket, ERROR, [Call to infinite,Unbounded loop,Loop at line 143, column 3] -codetoanalyze/c/performance/cost_test.c, call_while_upto20_minus100_bad, 0, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 726, degree = 0] +codetoanalyze/c/performance/cost_test.c, call_while_upto20_minus100_bad, 0, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 606, degree = 0] codetoanalyze/c/performance/cost_test.c, infinite, 0, INFINITE_EXECUTION_TIME_CALL, no_bucket, ERROR, [Unbounded loop,Loop at line 143, column 3] codetoanalyze/c/performance/cost_test.c, infinite, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,,Assignment,Binary operation: ([-oo, +oo] + [0, +oo]):signed32] codetoanalyze/c/performance/cost_test.c, infinite_FN, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,,Assignment,Binary operation: ([-oo, +oo] + [0, +oo]):signed32] -codetoanalyze/c/performance/cost_test.c, loop0_bad, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1104, degree = 0] -codetoanalyze/c/performance/cost_test.c, loop1_bad, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1207, degree = 0] -codetoanalyze/c/performance/cost_test.c, loop2_bad, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 10 ⋅ k + 2 ⋅ (1+max(0, k)), degree = 1,{1+max(0, k)},Loop at line 85, column 3,{k},Loop at line 85, column 3] -codetoanalyze/c/performance/cost_test.c, main_bad, 8, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 214, degree = 0] -codetoanalyze/c/performance/cost_test.c, while_upto20_bad, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1 + 5 ⋅ (-m + 20) + (21-min(20, m)), degree = 1,{21-min(20, m)},Loop at line 117, column 3,{-m + 20},Loop at line 117, column 3] -codetoanalyze/c/performance/cost_test_deps.c, if_bad_loop, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 235, degree = 0] +codetoanalyze/c/performance/cost_test.c, loop0_bad, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1103, degree = 0] +codetoanalyze/c/performance/cost_test.c, loop1_bad, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1205, degree = 0] +codetoanalyze/c/performance/cost_test.c, loop2_bad, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2 + 10 ⋅ k + 2 ⋅ (1+max(0, k)), degree = 1,{1+max(0, k)},Loop at line 85, column 3,{k},Loop at line 85, column 3] +codetoanalyze/c/performance/cost_test.c, main_bad, 8, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 206, degree = 0] +codetoanalyze/c/performance/cost_test.c, while_upto20_bad, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1 + 4 ⋅ (-m + 20) + (21-min(20, m)), degree = 1,{21-min(20, m)},Loop at line 117, column 3,{-m + 20},Loop at line 117, column 3] +codetoanalyze/c/performance/cost_test_deps.c, if_bad_loop, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 201, degree = 0] codetoanalyze/c/performance/cost_test_deps.c, if_bad_loop, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/c/performance/cost_test_deps.c, loop_despite_inferbo, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1307, degree = 0] -codetoanalyze/c/performance/cost_test_deps.c, loop_no_dep1, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 609, degree = 0] +codetoanalyze/c/performance/cost_test_deps.c, loop_despite_inferbo, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1205, degree = 0] +codetoanalyze/c/performance/cost_test_deps.c, loop_no_dep1, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 606, degree = 0] codetoanalyze/c/performance/cost_test_deps.c, loop_no_dep1, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/c/performance/cost_test_deps.c, loop_no_dep2, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 614, degree = 0] +codetoanalyze/c/performance/cost_test_deps.c, loop_no_dep2, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 611, degree = 0] codetoanalyze/c/performance/cost_test_deps.c, loop_no_dep2, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/c/performance/cost_test_deps.c, nested_loop, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2551, degree = 0] -codetoanalyze/c/performance/cost_test_deps.c, real_while, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 217, degree = 0] +codetoanalyze/c/performance/cost_test_deps.c, nested_loop, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2544, degree = 0] +codetoanalyze/c/performance/cost_test_deps.c, real_while, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 215, degree = 0] codetoanalyze/c/performance/cost_test_deps.c, real_while, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Assignment,,Assignment,Binary operation: ([0, +oo] + [0, 29]):signed32] -codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop, 4, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2530, degree = 0] +codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop, 4, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2526, degree = 0] codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop, 7, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop_cond_in_goto, 4, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3535, degree = 0] -codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop_more_expensive, 4, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2535, degree = 0] +codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop_cond_in_goto, 4, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3531, degree = 0] +codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop_more_expensive, 4, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2531, degree = 0] codetoanalyze/c/performance/cost_test_deps.c, simulated_while, 10, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Assignment,,Assignment,Binary operation: ([0, +oo] + [0, 29]):signed32] -codetoanalyze/c/performance/cost_test_deps.c, simulated_while, 12, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 217, degree = 0] +codetoanalyze/c/performance/cost_test_deps.c, simulated_while, 12, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 215, degree = 0] codetoanalyze/c/performance/cost_test_deps.c, two_loops, 5, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([3, +oo] + 1):signed32] -codetoanalyze/c/performance/cost_test_deps.c, two_loops, 7, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 551, degree = 0] -codetoanalyze/c/performance/instantiate.c, do_2K_times_Bad, 0, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 16007, degree = 0] -codetoanalyze/c/performance/instantiate.c, do_half_m2_times, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 6 ⋅ (m - 1) × m + 8 ⋅ m + 2 ⋅ m × (max(1, m)) + 2 ⋅ (1+max(0, m)), degree = 2,{1+max(0, m)},Loop at line 31, column 3,{max(1, m)},call to do_n_times,Loop at line 12, column 3,{m},Loop at line 31, column 3,{m},Loop at line 31, column 3,{m - 1},call to do_n_times,Loop at line 12, column 3] -codetoanalyze/c/performance/instantiate.c, do_m2_times, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 8 ⋅ m + 6 ⋅ m × m + 2 ⋅ m × (1+max(0, m)) + 2 ⋅ (1+max(0, m)), degree = 2,{1+max(0, m)},Loop at line 24, column 3,{1+max(0, m)},call to do_n_times,Loop at line 12, column 3,{m},call to do_n_times,Loop at line 12, column 3,{m},Loop at line 24, column 3] -codetoanalyze/c/performance/instantiate.c, do_n_times, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 6 ⋅ n + 2 ⋅ (1+max(0, n)), degree = 1,{1+max(0, n)},Loop at line 12, column 3,{n},Loop at line 12, column 3] -codetoanalyze/c/performance/invariant.c, do_k_times, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 6 + 3 ⋅ n + 2 ⋅ (1+max(0, n)), degree = 1,{1+max(0, n)},Loop at line 23, column 3,{n},Loop at line 23, column 3] -codetoanalyze/c/performance/invariant.c, do_k_times_array, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 6 + 6 ⋅ n + 2 ⋅ (1+max(0, n)), degree = 1,{1+max(0, n)},Loop at line 31, column 3,{n},Loop at line 31, column 3] -codetoanalyze/c/performance/invariant.c, do_n_m_times_nested, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 9 + 6 ⋅ n + 3 ⋅ n × m + 2 ⋅ n × (1+max(0, m)) + 2 ⋅ (1+max(0, n)), degree = 2,{1+max(0, n)},Loop at line 40, column 3,{1+max(0, m)},Loop at line 41, column 5,{m},Loop at line 41, column 5,{n},Loop at line 40, column 3] -codetoanalyze/c/performance/invariant.c, two_loops_nested_invariant, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 8 + 24 ⋅ p + 2 ⋅ (1+max(0, p)), degree = 1,{1+max(0, p)},Loop at line 50, column 3,{p},Loop at line 50, column 3] +codetoanalyze/c/performance/cost_test_deps.c, two_loops, 7, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 546, degree = 0] +codetoanalyze/c/performance/instantiate.c, do_2K_times_Bad, 0, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 14006, degree = 0] +codetoanalyze/c/performance/instantiate.c, do_half_m2_times, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2 + 5 ⋅ (m - 1) × m + 7 ⋅ m + 2 ⋅ m × (max(1, m)) + 2 ⋅ (1+max(0, m)), degree = 2,{1+max(0, m)},Loop at line 31, column 3,{max(1, m)},call to do_n_times,Loop at line 12, column 3,{m},Loop at line 31, column 3,{m},Loop at line 31, column 3,{m - 1},call to do_n_times,Loop at line 12, column 3] +codetoanalyze/c/performance/instantiate.c, do_m2_times, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2 + 7 ⋅ m + 5 ⋅ m × m + 2 ⋅ m × (1+max(0, m)) + 2 ⋅ (1+max(0, m)), degree = 2,{1+max(0, m)},Loop at line 24, column 3,{1+max(0, m)},call to do_n_times,Loop at line 12, column 3,{m},call to do_n_times,Loop at line 12, column 3,{m},Loop at line 24, column 3] +codetoanalyze/c/performance/instantiate.c, do_n_times, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2 + 5 ⋅ n + 2 ⋅ (1+max(0, n)), degree = 1,{1+max(0, n)},Loop at line 12, column 3,{n},Loop at line 12, column 3] +codetoanalyze/c/performance/invariant.c, do_k_times, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 4 + 3 ⋅ n + 2 ⋅ (1+max(0, n)), degree = 1,{1+max(0, n)},Loop at line 23, column 3,{n},Loop at line 23, column 3] +codetoanalyze/c/performance/invariant.c, do_k_times_array, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 4 + 6 ⋅ n + 2 ⋅ (1+max(0, n)), degree = 1,{1+max(0, n)},Loop at line 31, column 3,{n},Loop at line 31, column 3] +codetoanalyze/c/performance/invariant.c, do_n_m_times_nested, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 6 + 5 ⋅ n + 3 ⋅ n × m + 2 ⋅ n × (1+max(0, m)) + 2 ⋅ (1+max(0, n)), degree = 2,{1+max(0, n)},Loop at line 40, column 3,{1+max(0, m)},Loop at line 41, column 5,{m},Loop at line 41, column 5,{n},Loop at line 40, column 3] +codetoanalyze/c/performance/invariant.c, two_loops_nested_invariant, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 5 + 23 ⋅ p + 2 ⋅ (1+max(0, p)), degree = 1,{1+max(0, p)},Loop at line 50, column 3,{p},Loop at line 50, column 3] codetoanalyze/c/performance/invariant.c, while_infinite_FN, 2, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] -codetoanalyze/c/performance/jump_inside_loop.c, jump_inside_loop, 8, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2004, degree = 0] -codetoanalyze/c/performance/loops.c, do_while_independent_of_p, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 227, degree = 0] -codetoanalyze/c/performance/loops.c, if_in_loop, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 379, degree = 0] +codetoanalyze/c/performance/jump_inside_loop.c, jump_inside_loop, 8, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2003, degree = 0] +codetoanalyze/c/performance/loops.c, do_while_independent_of_p, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 226, degree = 0] +codetoanalyze/c/performance/loops.c, if_in_loop, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 321, degree = 0] codetoanalyze/c/performance/loops.c, if_in_loop, 5, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/c/performance/loops.c, if_out_loop, 7, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 615, degree = 0] -codetoanalyze/c/performance/loops.c, larger_state_FN, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1006, degree = 0] -codetoanalyze/c/performance/loops.c, loop_use_global_vars, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 4 ⋅ x + 2 ⋅ (1+max(0, x)), degree = 1,{1+max(0, x)},Loop at line 69, column 3,{x},Loop at line 69, column 3] -codetoanalyze/c/performance/loops.c, ptr_cmp, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 5 + 5 ⋅ size + 2 ⋅ (2+max(-1, size)), degree = 1,{2+max(-1, size)},Loop at line 76, column 3,{size},Loop at line 76, column 3] -codetoanalyze/c/performance/purity.c, loop, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 7006, degree = 0] +codetoanalyze/c/performance/loops.c, if_out_loop, 7, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 512, degree = 0] +codetoanalyze/c/performance/loops.c, larger_state_FN, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1004, degree = 0] +codetoanalyze/c/performance/loops.c, loop_use_global_vars, 1, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 2 + 4 ⋅ x + 2 ⋅ (1+max(0, x)), degree = 1,{1+max(0, x)},Loop at line 69, column 3,{x},Loop at line 69, column 3] +codetoanalyze/c/performance/loops.c, ptr_cmp, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 5 ⋅ size + 2 ⋅ (2+max(-1, size)), degree = 1,{2+max(-1, size)},Loop at line 76, column 3,{size},Loop at line 76, column 3] +codetoanalyze/c/performance/purity.c, loop, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 7004, degree = 0] codetoanalyze/c/performance/switch_continue.c, test_switch, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] -codetoanalyze/c/performance/switch_continue.c, test_switch, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 602, degree = 0] +codetoanalyze/c/performance/switch_continue.c, test_switch, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 601, degree = 0] codetoanalyze/c/performance/switch_continue.c, unroll_loop, 6, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] codetoanalyze/c/performance/switch_continue.c, unroll_loop, 9, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] -codetoanalyze/c/performance/switch_continue.c, unroll_loop, 14, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 14 + (n - 1) + 11 ⋅ (max(1, n)), degree = 1,{max(1, n)},Loop at line 43, column 11,{n - 1},Loop at line 43, column 11] -codetoanalyze/c/performance/two_loops_symbolic.c, two_loops_symb, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 5 + 6 ⋅ m + 2 ⋅ (1+max(0, m)), degree = 1,{1+max(0, m)},Loop at line 13, column 3,{m},Loop at line 13, column 3] -codetoanalyze/c/performance/two_loops_symbolic.c, two_loops_symb_diff, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 5 + 6 ⋅ m + 2 ⋅ (1+max(0, m)), degree = 1,{1+max(0, m)},Loop at line 25, column 3,{m},Loop at line 25, column 3] +codetoanalyze/c/performance/switch_continue.c, unroll_loop, 14, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 12 + (n - 1) + 11 ⋅ (max(1, n)), degree = 1,{max(1, n)},Loop at line 43, column 11,{n - 1},Loop at line 43, column 11] +codetoanalyze/c/performance/two_loops_symbolic.c, two_loops_symb, 3, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 5 ⋅ m + 2 ⋅ (1+max(0, m)), degree = 1,{1+max(0, m)},Loop at line 13, column 3,{m},Loop at line 13, column 3] +codetoanalyze/c/performance/two_loops_symbolic.c, two_loops_symb_diff, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 3 + 5 ⋅ m + 2 ⋅ (1+max(0, m)), degree = 1,{1+max(0, m)},Loop at line 25, column 3,{m},Loop at line 25, column 3] diff --git a/infer/tests/codetoanalyze/cpp/errors/issues.exp b/infer/tests/codetoanalyze/cpp/errors/issues.exp index c4b8ed0c1..0f56f1945 100644 --- a/infer/tests/codetoanalyze/cpp/errors/issues.exp +++ b/infer/tests/codetoanalyze/cpp/errors/issues.exp @@ -6,18 +6,18 @@ codetoanalyze/cpp/errors/biabduction/process_splitting_assert.cpp, fail, 2, NULL codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_fgetc, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure crash_fgetc()] codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_getc, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure crash_getc()] codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, malloc_fail_gets_reported, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure malloc_fail_gets_reported()] -codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, malloc_memory_leak_is_reported, 0, MEMORY_LEAK, no_bucket, ERROR, [start of procedure malloc_memory_leak_is_reported(),return from a call to malloc_memory_leak_is_reported] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, malloc_memory_leak_is_reported, 0, MEMORY_LEAK, no_bucket, ERROR, [start of procedure malloc_memory_leak_is_reported()] codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, memcpy_spec_is_found, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure memcpy_spec_is_found()] -codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, resource_leak_is_reported, 0, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure resource_leak_is_reported(),return from a call to resource_leak_is_reported] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, resource_leak_is_reported, 0, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure resource_leak_is_reported()] codetoanalyze/cpp/errors/include_header/header.h, header::A::div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0] codetoanalyze/cpp/errors/include_header/header.h, header::div0_fun, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure header::div0_fun()] codetoanalyze/cpp/errors/include_header/header2.h, header2::B::div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0] codetoanalyze/cpp/errors/include_header/header2.h, header2::B::div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0] codetoanalyze/cpp/errors/include_header/header2.h, header2::div0_templ, 1, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure header2::div0_templ()] codetoanalyze/cpp/errors/include_header/header2.h, header2::div0_templ, 1, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure header2::div0_templ()] -codetoanalyze/cpp/errors/memory_leaks/array_leak.cpp, leak, 6, MEMORY_LEAK, CPP, ERROR, [start of procedure leak(),return from a call to leak] -codetoanalyze/cpp/errors/memory_leaks/object_leak.cpp, object_leak, 0, MEMORY_LEAK, CPP, ERROR, [start of procedure object_leak(),start of procedure Rectangle,return from a call to Rectangle::Rectangle,return from a call to object_leak] -codetoanalyze/cpp/errors/memory_leaks/raii_malloc.cpp, memory_leak, 0, MEMORY_LEAK, no_bucket, ERROR, [start of procedure memory_leak(),return from a call to memory_leak] +codetoanalyze/cpp/errors/memory_leaks/array_leak.cpp, leak, 4, MEMORY_LEAK, CPP, ERROR, [start of procedure leak()] +codetoanalyze/cpp/errors/memory_leaks/object_leak.cpp, object_leak, 0, MEMORY_LEAK, CPP, ERROR, [start of procedure object_leak(),start of procedure Rectangle,return from a call to Rectangle::Rectangle] +codetoanalyze/cpp/errors/memory_leaks/raii_malloc.cpp, memory_leak, 0, MEMORY_LEAK, no_bucket, ERROR, [start of procedure memory_leak()] codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe1_bad, 6, NULL_DEREFERENCE, B1, ERROR, [start of procedure atomic_test::compare_exchange_strong_possible_npe1_bad(),Taking true branch,Taking true branch,Taking true branch] codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe2_bad, 6, NULL_DEREFERENCE, B1, ERROR, [start of procedure atomic_test::compare_exchange_strong_possible_npe2_bad(),Taking true branch,Taking true branch,Taking true branch] codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_weak_possible_npe1_bad, 6, NULL_DEREFERENCE, B1, ERROR, [start of procedure atomic_test::compare_exchange_weak_possible_npe1_bad(),Taking true branch,Taking true branch,Taking true branch] @@ -77,7 +77,7 @@ codetoanalyze/cpp/errors/numeric/min_max.cpp, min_int_div0, 0, DIVIDE_BY_ZERO, n codetoanalyze/cpp/errors/overwrite_attribute/main.cpp, testSetIntValue, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure testSetIntValue(),start of procedure setIntValue(),return from a call to setIntValue] codetoanalyze/cpp/errors/pointers/unintialized.cpp, known_ctor_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, no_bucket, ERROR, [start of procedure known_ctor_dangling_bad(),start of procedure TestDangling,return from a call to TestDangling::TestDangling] codetoanalyze/cpp/errors/pointers/unintialized.cpp, uninitialized_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, no_bucket, ERROR, [start of procedure uninitialized_dangling_bad()] -codetoanalyze/cpp/errors/resource_leaks/raii.cpp, resource_leak, 10, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure resource_leak(),Taking false branch,return from a call to resource_leak] +codetoanalyze/cpp/errors/resource_leaks/raii.cpp, resource_leak, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure resource_leak(),Taking false branch] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const1, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure test_const1()] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const2, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure test_const2()] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const3, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure test_const3()] @@ -163,12 +163,12 @@ codetoanalyze/cpp/errors/static_local/nonstatic_local_bad.cpp, nonstatic_local_b codetoanalyze/cpp/errors/static_local/nonstatic_local_bad.cpp, nonstatic_local_caller, 2, DANGLING_POINTER_DEREFERENCE, no_bucket, ERROR, [start of procedure nonstatic_local_caller(),start of procedure nonstatic_local_bad(),return from a call to nonstatic_local_bad] codetoanalyze/cpp/errors/subtyping/cast_with_enforce.cpp, cast_with_enforce::cast_with_npe, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure cast_with_enforce::cast_with_npe(),start of procedure Base,return from a call to cast_with_enforce::Base::Base] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base::Base,return from a call to dynamic__cast::Derived::Derived,Taking true branch] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 7, MEMORY_LEAK, CPP, ERROR, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base::Base,return from a call to dynamic__cast::Derived::Derived,Taking true branch,return from a call to dynamic__cast::rightPointerCast] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightReferenceCast, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure dynamic__cast::rightReferenceCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base::Base,return from a call to dynamic__cast::Derived::Derived,return from a call to dynamic__cast::rightReferenceCast] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, MEMORY_LEAK, CPP, ERROR, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base::Base,return from a call to dynamic__cast::Derived::Derived,Taking true branch] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightReferenceCast, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure dynamic__cast::rightReferenceCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base::Base,return from a call to dynamic__cast::Derived::Derived] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentPointer, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure dynamic__cast::wrongCastOfArgumentPointer(),start of procedure Base,return from a call to dynamic__cast::Base::Base,start of procedure dynamic__cast::castOfArgumentPointer(),Taking false branch,return from a call to dynamic__cast::castOfArgumentPointer] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentReference, 2, CLASS_CAST_EXCEPTION, no_bucket, ERROR, [start of procedure dynamic__cast::wrongCastOfArgumentReference(),start of procedure Base,return from a call to dynamic__cast::Base::Base] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base::Base] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 6, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base::Base,Taking false branch] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 7, MEMORY_LEAK, CPP, ERROR, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base::Base,Taking false branch,return from a call to dynamic__cast::wrongPointerCast] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCast, 3, CLASS_CAST_EXCEPTION, no_bucket, ERROR, [start of procedure dynamic__cast::wrongReferenceCast(),start of procedure Base,return from a call to dynamic__cast::Base::Base] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCastNotAssigned, 3, CLASS_CAST_EXCEPTION, no_bucket, ERROR, [start of procedure dynamic__cast::wrongReferenceCastNotAssigned(),start of procedure Base,return from a call to dynamic__cast::Base::Base] codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::BaseDerefNPE, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure implicit_cast_with_const::BaseDerefNPE(),start of procedure Base,return from a call to implicit_cast_with_const::Base::Base,start of procedure implicit_cast_with_const::deref()] @@ -235,31 +235,31 @@ codetoanalyze/cpp/shared/constructors/constructor_init.cpp, delegate_constr_f_di codetoanalyze/cpp/shared/constructors/constructor_init.cpp, f2_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure f2_div0(),start of procedure B,start of procedure A,return from a call to A::A,start of procedure T,return from a call to B::T::T,return from a call to B::B] codetoanalyze/cpp/shared/constructors/constructor_init.cpp, f_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure f_div0(),start of procedure B,start of procedure A,return from a call to A::A,start of procedure T,return from a call to B::T::T,return from a call to B::B] codetoanalyze/cpp/shared/constructors/constructor_init.cpp, t_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure t_div0(),start of procedure B,start of procedure A,return from a call to A::A,start of procedure T,return from a call to B::T::T,return from a call to B::B] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_class_with_not_constant_size, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::array_of_class_with_not_constant_size(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,return from a call to constructor_new::array_of_class_with_not_constant_size] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_person_with_constant_size, 0, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::array_of_person_with_constant_size(),return from a call to constructor_new::array_of_person_with_constant_size] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_class_with_not_constant_size, 1, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::array_of_class_with_not_constant_size(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_person_with_constant_size, 0, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::array_of_person_with_constant_size()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person::Person] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person::Person,return from a call to constructor_new::constructor_1_arg_new_div0] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person::Person] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person::Person] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person::Person,return from a call to constructor_new::constructor_3_args_new_div0] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person::Person] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person::Person] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 4, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person::Person,return from a call to constructor_new::constructor_nodes] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person::Person] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::float_init_number()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::float_init_number(),return from a call to constructor_new::float_init_number] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::float_init_number()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 5, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,return from a call to constructor_new::int_array] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::int_array_init()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_array_init(),return from a call to constructor_new::int_array_init] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_array_init()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::int_init_empty()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_init_empty(),return from a call to constructor_new::int_init_empty] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_init_empty()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::int_init_empty_list()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::int_init_empty_list_new()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_init_empty_list_new(),return from a call to constructor_new::int_init_empty_list_new] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_init_empty_list_new()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 5, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,return from a call to constructor_new::int_init_nodes] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 5, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,return from a call to constructor_new::int_init_nodes] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_new::int_init_number()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_init_number(),return from a call to constructor_new::int_init_number] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::matrix_of_person, 3, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::matrix_of_person(),return from a call to constructor_new::matrix_of_person] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::int_init_number()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::matrix_of_person, 2, MEMORY_LEAK, CPP, ERROR, [start of procedure constructor_new::matrix_of_person()] codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_with_body::test_div0(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X::init,return from a call to constructor_with_body::X::X,start of procedure div] codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0_default_constructor, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure constructor_with_body::test_div0_default_constructor(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X::init,return from a call to constructor_with_body::X::X,start of procedure div] codetoanalyze/cpp/shared/constructors/copy_array_field.cpp, copy_array_field::npe, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure copy_array_field::npe(),start of procedure X,return from a call to copy_array_field::X::X,start of procedure X,return from a call to copy_array_field::X::X] diff --git a/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot index f9d2c6163..c09c3dd5d 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot @@ -66,7 +66,7 @@ digraph cfg { "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" ; "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_14" [label="14: DeclStmt \n n$10=_fun___variable_initialization(&res:int) assign_last [line 11, column 3]\n *&res:int=5 [line 11, column 3]\n EXIT_SCOPE(n$10); [line 11, column 3]\n " shape="box"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_14" [label="14: DeclStmt \n VARIABLE_DECLARED(res:int); [line 11, column 3]\n *&res:int=5 [line 11, column 3]\n " shape="box"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_14" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot index 07a416cf8..cf2c9434d 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot @@ -15,10 +15,10 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&i); [line 16, column 1]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call delete \n n$1=*&i:int* [line 12, column 10]\n n$2=_fun___delete(n$1:int*) [line 12, column 3]\n EXIT_SCOPE(n$1,n$2,i); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call delete \n n$1=*&i:int* [line 12, column 10]\n n$2=_fun___delete(n$1:int*) [line 12, column 3]\n NULLIFY(&i); [line 12, column 3]\n EXIT_SCOPE(n$1,n$2,i); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; @@ -26,11 +26,11 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&i:int*) assign_last [line 10, column 3]\n n$4=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 10, column 12]\n *&i:int*=n$4 [line 10, column 3]\n EXIT_SCOPE(n$4,n$5); [line 10, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int*); [line 10, column 3]\n n$4=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 10, column 12]\n *&i:int*=n$4 [line 10, column 3]\n EXIT_SCOPE(n$4); [line 10, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n n$6=_fun___variable_initialization(&x:int) assign_last [line 9, column 3]\n *&x:int=2 [line 9, column 3]\n NULLIFY(&x); [line 9, column 3]\n EXIT_SCOPE(n$6,x); [line 9, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=2 [line 9, column 3]\n NULLIFY(&x); [line 9, column 3]\n EXIT_SCOPE(x); [line 9, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; @@ -38,10 +38,10 @@ digraph cfg { "test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_1" -> "test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" ; -"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_2" [label="2: Exit test_placement \n NULLIFY(&p); [line 24, column 78]\n " color=yellow style=filled] +"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$6=_fun___variable_initialization(&p:A*) assign_last [line 24, column 45]\n n$3=*&ptr:void* [line 24, column 60]\n n$1=*&ptr2:int* [line 24, column 65]\n *&ptr2:int*=(n$1 + 1) [line 24, column 65]\n n$2=*&ptr2:int* [line 24, column 65]\n n$4=_fun___placement_new(sizeof(t=A):unsigned long,n$3:void*,n$2:void*) [line 24, column 55]\n n$5=_fun_A::A(n$4:A*) [line 24, column 73]\n *&p:A*=n$4 [line 24, column 45]\n NULLIFY(&ptr2); [line 24, column 45]\n NULLIFY(&ptr); [line 24, column 45]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,ptr2,ptr,p); [line 24, column 45]\n APPLY_ABSTRACTION; [line 24, column 45]\n " shape="box"] +"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:A*); [line 24, column 45]\n n$3=*&ptr:void* [line 24, column 60]\n n$1=*&ptr2:int* [line 24, column 65]\n *&ptr2:int*=(n$1 + 1) [line 24, column 65]\n n$2=*&ptr2:int* [line 24, column 65]\n n$4=_fun___placement_new(sizeof(t=A):unsigned long,n$3:void*,n$2:void*) [line 24, column 55]\n n$5=_fun_A::A(n$4:A*) [line 24, column 73]\n *&p:A*=n$4 [line 24, column 45]\n NULLIFY(&ptr2); [line 24, column 45]\n NULLIFY(&ptr); [line 24, column 45]\n NULLIFY(&p); [line 24, column 45]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,ptr2,ptr,p); [line 24, column 45]\n APPLY_ABSTRACTION; [line 24, 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 583f19ea9..3464dc228 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot @@ -48,39 +48,39 @@ digraph cfg { "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 n$17=_fun___variable_initialization(&x3:break_scope::X) assign_last [line 83, column 7]\n n$16=_fun_break_scope::X::X(&x3:break_scope::X*) [line 83, column 9]\n EXIT_SCOPE(n$16,n$17); [line 83, column 9]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 83, column 7]\n n$16=_fun_break_scope::X::X(&x3:break_scope::X*) [line 83, column 9]\n EXIT_SCOPE(n$16); [line 83, 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 87, column 5]\n n$19=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 87, column 5]\n EXIT_SCOPE(_,n$19,x4); [line 87, column 5]\n APPLY_ABSTRACTION; [line 87, column 5]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_14" [label="14: Destruction \n _=*&x4:break_scope::X [line 87, column 5]\n n$18=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 87, column 5]\n EXIT_SCOPE(_,n$18,x4); [line 87, column 5]\n APPLY_ABSTRACTION; [line 87, 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 n$22=_fun___variable_initialization(&x4:break_scope::X) assign_last [line 86, column 7]\n n$21=_fun_break_scope::X::X(&x4:break_scope::X*) [line 86, column 9]\n EXIT_SCOPE(n$21,n$22); [line 86, column 9]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x4:break_scope::X); [line 86, column 7]\n n$20=_fun_break_scope::X::X(&x4:break_scope::X*) [line 86, column 9]\n EXIT_SCOPE(n$20); [line 86, 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 n$25=_fun___variable_initialization(&x2:break_scope::X) assign_last [line 81, column 5]\n n$24=_fun_break_scope::X::X(&x2:break_scope::X*) [line 81, column 7]\n EXIT_SCOPE(n$24,n$25); [line 81, column 7]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 81, column 5]\n n$22=_fun_break_scope::X::X(&x2:break_scope::X*) [line 81, column 7]\n EXIT_SCOPE(n$22); [line 81, 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 n$28=_fun___variable_initialization(&x1:break_scope::X) assign_last [line 79, column 3]\n n$27=_fun_break_scope::X::X(&x1:break_scope::X*) [line 79, column 5]\n EXIT_SCOPE(n$27,n$28); [line 79, column 5]\n APPLY_ABSTRACTION; [line 79, column 5]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_17" [label="17: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 79, column 3]\n n$24=_fun_break_scope::X::X(&x1:break_scope::X*) [line 79, column 5]\n EXIT_SCOPE(n$24); [line 79, column 5]\n APPLY_ABSTRACTION; [line 79, 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$7:break_scope::iterator 0$?%__sil_tmp__temp_return_n$16:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator const x1:break_scope::X vector:break_scope::vec \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$6:break_scope::iterator 0$?%__sil_tmp__temp_return_n$13:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$16:break_scope::iterator const x1:break_scope::X vector:break_scope::vec \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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 64, column 1]\n NULLIFY(&x2); [line 64, column 1]\n NULLIFY(&x1); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$16); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$19); [line 64, column 1]\n NULLIFY(&it); [line 64, column 1]\n NULLIFY(&vector); [line 64, column 1]\n " color=yellow style=filled] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_2" [label="2: Exit break_scope::test_for \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$16); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$13); [line 64, column 1]\n NULLIFY(&x2); [line 64, column 1]\n NULLIFY(&x1); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$6); [line 64, column 1]\n NULLIFY(&it); [line 64, column 1]\n NULLIFY(&vector); [line 64, column 1]\n " color=yellow style=filled] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_3" [label="3: Destruction \n _=*&x2:break_scope::X [line 64, column 1]\n n$1=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 64, column 1]\n _=*&vector:break_scope::vec [line 64, column 1]\n n$3=_fun_break_scope::vec::~vec(&vector:break_scope::vec*) injected [line 64, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,vector,x2); [line 64, column 1]\n APPLY_ABSTRACTION; [line 64, 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 n$6=_fun___variable_initialization(&x2:break_scope::X) assign_last [line 63, column 3]\n n$5=_fun_break_scope::X::X(&x2:break_scope::X*) [line 63, column 5]\n EXIT_SCOPE(n$5,n$6); [line 63, column 5]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 63, column 3]\n n$5=_fun_break_scope::X::X(&x2:break_scope::X*) [line 63, column 5]\n EXIT_SCOPE(n$5); [line 63, 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 n$13=_fun___variable_initialization(&it:break_scope::iterator) assign_last [line 57, column 8]\n n$11=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator) assign_last [line 57, column 22]\n _=*&vector:break_scope::vec [line 57, column 22]\n n$10=_fun_break_scope::vec::begin(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator*) assign_last [line 57, column 22]\n n$12=_fun_break_scope::iterator::iterator(&it:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator&) [line 57, column 22]\n EXIT_SCOPE(_,n$10,n$11,n$12,n$13,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 57, column 22]\n APPLY_ABSTRACTION; [line 57, column 22]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_6" [label="6: DeclStmt \n VARIABLE_DECLARED(it:break_scope::iterator); [line 57, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$6:break_scope::iterator); [line 57, column 22]\n _=*&vector:break_scope::vec [line 57, column 22]\n n$9=_fun_break_scope::vec::begin(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$6:break_scope::iterator*) assign_last [line 57, column 22]\n n$10=_fun_break_scope::iterator::iterator(&it:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$6:break_scope::iterator&) [line 57, column 22]\n EXIT_SCOPE(_,n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$6); [line 57, column 22]\n APPLY_ABSTRACTION; [line 57, 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 n$17=_fun_break_scope::iterator::operator++(&it:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$16:break_scope::iterator*) assign_last [line 57, column 58]\n EXIT_SCOPE(n$17,0$?%__sil_tmp__temp_return_n$16); [line 57, column 58]\n APPLY_ABSTRACTION; [line 57, column 58]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_7" [label="7: Call _fun_break_scope::iterator::operator++ \n n$14=_fun_break_scope::iterator::operator++(&it:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$13:break_scope::iterator*) assign_last [line 57, column 58]\n EXIT_SCOPE(n$14,0$?%__sil_tmp__temp_return_n$13); [line 57, column 58]\n APPLY_ABSTRACTION; [line 57, 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 n$23=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator const ) assign_last [line 57, column 44]\n _=*&vector:break_scope::vec [line 57, column 44]\n n$22=_fun_break_scope::vec::end(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator*) assign_last [line 57, column 44]\n n$24=_fun_break_scope::iterator::operator!=(&it:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator const &) [line 57, column 38]\n EXIT_SCOPE(_,n$22,n$23,0$?%__sil_tmpSIL_materialize_temp__n$19); [line 57, column 38]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" [label="8: Call _fun_break_scope::iterator::operator!= \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$16:break_scope::iterator const ); [line 57, column 44]\n _=*&vector:break_scope::vec [line 57, column 44]\n n$19=_fun_break_scope::vec::end(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$16:break_scope::iterator*) assign_last [line 57, column 44]\n n$20=_fun_break_scope::iterator::operator!=(&it:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$16:break_scope::iterator const &) [line 57, column 38]\n EXIT_SCOPE(_,n$19,0$?%__sil_tmpSIL_materialize_temp__n$16); [line 57, 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$24, true); [line 57, column 38]\n EXIT_SCOPE(n$24); [line 57, column 38]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$20, true); [line 57, column 38]\n EXIT_SCOPE(n$20); [line 57, 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$24, false); [line 57, column 38]\n EXIT_SCOPE(n$24,it); [line 57, column 38]\n APPLY_ABSTRACTION; [line 57, column 38]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$20, false); [line 57, column 38]\n EXIT_SCOPE(n$20,it); [line 57, column 38]\n APPLY_ABSTRACTION; [line 57, column 38]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" ; @@ -114,35 +114,35 @@ 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$26=*&b:_Bool [line 58, column 9]\n PRUNE(n$26, true); [line 58, column 9]\n NULLIFY(&b); [line 58, column 9]\n EXIT_SCOPE(n$26,it,b); [line 58, column 9]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" [label="12: Prune (true branch, if) \n n$22=*&b:_Bool [line 58, column 9]\n PRUNE(n$22, true); [line 58, column 9]\n NULLIFY(&b); [line 58, column 9]\n EXIT_SCOPE(n$22,it,b); [line 58, 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$26=*&b:_Bool [line 58, column 9]\n PRUNE(!n$26, false); [line 58, column 9]\n EXIT_SCOPE(n$26); [line 58, column 9]\n APPLY_ABSTRACTION; [line 58, column 9]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" [label="13: Prune (false branch, if) \n n$22=*&b:_Bool [line 58, column 9]\n PRUNE(!n$22, false); [line 58, column 9]\n EXIT_SCOPE(n$22); [line 58, column 9]\n APPLY_ABSTRACTION; [line 58, 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 61, column 5]\n n$28=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 61, column 5]\n APPLY_ABSTRACTION; [line 61, column 5]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_14" [label="14: Destruction \n _=*&x1:break_scope::X [line 61, column 5]\n n$24=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 61, column 5]\n APPLY_ABSTRACTION; [line 61, 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 60, column 7]\n n$31=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 60, column 7]\n EXIT_SCOPE(_,n$31,x1); [line 60, column 7]\n APPLY_ABSTRACTION; [line 60, column 7]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_15" [label="15: Destruction \n _=*&x1:break_scope::X [line 60, column 7]\n n$27=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 60, column 7]\n EXIT_SCOPE(_,n$27,x1); [line 60, column 7]\n APPLY_ABSTRACTION; [line 60, 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 n$34=_fun___variable_initialization(&x1:break_scope::X) assign_last [line 59, column 7]\n n$33=_fun_break_scope::X::X(&x1:break_scope::X*) [line 59, column 9]\n EXIT_SCOPE(n$33,n$34); [line 59, column 9]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 59, column 7]\n n$29=_fun_break_scope::X::X(&x1:break_scope::X*) [line 59, column 9]\n EXIT_SCOPE(n$29); [line 59, 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 n$39=_fun___variable_initialization(&vector:break_scope::vec) assign_last [line 56, column 3]\n n$38=_fun_break_scope::vec::vec(&vector:break_scope::vec*) [line 56, column 7]\n EXIT_SCOPE(n$38,n$39); [line 56, column 7]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_17" [label="17: DeclStmt \n VARIABLE_DECLARED(vector:break_scope::vec); [line 56, column 3]\n n$33=_fun_break_scope::vec::vec(&vector:break_scope::vec*) [line 56, column 7]\n EXIT_SCOPE(n$33); [line 56, 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: __end1:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator __begin1:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$15:break_scope::iterator 0$?%__sil_tmp__temp_return_n$25:break_scope::iterator x2:break_scope::X x:break_scope::X 0$?%__sil_tmpSIL_materialize_temp__n$42:break_scope::X const __range1:break_scope::vec& x1:break_scope::X vector:break_scope::vec \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: __end1:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator __begin1:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$13:break_scope::iterator 0$?%__sil_tmp__temp_return_n$21:break_scope::iterator x2:break_scope::X x:break_scope::X 0$?%__sil_tmpSIL_materialize_temp__n$37:break_scope::X const __range1:break_scope::vec& x1:break_scope::X vector:break_scope::vec \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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 53, column 1]\n NULLIFY(&vector); [line 53, column 1]\n NULLIFY(&__begin1); [line 53, column 1]\n NULLIFY(&__end1); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$42); [line 53, column 1]\n NULLIFY(&x2); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$15); [line 53, column 1]\n NULLIFY(&x1); [line 53, column 1]\n NULLIFY(&x); [line 53, column 1]\n NULLIFY(&__range1); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$25); [line 53, column 1]\n " color=yellow style=filled] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_2" [label="2: Exit break_scope::test_for_range \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 53, column 1]\n NULLIFY(&vector); [line 53, column 1]\n NULLIFY(&__begin1); [line 53, column 1]\n NULLIFY(&__end1); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$21); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$13); [line 53, column 1]\n NULLIFY(&x2); [line 53, column 1]\n NULLIFY(&x1); [line 53, column 1]\n NULLIFY(&x); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$37); [line 53, column 1]\n " color=yellow style=filled] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 53, column 1]\n n$1=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 53, column 1]\n _=*&vector:break_scope::vec [line 53, column 1]\n n$3=_fun_break_scope::vec::~vec(&vector:break_scope::vec*) injected [line 53, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,x1,vector); [line 53, column 1]\n APPLY_ABSTRACTION; [line 53, column 1]\n " shape="box"] @@ -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$14=_fun___variable_initialization(&__end1:break_scope::iterator) assign_last [line 47, column 12]\n n$12=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator) assign_last [line 47, column 12]\n n$8=*&__range1:break_scope::vec& [line 47, column 12]\n _=*n$8:break_scope::vec [line 47, column 12]\n n$11=_fun_break_scope::vec::end(n$8:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator*) assign_last [line 47, column 12]\n n$13=_fun_break_scope::iterator::iterator(&__end1:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator&) [line 47, column 12]\n EXIT_SCOPE(_,n$8,n$11,n$12,n$13,n$14,__range1,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_5" [label="5: DeclStmt \n VARIABLE_DECLARED(__end1:break_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator); [line 47, column 12]\n n$8=*&__range1:break_scope::vec& [line 47, column 12]\n _=*n$8:break_scope::vec [line 47, column 12]\n n$11=_fun_break_scope::vec::end(n$8:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator*) assign_last [line 47, column 12]\n n$12=_fun_break_scope::iterator::iterator(&__end1:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator&) [line 47, column 12]\n NULLIFY(&__range1); [line 47, column 12]\n EXIT_SCOPE(_,n$8,n$11,n$12,__range1,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, 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$22=_fun___variable_initialization(&__begin1:break_scope::iterator) assign_last [line 47, column 12]\n n$20=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$15:break_scope::iterator) assign_last [line 47, column 12]\n n$16=*&__range1:break_scope::vec& [line 47, column 12]\n _=*n$16:break_scope::vec [line 47, column 12]\n n$19=_fun_break_scope::vec::begin(n$16:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$15:break_scope::iterator*) assign_last [line 47, column 12]\n n$21=_fun_break_scope::iterator::iterator(&__begin1:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$15:break_scope::iterator&) [line 47, column 12]\n EXIT_SCOPE(_,n$16,n$19,n$20,n$21,n$22,0$?%__sil_tmpSIL_materialize_temp__n$15); [line 47, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_6" [label="6: DeclStmt \n VARIABLE_DECLARED(__begin1:break_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$13:break_scope::iterator); [line 47, column 12]\n n$14=*&__range1:break_scope::vec& [line 47, column 12]\n _=*n$14:break_scope::vec [line 47, column 12]\n n$17=_fun_break_scope::vec::begin(n$14:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$13:break_scope::iterator*) assign_last [line 47, column 12]\n n$18=_fun_break_scope::iterator::iterator(&__begin1:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$13:break_scope::iterator&) [line 47, column 12]\n EXIT_SCOPE(_,n$14,n$17,n$18,0$?%__sil_tmpSIL_materialize_temp__n$13); [line 47, 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 n$26=_fun_break_scope::iterator::operator++(&__begin1:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$25:break_scope::iterator*) assign_last [line 47, column 12]\n EXIT_SCOPE(n$26,0$?%__sil_tmp__temp_return_n$25); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_7" [label="7: Call _fun_break_scope::iterator::operator++ \n n$22=_fun_break_scope::iterator::operator++(&__begin1:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$21:break_scope::iterator*) assign_last [line 47, column 12]\n EXIT_SCOPE(n$22,0$?%__sil_tmp__temp_return_n$21); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, 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$28=_fun_break_scope::iterator::operator!=(&__begin1:break_scope::iterator&,&__end1:break_scope::iterator&) [line 47, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" [label="8: Call _fun_break_scope::iterator::operator!= \n n$24=_fun_break_scope::iterator::operator!=(&__begin1:break_scope::iterator&,&__end1:break_scope::iterator&) [line 47, 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$28, true); [line 47, column 12]\n EXIT_SCOPE(n$28); [line 47, column 12]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$24, true); [line 47, column 12]\n EXIT_SCOPE(n$24); [line 47, 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$28, false); [line 47, column 12]\n EXIT_SCOPE(n$28,__end1,__begin1); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$24, false); [line 47, column 12]\n EXIT_SCOPE(n$24,__end1,__begin1); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" ; @@ -182,40 +182,40 @@ 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$31=*&b:_Bool [line 48, column 9]\n PRUNE(n$31, true); [line 48, column 9]\n NULLIFY(&b); [line 48, column 9]\n EXIT_SCOPE(n$31,b,__end1,__begin1); [line 48, column 9]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" [label="12: Prune (true branch, if) \n n$27=*&b:_Bool [line 48, column 9]\n PRUNE(n$27, true); [line 48, column 9]\n NULLIFY(&b); [line 48, column 9]\n EXIT_SCOPE(n$27,b,__end1,__begin1); [line 48, 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$31=*&b:_Bool [line 48, column 9]\n PRUNE(!n$31, false); [line 48, column 9]\n EXIT_SCOPE(n$31,x); [line 48, column 9]\n APPLY_ABSTRACTION; [line 48, column 9]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" [label="13: Prune (false branch, if) \n n$27=*&b:_Bool [line 48, column 9]\n PRUNE(!n$27, false); [line 48, column 9]\n EXIT_SCOPE(n$27,x); [line 48, column 9]\n APPLY_ABSTRACTION; [line 48, 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 51, column 5]\n n$33=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 51, column 5]\n APPLY_ABSTRACTION; [line 51, column 5]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_14" [label="14: Destruction \n _=*&x2:break_scope::X [line 51, column 5]\n n$29=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 51, column 5]\n APPLY_ABSTRACTION; [line 51, 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 50, column 7]\n n$36=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 50, column 7]\n EXIT_SCOPE(_,n$36,x2); [line 50, column 7]\n APPLY_ABSTRACTION; [line 50, column 7]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_15" [label="15: Destruction \n _=*&x2:break_scope::X [line 50, column 7]\n n$32=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 50, column 7]\n EXIT_SCOPE(_,n$32,x2); [line 50, column 7]\n APPLY_ABSTRACTION; [line 50, 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 n$39=_fun___variable_initialization(&x2:break_scope::X) assign_last [line 49, column 7]\n n$38=_fun_break_scope::X::X(&x2:break_scope::X*,&x:break_scope::X&) [line 49, column 14]\n EXIT_SCOPE(n$38,n$39,x); [line 49, column 14]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 49, column 7]\n n$34=_fun_break_scope::X::X(&x2:break_scope::X*,&x:break_scope::X&) [line 49, column 14]\n EXIT_SCOPE(n$34,x); [line 49, 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 n$48=_fun___variable_initialization(&x:break_scope::X) assign_last [line 47, column 8]\n n$46=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$42:break_scope::X const ) assign_last [line 47, column 12]\n n$45=_fun_break_scope::iterator::operator*(&__begin1:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$42:break_scope::X*) assign_last [line 47, column 12]\n n$47=_fun_break_scope::X::X(&x:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$42:break_scope::X const &) [line 47, column 12]\n EXIT_SCOPE(n$45,n$46,n$47,n$48,0$?%__sil_tmpSIL_materialize_temp__n$42); [line 47, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" [label="17: DeclStmt \n VARIABLE_DECLARED(x:break_scope::X); [line 47, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$37:break_scope::X const ); [line 47, column 12]\n n$40=_fun_break_scope::iterator::operator*(&__begin1:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$37:break_scope::X*) assign_last [line 47, column 12]\n n$41=_fun_break_scope::X::X(&x:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$37:break_scope::X const &) [line 47, column 12]\n EXIT_SCOPE(n$40,n$41,0$?%__sil_tmpSIL_materialize_temp__n$37); [line 47, column 12]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" ; "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_18" [label="18: DeclStmt \n n$50=_fun___variable_initialization(&__range1:break_scope::vec&) assign_last [line 47, column 14]\n *&__range1:break_scope::vec&=&vector [line 47, column 14]\n EXIT_SCOPE(n$50); [line 47, column 14]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_18" [label="18: DeclStmt \n VARIABLE_DECLARED(__range1:break_scope::vec&); [line 47, column 14]\n *&__range1:break_scope::vec&=&vector [line 47, column 14]\n " shape="box"] "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 n$52=_fun___variable_initialization(&x1:break_scope::X) assign_last [line 46, column 3]\n n$51=_fun_break_scope::X::X(&x1:break_scope::X*) [line 46, column 5]\n EXIT_SCOPE(n$51,n$52); [line 46, column 5]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 46, column 3]\n n$43=_fun_break_scope::X::X(&x1:break_scope::X*) [line 46, column 5]\n EXIT_SCOPE(n$43); [line 46, 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 n$54=_fun___variable_initialization(&vector:break_scope::vec) assign_last [line 45, column 3]\n n$53=_fun_break_scope::vec::vec(&vector:break_scope::vec*) [line 45, column 7]\n EXIT_SCOPE(n$53,n$54); [line 45, column 7]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_20" [label="20: DeclStmt \n VARIABLE_DECLARED(vector:break_scope::vec); [line 45, column 3]\n n$44=_fun_break_scope::vec::vec(&vector:break_scope::vec*) [line 45, column 7]\n EXIT_SCOPE(n$44); [line 45, column 7]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_20" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_19" ; @@ -230,70 +230,70 @@ digraph cfg { "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 n$6=_fun___variable_initialization(&x5:break_scope::X) assign_last [line 127, column 3]\n n$5=_fun_break_scope::X::X(&x5:break_scope::X*) [line 127, column 5]\n EXIT_SCOPE(n$5,n$6); [line 127, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x5:break_scope::X); [line 127, column 3]\n n$5=_fun_break_scope::X::X(&x5:break_scope::X*) [line 127, column 5]\n EXIT_SCOPE(n$5); [line 127, 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: SwitchStmt \n n$7=*&n:int [line 115, column 11]\n NULLIFY(&n); [line 115, column 11]\n EXIT_SCOPE(n); [line 115, column 11]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" [label="5: SwitchStmt \n n$6=*&n:int [line 115, column 11]\n NULLIFY(&n); [line 115, column 11]\n EXIT_SCOPE(n); [line 115, 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 125, column 5]\n n$10=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 125, column 5]\n EXIT_SCOPE(_,n$10,x4); [line 125, column 5]\n APPLY_ABSTRACTION; [line 125, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_6" [label="6: Destruction \n _=*&x4:break_scope::X [line 125, column 5]\n n$9=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 125, column 5]\n EXIT_SCOPE(_,n$9,x4); [line 125, column 5]\n APPLY_ABSTRACTION; [line 125, 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 n$13=_fun___variable_initialization(&x4:break_scope::X) assign_last [line 124, column 7]\n n$12=_fun_break_scope::X::X(&x4:break_scope::X*) [line 124, column 9]\n EXIT_SCOPE(n$12,n$13); [line 124, column 9]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x4:break_scope::X); [line 124, column 7]\n n$11=_fun_break_scope::X::X(&x4:break_scope::X*) [line 124, column 9]\n EXIT_SCOPE(n$11); [line 124, 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: Destruction \n _=*&x3:break_scope::X [line 122, column 5]\n n$15=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 122, column 5]\n APPLY_ABSTRACTION; [line 122, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" [label="8: Destruction \n _=*&x3:break_scope::X [line 122, column 5]\n n$13=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 122, column 5]\n APPLY_ABSTRACTION; [line 122, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" [label="9: Destruction \n _=*&x3:break_scope::X [line 121, column 7]\n n$18=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 121, column 7]\n EXIT_SCOPE(_,n$18,x3); [line 121, column 7]\n APPLY_ABSTRACTION; [line 121, column 7]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" [label="9: Destruction \n _=*&x3:break_scope::X [line 121, column 7]\n n$16=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 121, column 7]\n EXIT_SCOPE(_,n$16,x3); [line 121, column 7]\n APPLY_ABSTRACTION; [line 121, column 7]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" [label="10: DeclStmt \n n$21=_fun___variable_initialization(&x3:break_scope::X) assign_last [line 120, column 7]\n n$20=_fun_break_scope::X::X(&x3:break_scope::X*) [line 120, column 9]\n EXIT_SCOPE(n$20,n$21); [line 120, column 9]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 120, column 7]\n n$18=_fun_break_scope::X::X(&x3:break_scope::X*) [line 120, column 9]\n EXIT_SCOPE(n$18); [line 120, column 9]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" [label="11: Destruction \n _=*&x2:break_scope::X [line 118, column 5]\n n$23=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 118, column 5]\n EXIT_SCOPE(_,n$23,x2); [line 118, column 5]\n APPLY_ABSTRACTION; [line 118, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" [label="11: Destruction \n _=*&x2:break_scope::X [line 118, column 5]\n n$20=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 118, column 5]\n EXIT_SCOPE(_,n$20,x2); [line 118, column 5]\n APPLY_ABSTRACTION; [line 118, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" [label="12: DeclStmt \n n$26=_fun___variable_initialization(&x2:break_scope::X) assign_last [line 117, column 7]\n n$25=_fun_break_scope::X::X(&x2:break_scope::X*) [line 117, column 9]\n EXIT_SCOPE(n$25,n$26); [line 117, column 9]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 117, column 7]\n n$22=_fun_break_scope::X::X(&x2:break_scope::X*) [line 117, column 9]\n EXIT_SCOPE(n$22); [line 117, 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$7 == 3), true); [line 123, column 5]\n EXIT_SCOPE(n$7); [line 123, column 5]\n APPLY_ABSTRACTION; [line 123, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" [label="13: Prune (true branch, switch) \n PRUNE((n$6 == 3), true); [line 123, column 5]\n EXIT_SCOPE(n$6); [line 123, column 5]\n APPLY_ABSTRACTION; [line 123, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$7 == 3), false); [line 123, column 5]\n EXIT_SCOPE(n$7); [line 123, column 5]\n APPLY_ABSTRACTION; [line 123, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$6 == 3), false); [line 123, column 5]\n EXIT_SCOPE(n$6); [line 123, column 5]\n APPLY_ABSTRACTION; [line 123, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" [label="15: Prune (true branch, switch) \n PRUNE((n$7 == 2), true); [line 119, column 5]\n EXIT_SCOPE(n$7); [line 119, column 5]\n APPLY_ABSTRACTION; [line 119, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" [label="15: Prune (true branch, switch) \n PRUNE((n$6 == 2), true); [line 119, column 5]\n EXIT_SCOPE(n$6); [line 119, column 5]\n APPLY_ABSTRACTION; [line 119, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" [label="16: Prune (false branch, switch) \n PRUNE(!(n$7 == 2), false); [line 119, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" [label="16: Prune (false branch, switch) \n PRUNE(!(n$6 == 2), false); [line 119, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" ; "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" [label="17: Prune (true branch, switch) \n PRUNE((n$7 == 1), true); [line 116, column 5]\n EXIT_SCOPE(n$7); [line 116, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" [label="17: Prune (true branch, switch) \n PRUNE((n$6 == 1), true); [line 116, column 5]\n EXIT_SCOPE(n$6); [line 116, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" [label="18: Prune (false branch, switch) \n PRUNE(!(n$7 == 1), false); [line 116, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" [label="18: Prune (false branch, switch) \n PRUNE(!(n$6 == 1), false); [line 116, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" ; "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_19" [label="19: DeclStmt \n n$29=_fun___variable_initialization(&x1:break_scope::X) assign_last [line 114, column 3]\n n$28=_fun_break_scope::X::X(&x1:break_scope::X*) [line 114, column 5]\n EXIT_SCOPE(n$28,n$29); [line 114, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 114, column 3]\n n$24=_fun_break_scope::X::X(&x1:break_scope::X*) [line 114, column 5]\n EXIT_SCOPE(n$24); [line 114, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_19" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" ; @@ -342,19 +342,19 @@ digraph cfg { "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 n$13=_fun___variable_initialization(&x2:break_scope::X) assign_last [line 70, column 7]\n n$12=_fun_break_scope::X::X(&x2:break_scope::X*) [line 70, column 9]\n EXIT_SCOPE(n$12,n$13); [line 70, column 9]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 70, column 7]\n n$12=_fun_break_scope::X::X(&x2:break_scope::X*) [line 70, column 9]\n EXIT_SCOPE(n$12); [line 70, 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 74, column 5]\n n$15=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 74, column 5]\n EXIT_SCOPE(_,n$15,x4); [line 74, column 5]\n APPLY_ABSTRACTION; [line 74, column 5]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_13" [label="13: Destruction \n _=*&x4:break_scope::X [line 74, column 5]\n n$14=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 74, column 5]\n EXIT_SCOPE(_,n$14,x4); [line 74, column 5]\n APPLY_ABSTRACTION; [line 74, 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 n$18=_fun___variable_initialization(&x4:break_scope::X) assign_last [line 73, column 7]\n n$17=_fun_break_scope::X::X(&x4:break_scope::X*) [line 73, column 9]\n EXIT_SCOPE(n$17,n$18); [line 73, column 9]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x4:break_scope::X); [line 73, column 7]\n n$16=_fun_break_scope::X::X(&x4:break_scope::X*) [line 73, column 9]\n EXIT_SCOPE(n$16); [line 73, 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 n$22=_fun___variable_initialization(&x1:break_scope::X) assign_last [line 67, column 3]\n n$21=_fun_break_scope::X::X(&x1:break_scope::X*) [line 67, column 5]\n EXIT_SCOPE(n$21,n$22); [line 67, column 5]\n APPLY_ABSTRACTION; [line 67, column 5]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 67, column 3]\n n$19=_fun_break_scope::X::X(&x1:break_scope::X*) [line 67, column 5]\n EXIT_SCOPE(n$19); [line 67, column 5]\n APPLY_ABSTRACTION; [line 67, column 5]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_15" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_4" ; @@ -407,15 +407,15 @@ digraph cfg { "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 n$15=_fun___variable_initialization(&x3:break_scope::X) assign_last [line 96, column 7]\n n$14=_fun_break_scope::X::X(&x3:break_scope::X*) [line 96, column 9]\n EXIT_SCOPE(n$14,n$15); [line 96, column 9]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 96, column 7]\n n$14=_fun_break_scope::X::X(&x3:break_scope::X*) [line 96, column 9]\n EXIT_SCOPE(n$14); [line 96, 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 n$18=_fun___variable_initialization(&x2:break_scope::X) assign_last [line 94, column 5]\n n$17=_fun_break_scope::X::X(&x2:break_scope::X*) [line 94, column 7]\n EXIT_SCOPE(n$17,n$18); [line 94, column 7]\n APPLY_ABSTRACTION; [line 94, column 7]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 94, column 5]\n n$16=_fun_break_scope::X::X(&x2:break_scope::X*) [line 94, column 7]\n EXIT_SCOPE(n$16); [line 94, column 7]\n APPLY_ABSTRACTION; [line 94, 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 n$21=_fun___variable_initialization(&x1:break_scope::X) assign_last [line 92, column 3]\n n$20=_fun_break_scope::X::X(&x1:break_scope::X*) [line 92, column 5]\n EXIT_SCOPE(n$20,n$21); [line 92, column 5]\n APPLY_ABSTRACTION; [line 92, column 5]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 92, column 3]\n n$18=_fun_break_scope::X::X(&x1:break_scope::X*) [line 92, column 5]\n EXIT_SCOPE(n$18); [line 92, column 5]\n APPLY_ABSTRACTION; [line 92, column 5]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_15" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_4" ; @@ -430,7 +430,7 @@ digraph cfg { "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 n$6=_fun___variable_initialization(&x3:break_scope::X) assign_last [line 110, column 3]\n n$5=_fun_break_scope::X::X(&x3:break_scope::X*) [line 110, column 5]\n EXIT_SCOPE(n$5,n$6); [line 110, column 5]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 110, column 3]\n n$5=_fun_break_scope::X::X(&x3:break_scope::X*) [line 110, column 5]\n EXIT_SCOPE(n$5); [line 110, 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$7=*&a:_Bool [line 104, column 10]\n PRUNE(n$7, true); [line 104, column 10]\n EXIT_SCOPE(n$7); [line 104, column 10]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_6" [label="6: Prune (true branch, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(n$6, true); [line 104, column 10]\n EXIT_SCOPE(n$6); [line 104, 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$7=*&a:_Bool [line 104, column 10]\n PRUNE(!n$7, false); [line 104, column 10]\n NULLIFY(&a); [line 104, column 10]\n EXIT_SCOPE(n$7,a); [line 104, column 10]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" [label="7: Prune (false branch, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(!n$6, false); [line 104, column 10]\n NULLIFY(&a); [line 104, column 10]\n EXIT_SCOPE(n$6,a); [line 104, 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 109, column 3]\n n$9=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 109, column 3]\n EXIT_SCOPE(_,n$9,x2); [line 109, column 3]\n APPLY_ABSTRACTION; [line 109, column 3]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" [label="8: Destruction \n _=*&x2:break_scope::X [line 109, column 3]\n n$8=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 109, column 3]\n EXIT_SCOPE(_,n$8,x2); [line 109, column 3]\n APPLY_ABSTRACTION; [line 109, 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$11=*&b:_Bool [line 106, column 12]\n PRUNE(n$11, true); [line 106, column 12]\n EXIT_SCOPE(n$11); [line 106, column 12]\n APPLY_ABSTRACTION; [line 106, column 12]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_10" [label="10: Prune (true branch, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(n$10, true); [line 106, column 12]\n EXIT_SCOPE(n$10); [line 106, column 12]\n APPLY_ABSTRACTION; [line 106, 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$11=*&b:_Bool [line 106, column 12]\n PRUNE(!n$11, false); [line 106, column 12]\n EXIT_SCOPE(n$11); [line 106, column 12]\n APPLY_ABSTRACTION; [line 106, column 12]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" [label="11: Prune (false branch, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(!n$10, false); [line 106, column 12]\n EXIT_SCOPE(n$10); [line 106, column 12]\n APPLY_ABSTRACTION; [line 106, 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 n$17=_fun___variable_initialization(&x2:break_scope::X) assign_last [line 105, column 5]\n n$16=_fun_break_scope::X::X(&x2:break_scope::X*) [line 105, column 7]\n EXIT_SCOPE(n$16,n$17); [line 105, column 7]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 105, column 5]\n n$15=_fun_break_scope::X::X(&x2:break_scope::X*) [line 105, column 7]\n EXIT_SCOPE(n$15); [line 105, 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 n$20=_fun___variable_initialization(&x1:break_scope::X) assign_last [line 103, column 3]\n n$19=_fun_break_scope::X::X(&x1:break_scope::X*) [line 103, column 5]\n EXIT_SCOPE(n$19,n$20); [line 103, column 5]\n APPLY_ABSTRACTION; [line 103, column 5]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 103, column 3]\n n$17=_fun_break_scope::X::X(&x1:break_scope::X*) [line 103, column 5]\n EXIT_SCOPE(n$17); [line 103, column 5]\n APPLY_ABSTRACTION; [line 103, column 5]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_13" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_5" ; @@ -562,7 +562,7 @@ digraph cfg { "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_2" [label="2: Exit break_scope::iterator::operator* \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 42, column 63]\n " color=yellow style=filled] -"operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 42, column 33]\n n$9=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const ) assign_last [line 42, column 40]\n n$2=*&this:break_scope::iterator const * [line 42, column 40]\n n$3=*n$2.vector:break_scope::vec const * [line 42, column 40]\n _=*n$3:break_scope::vec const [line 42, column 40]\n n$5=*&this:break_scope::iterator const * [line 42, column 52]\n n$6=*n$5.position:int [line 42, 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*) assign_last [line 42, column 40]\n n$10=_fun_break_scope::X::X(n$0:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const &) [line 42, column 40]\n NULLIFY(&__return_param); [line 42, column 40]\n NULLIFY(&this); [line 42, column 40]\n EXIT_SCOPE(_,n$0,n$2,n$3,n$5,n$6,n$8,n$9,n$10,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 42, column 40]\n APPLY_ABSTRACTION; [line 42, column 40]\n " shape="box"] +"operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 42, column 33]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const ); [line 42, column 40]\n n$2=*&this:break_scope::iterator const * [line 42, column 40]\n n$3=*n$2.vector:break_scope::vec const * [line 42, column 40]\n _=*n$3:break_scope::vec const [line 42, column 40]\n n$5=*&this:break_scope::iterator const * [line 42, column 52]\n n$6=*n$5.position:int [line 42, 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*) assign_last [line 42, 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 const &) [line 42, column 40]\n NULLIFY(&__return_param); [line 42, column 40]\n NULLIFY(&this); [line 42, column 40]\n EXIT_SCOPE(_,n$0,n$2,n$3,n$5,n$6,n$8,n$9,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 42, column 40]\n APPLY_ABSTRACTION; [line 42, column 40]\n " shape="box"] "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" -> "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_2" ; @@ -629,7 +629,7 @@ digraph cfg { "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_2" [label="2: Exit break_scope::vec::end \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 47]\n " color=yellow style=filled] -"end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 35, column 20]\n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator) assign_last [line 35, column 27]\n n$2=*&this:break_scope::vec* [line 35, 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 35, column 27]\n n$5=_fun_break_scope::iterator::iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 35, column 27]\n NULLIFY(&__return_param); [line 35, column 27]\n NULLIFY(&this); [line 35, column 27]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,n$5,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 35, column 27]\n APPLY_ABSTRACTION; [line 35, column 27]\n " shape="box"] +"end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 35, column 20]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator); [line 35, column 27]\n n$2=*&this:break_scope::vec* [line 35, 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 35, 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 35, column 27]\n NULLIFY(&__return_param); [line 35, column 27]\n NULLIFY(&this); [line 35, column 27]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 35, column 27]\n APPLY_ABSTRACTION; [line 35, column 27]\n " shape="box"] "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" -> "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_2" ; @@ -640,7 +640,7 @@ digraph cfg { "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_2" [label="2: Exit break_scope::vec::begin \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 34, column 48]\n " color=yellow style=filled] -"begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 34, column 22]\n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator) assign_last [line 34, column 29]\n n$2=*&this:break_scope::vec* [line 34, 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 34, column 29]\n n$5=_fun_break_scope::iterator::iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 34, column 29]\n NULLIFY(&__return_param); [line 34, column 29]\n NULLIFY(&this); [line 34, column 29]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,n$5,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 34, column 29]\n APPLY_ABSTRACTION; [line 34, column 29]\n " shape="box"] +"begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 34, column 22]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator); [line 34, column 29]\n n$2=*&this:break_scope::vec* [line 34, 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 34, 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 34, column 29]\n NULLIFY(&__return_param); [line 34, column 29]\n NULLIFY(&this); [line 34, column 29]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 34, column 29]\n APPLY_ABSTRACTION; [line 34, column 29]\n " shape="box"] "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" -> "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_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 51af6e3d4..2532ecbd0 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot @@ -49,39 +49,39 @@ digraph cfg { "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 n$17=_fun___variable_initialization(&x3:continue_scope::X) assign_last [line 83, column 7]\n n$16=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 83, column 9]\n EXIT_SCOPE(n$16,n$17); [line 83, column 9]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x3:continue_scope::X); [line 83, column 7]\n n$16=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 83, column 9]\n EXIT_SCOPE(n$16); [line 83, 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 87, column 5]\n n$19=_fun_continue_scope::X::~X(&x4:continue_scope::X*) injected [line 87, column 5]\n EXIT_SCOPE(_,n$19,x4); [line 87, column 5]\n APPLY_ABSTRACTION; [line 87, column 5]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_14" [label="14: Destruction \n _=*&x4:continue_scope::X [line 87, column 5]\n n$18=_fun_continue_scope::X::~X(&x4:continue_scope::X*) injected [line 87, column 5]\n EXIT_SCOPE(_,n$18,x4); [line 87, column 5]\n APPLY_ABSTRACTION; [line 87, 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 n$22=_fun___variable_initialization(&x4:continue_scope::X) assign_last [line 86, column 7]\n n$21=_fun_continue_scope::X::X(&x4:continue_scope::X*) [line 86, column 9]\n EXIT_SCOPE(n$21,n$22); [line 86, column 9]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x4:continue_scope::X); [line 86, column 7]\n n$20=_fun_continue_scope::X::X(&x4:continue_scope::X*) [line 86, column 9]\n EXIT_SCOPE(n$20); [line 86, 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 n$25=_fun___variable_initialization(&x2:continue_scope::X) assign_last [line 81, column 5]\n n$24=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 81, column 7]\n EXIT_SCOPE(n$24,n$25); [line 81, column 7]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 81, column 5]\n n$22=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 81, column 7]\n EXIT_SCOPE(n$22); [line 81, 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 n$28=_fun___variable_initialization(&x1:continue_scope::X) assign_last [line 79, column 3]\n n$27=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 79, column 5]\n EXIT_SCOPE(n$27,n$28); [line 79, column 5]\n APPLY_ABSTRACTION; [line 79, column 5]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_17" [label="17: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 79, column 3]\n n$24=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 79, column 5]\n EXIT_SCOPE(n$24); [line 79, column 5]\n APPLY_ABSTRACTION; [line 79, 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$7:continue_scope::iterator 0$?%__sil_tmp__temp_return_n$16:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator const x1:continue_scope::X vector:continue_scope::vec \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$6:continue_scope::iterator 0$?%__sil_tmp__temp_return_n$13:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$16:continue_scope::iterator const x1:continue_scope::X vector:continue_scope::vec \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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 64, column 1]\n NULLIFY(&x2); [line 64, column 1]\n NULLIFY(&x1); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$16); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$19); [line 64, column 1]\n NULLIFY(&it); [line 64, column 1]\n NULLIFY(&vector); [line 64, column 1]\n " color=yellow style=filled] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_2" [label="2: Exit continue_scope::test_for \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$16); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$13); [line 64, column 1]\n NULLIFY(&x2); [line 64, column 1]\n NULLIFY(&x1); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$6); [line 64, column 1]\n NULLIFY(&it); [line 64, column 1]\n NULLIFY(&vector); [line 64, column 1]\n " color=yellow style=filled] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_3" [label="3: Destruction \n _=*&x2:continue_scope::X [line 64, column 1]\n n$1=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 64, column 1]\n _=*&vector:continue_scope::vec [line 64, column 1]\n n$3=_fun_continue_scope::vec::~vec(&vector:continue_scope::vec*) injected [line 64, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,vector,x2); [line 64, column 1]\n APPLY_ABSTRACTION; [line 64, 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 n$6=_fun___variable_initialization(&x2:continue_scope::X) assign_last [line 63, column 3]\n n$5=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 63, column 5]\n EXIT_SCOPE(n$5,n$6); [line 63, column 5]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 63, column 3]\n n$5=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 63, column 5]\n EXIT_SCOPE(n$5); [line 63, 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 n$13=_fun___variable_initialization(&it:continue_scope::iterator) assign_last [line 57, column 8]\n n$11=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator) assign_last [line 57, column 22]\n _=*&vector:continue_scope::vec [line 57, column 22]\n n$10=_fun_continue_scope::vec::begin(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator*) assign_last [line 57, column 22]\n n$12=_fun_continue_scope::iterator::iterator(&it:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator&) [line 57, column 22]\n EXIT_SCOPE(_,n$10,n$11,n$12,n$13,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 57, column 22]\n APPLY_ABSTRACTION; [line 57, column 22]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(it:continue_scope::iterator); [line 57, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$6:continue_scope::iterator); [line 57, column 22]\n _=*&vector:continue_scope::vec [line 57, column 22]\n n$9=_fun_continue_scope::vec::begin(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$6:continue_scope::iterator*) assign_last [line 57, column 22]\n n$10=_fun_continue_scope::iterator::iterator(&it:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$6:continue_scope::iterator&) [line 57, column 22]\n EXIT_SCOPE(_,n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$6); [line 57, column 22]\n APPLY_ABSTRACTION; [line 57, 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 n$17=_fun_continue_scope::iterator::operator++(&it:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$16:continue_scope::iterator*) assign_last [line 57, column 58]\n EXIT_SCOPE(n$17,0$?%__sil_tmp__temp_return_n$16); [line 57, column 58]\n APPLY_ABSTRACTION; [line 57, column 58]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" [label="7: Call _fun_continue_scope::iterator::operator++ \n n$14=_fun_continue_scope::iterator::operator++(&it:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$13:continue_scope::iterator*) assign_last [line 57, column 58]\n EXIT_SCOPE(n$14,0$?%__sil_tmp__temp_return_n$13); [line 57, column 58]\n APPLY_ABSTRACTION; [line 57, 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 n$23=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator const ) assign_last [line 57, column 44]\n _=*&vector:continue_scope::vec [line 57, column 44]\n n$22=_fun_continue_scope::vec::end(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator*) assign_last [line 57, column 44]\n n$24=_fun_continue_scope::iterator::operator!=(&it:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator const &) [line 57, column 38]\n EXIT_SCOPE(_,n$22,n$23,0$?%__sil_tmpSIL_materialize_temp__n$19); [line 57, column 38]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" [label="8: Call _fun_continue_scope::iterator::operator!= \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$16:continue_scope::iterator const ); [line 57, column 44]\n _=*&vector:continue_scope::vec [line 57, column 44]\n n$19=_fun_continue_scope::vec::end(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$16:continue_scope::iterator*) assign_last [line 57, column 44]\n n$20=_fun_continue_scope::iterator::operator!=(&it:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$16:continue_scope::iterator const &) [line 57, column 38]\n EXIT_SCOPE(_,n$19,0$?%__sil_tmpSIL_materialize_temp__n$16); [line 57, 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$24, true); [line 57, column 38]\n EXIT_SCOPE(n$24); [line 57, column 38]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$20, true); [line 57, column 38]\n EXIT_SCOPE(n$20); [line 57, 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$24, false); [line 57, column 38]\n EXIT_SCOPE(n$24,it); [line 57, column 38]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$20, false); [line 57, column 38]\n EXIT_SCOPE(n$20,it); [line 57, column 38]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" ; @@ -115,35 +115,35 @@ 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$26=*&b:_Bool [line 58, column 9]\n PRUNE(n$26, true); [line 58, column 9]\n EXIT_SCOPE(n$26); [line 58, column 9]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" [label="12: Prune (true branch, if) \n n$22=*&b:_Bool [line 58, column 9]\n PRUNE(n$22, true); [line 58, column 9]\n EXIT_SCOPE(n$22); [line 58, 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$26=*&b:_Bool [line 58, column 9]\n PRUNE(!n$26, false); [line 58, column 9]\n EXIT_SCOPE(n$26); [line 58, column 9]\n APPLY_ABSTRACTION; [line 58, column 9]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" [label="13: Prune (false branch, if) \n n$22=*&b:_Bool [line 58, column 9]\n PRUNE(!n$22, false); [line 58, column 9]\n EXIT_SCOPE(n$22); [line 58, column 9]\n APPLY_ABSTRACTION; [line 58, 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 61, column 5]\n n$28=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 61, column 5]\n APPLY_ABSTRACTION; [line 61, column 5]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_14" [label="14: Destruction \n _=*&x1:continue_scope::X [line 61, column 5]\n n$24=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 61, column 5]\n APPLY_ABSTRACTION; [line 61, 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 60, column 7]\n n$31=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 60, column 7]\n EXIT_SCOPE(_,n$31,x1); [line 60, column 7]\n APPLY_ABSTRACTION; [line 60, column 7]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_15" [label="15: Destruction \n _=*&x1:continue_scope::X [line 60, column 7]\n n$27=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 60, column 7]\n EXIT_SCOPE(_,n$27,x1); [line 60, column 7]\n APPLY_ABSTRACTION; [line 60, 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 n$34=_fun___variable_initialization(&x1:continue_scope::X) assign_last [line 59, column 7]\n n$33=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 59, column 9]\n EXIT_SCOPE(n$33,n$34); [line 59, column 9]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 59, column 7]\n n$29=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 59, column 9]\n EXIT_SCOPE(n$29); [line 59, 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 n$39=_fun___variable_initialization(&vector:continue_scope::vec) assign_last [line 56, column 3]\n n$38=_fun_continue_scope::vec::vec(&vector:continue_scope::vec*) [line 56, column 7]\n EXIT_SCOPE(n$38,n$39); [line 56, column 7]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_17" [label="17: DeclStmt \n VARIABLE_DECLARED(vector:continue_scope::vec); [line 56, column 3]\n n$33=_fun_continue_scope::vec::vec(&vector:continue_scope::vec*) [line 56, column 7]\n EXIT_SCOPE(n$33); [line 56, 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: __end1:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator __begin1:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$15:continue_scope::iterator 0$?%__sil_tmp__temp_return_n$25:continue_scope::iterator x2:continue_scope::X x:continue_scope::X 0$?%__sil_tmpSIL_materialize_temp__n$42:continue_scope::X const __range1:continue_scope::vec& x1:continue_scope::X vector:continue_scope::vec \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: __end1:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator __begin1:continue_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$13:continue_scope::iterator 0$?%__sil_tmp__temp_return_n$21:continue_scope::iterator x2:continue_scope::X x:continue_scope::X 0$?%__sil_tmpSIL_materialize_temp__n$37:continue_scope::X const __range1:continue_scope::vec& x1:continue_scope::X vector:continue_scope::vec \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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 53, column 1]\n NULLIFY(&vector); [line 53, column 1]\n NULLIFY(&__begin1); [line 53, column 1]\n NULLIFY(&__end1); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$42); [line 53, column 1]\n NULLIFY(&x2); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$15); [line 53, column 1]\n NULLIFY(&x1); [line 53, column 1]\n NULLIFY(&x); [line 53, column 1]\n NULLIFY(&__range1); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$25); [line 53, column 1]\n " color=yellow style=filled] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_2" [label="2: Exit continue_scope::test_for_range \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 53, column 1]\n NULLIFY(&vector); [line 53, column 1]\n NULLIFY(&__begin1); [line 53, column 1]\n NULLIFY(&__end1); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$21); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$13); [line 53, column 1]\n NULLIFY(&x2); [line 53, column 1]\n NULLIFY(&x1); [line 53, column 1]\n NULLIFY(&x); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$37); [line 53, column 1]\n " color=yellow style=filled] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" [label="3: Destruction \n _=*&x1:continue_scope::X [line 53, column 1]\n n$1=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 53, column 1]\n _=*&vector:continue_scope::vec [line 53, column 1]\n n$3=_fun_continue_scope::vec::~vec(&vector:continue_scope::vec*) injected [line 53, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,x1,vector); [line 53, column 1]\n APPLY_ABSTRACTION; [line 53, column 1]\n " shape="box"] @@ -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$14=_fun___variable_initialization(&__end1:continue_scope::iterator) assign_last [line 47, column 12]\n n$12=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator) assign_last [line 47, column 12]\n n$8=*&__range1:continue_scope::vec& [line 47, column 12]\n _=*n$8:continue_scope::vec [line 47, column 12]\n n$11=_fun_continue_scope::vec::end(n$8:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator*) assign_last [line 47, column 12]\n n$13=_fun_continue_scope::iterator::iterator(&__end1:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator&) [line 47, column 12]\n EXIT_SCOPE(_,n$8,n$11,n$12,n$13,n$14,__range1,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_5" [label="5: DeclStmt \n VARIABLE_DECLARED(__end1:continue_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator); [line 47, column 12]\n n$8=*&__range1:continue_scope::vec& [line 47, column 12]\n _=*n$8:continue_scope::vec [line 47, column 12]\n n$11=_fun_continue_scope::vec::end(n$8:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator*) assign_last [line 47, column 12]\n n$12=_fun_continue_scope::iterator::iterator(&__end1:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$7:continue_scope::iterator&) [line 47, column 12]\n NULLIFY(&__range1); [line 47, column 12]\n EXIT_SCOPE(_,n$8,n$11,n$12,__range1,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, 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$22=_fun___variable_initialization(&__begin1:continue_scope::iterator) assign_last [line 47, column 12]\n n$20=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$15:continue_scope::iterator) assign_last [line 47, column 12]\n n$16=*&__range1:continue_scope::vec& [line 47, column 12]\n _=*n$16:continue_scope::vec [line 47, column 12]\n n$19=_fun_continue_scope::vec::begin(n$16:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$15:continue_scope::iterator*) assign_last [line 47, column 12]\n n$21=_fun_continue_scope::iterator::iterator(&__begin1:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$15:continue_scope::iterator&) [line 47, column 12]\n EXIT_SCOPE(_,n$16,n$19,n$20,n$21,n$22,0$?%__sil_tmpSIL_materialize_temp__n$15); [line 47, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_6" [label="6: DeclStmt \n VARIABLE_DECLARED(__begin1:continue_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$13:continue_scope::iterator); [line 47, column 12]\n n$14=*&__range1:continue_scope::vec& [line 47, column 12]\n _=*n$14:continue_scope::vec [line 47, column 12]\n n$17=_fun_continue_scope::vec::begin(n$14:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$13:continue_scope::iterator*) assign_last [line 47, column 12]\n n$18=_fun_continue_scope::iterator::iterator(&__begin1:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$13:continue_scope::iterator&) [line 47, column 12]\n EXIT_SCOPE(_,n$14,n$17,n$18,0$?%__sil_tmpSIL_materialize_temp__n$13); [line 47, 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 n$26=_fun_continue_scope::iterator::operator++(&__begin1:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$25:continue_scope::iterator*) assign_last [line 47, column 12]\n EXIT_SCOPE(n$26,0$?%__sil_tmp__temp_return_n$25); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" [label="7: Call _fun_continue_scope::iterator::operator++ \n n$22=_fun_continue_scope::iterator::operator++(&__begin1:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$21:continue_scope::iterator*) assign_last [line 47, column 12]\n EXIT_SCOPE(n$22,0$?%__sil_tmp__temp_return_n$21); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, 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$28=_fun_continue_scope::iterator::operator!=(&__begin1:continue_scope::iterator&,&__end1:continue_scope::iterator&) [line 47, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" [label="8: Call _fun_continue_scope::iterator::operator!= \n n$24=_fun_continue_scope::iterator::operator!=(&__begin1:continue_scope::iterator&,&__end1:continue_scope::iterator&) [line 47, 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$28, true); [line 47, column 12]\n EXIT_SCOPE(n$28); [line 47, column 12]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$24, true); [line 47, column 12]\n EXIT_SCOPE(n$24); [line 47, 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$28, false); [line 47, column 12]\n EXIT_SCOPE(n$28,__end1,__begin1); [line 47, column 12]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$24, false); [line 47, column 12]\n EXIT_SCOPE(n$24,__end1,__begin1); [line 47, column 12]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" ; @@ -183,40 +183,40 @@ 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$31=*&b:_Bool [line 48, column 9]\n PRUNE(n$31, true); [line 48, column 9]\n EXIT_SCOPE(n$31); [line 48, column 9]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" [label="12: Prune (true branch, if) \n n$27=*&b:_Bool [line 48, column 9]\n PRUNE(n$27, true); [line 48, column 9]\n EXIT_SCOPE(n$27); [line 48, 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$31=*&b:_Bool [line 48, column 9]\n PRUNE(!n$31, false); [line 48, column 9]\n EXIT_SCOPE(n$31,x); [line 48, column 9]\n APPLY_ABSTRACTION; [line 48, column 9]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" [label="13: Prune (false branch, if) \n n$27=*&b:_Bool [line 48, column 9]\n PRUNE(!n$27, false); [line 48, column 9]\n EXIT_SCOPE(n$27,x); [line 48, column 9]\n APPLY_ABSTRACTION; [line 48, 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 51, column 5]\n n$33=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 51, column 5]\n APPLY_ABSTRACTION; [line 51, column 5]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_14" [label="14: Destruction \n _=*&x2:continue_scope::X [line 51, column 5]\n n$29=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 51, column 5]\n APPLY_ABSTRACTION; [line 51, 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 50, column 7]\n n$36=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 50, column 7]\n EXIT_SCOPE(_,n$36,x2); [line 50, column 7]\n APPLY_ABSTRACTION; [line 50, column 7]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_15" [label="15: Destruction \n _=*&x2:continue_scope::X [line 50, column 7]\n n$32=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 50, column 7]\n EXIT_SCOPE(_,n$32,x2); [line 50, column 7]\n APPLY_ABSTRACTION; [line 50, 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 n$39=_fun___variable_initialization(&x2:continue_scope::X) assign_last [line 49, column 7]\n n$38=_fun_continue_scope::X::X(&x2:continue_scope::X*,&x:continue_scope::X&) [line 49, column 14]\n EXIT_SCOPE(n$38,n$39,x); [line 49, column 14]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 49, column 7]\n n$34=_fun_continue_scope::X::X(&x2:continue_scope::X*,&x:continue_scope::X&) [line 49, column 14]\n EXIT_SCOPE(n$34,x); [line 49, 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 n$48=_fun___variable_initialization(&x:continue_scope::X) assign_last [line 47, column 8]\n n$46=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$42:continue_scope::X const ) assign_last [line 47, column 12]\n n$45=_fun_continue_scope::iterator::operator*(&__begin1:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$42:continue_scope::X*) assign_last [line 47, column 12]\n n$47=_fun_continue_scope::X::X(&x:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$42:continue_scope::X const &) [line 47, column 12]\n EXIT_SCOPE(n$45,n$46,n$47,n$48,0$?%__sil_tmpSIL_materialize_temp__n$42); [line 47, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" [label="17: DeclStmt \n VARIABLE_DECLARED(x:continue_scope::X); [line 47, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$37:continue_scope::X const ); [line 47, column 12]\n n$40=_fun_continue_scope::iterator::operator*(&__begin1:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$37:continue_scope::X*) assign_last [line 47, column 12]\n n$41=_fun_continue_scope::X::X(&x:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$37:continue_scope::X const &) [line 47, column 12]\n EXIT_SCOPE(n$40,n$41,0$?%__sil_tmpSIL_materialize_temp__n$37); [line 47, column 12]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" ; "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_18" [label="18: DeclStmt \n n$50=_fun___variable_initialization(&__range1:continue_scope::vec&) assign_last [line 47, column 14]\n *&__range1:continue_scope::vec&=&vector [line 47, column 14]\n EXIT_SCOPE(n$50); [line 47, column 14]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_18" [label="18: DeclStmt \n VARIABLE_DECLARED(__range1:continue_scope::vec&); [line 47, column 14]\n *&__range1:continue_scope::vec&=&vector [line 47, column 14]\n " shape="box"] "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 n$52=_fun___variable_initialization(&x1:continue_scope::X) assign_last [line 46, column 3]\n n$51=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 46, column 5]\n EXIT_SCOPE(n$51,n$52); [line 46, column 5]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 46, column 3]\n n$43=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 46, column 5]\n EXIT_SCOPE(n$43); [line 46, 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 n$54=_fun___variable_initialization(&vector:continue_scope::vec) assign_last [line 45, column 3]\n n$53=_fun_continue_scope::vec::vec(&vector:continue_scope::vec*) [line 45, column 7]\n EXIT_SCOPE(n$53,n$54); [line 45, column 7]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_20" [label="20: DeclStmt \n VARIABLE_DECLARED(vector:continue_scope::vec); [line 45, column 3]\n n$44=_fun_continue_scope::vec::vec(&vector:continue_scope::vec*) [line 45, column 7]\n EXIT_SCOPE(n$44); [line 45, column 7]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_20" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_19" ; @@ -265,19 +265,19 @@ digraph cfg { "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 n$13=_fun___variable_initialization(&x2:continue_scope::X) assign_last [line 70, column 7]\n n$12=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 70, column 9]\n EXIT_SCOPE(n$12,n$13); [line 70, column 9]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 70, column 7]\n n$12=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 70, column 9]\n EXIT_SCOPE(n$12); [line 70, 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 74, column 5]\n n$15=_fun_continue_scope::X::~X(&x4:continue_scope::X*) injected [line 74, column 5]\n EXIT_SCOPE(_,n$15,x4); [line 74, column 5]\n APPLY_ABSTRACTION; [line 74, column 5]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_13" [label="13: Destruction \n _=*&x4:continue_scope::X [line 74, column 5]\n n$14=_fun_continue_scope::X::~X(&x4:continue_scope::X*) injected [line 74, column 5]\n EXIT_SCOPE(_,n$14,x4); [line 74, column 5]\n APPLY_ABSTRACTION; [line 74, 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 n$18=_fun___variable_initialization(&x4:continue_scope::X) assign_last [line 73, column 7]\n n$17=_fun_continue_scope::X::X(&x4:continue_scope::X*) [line 73, column 9]\n EXIT_SCOPE(n$17,n$18); [line 73, column 9]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x4:continue_scope::X); [line 73, column 7]\n n$16=_fun_continue_scope::X::X(&x4:continue_scope::X*) [line 73, column 9]\n EXIT_SCOPE(n$16); [line 73, 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 n$22=_fun___variable_initialization(&x1:continue_scope::X) assign_last [line 67, column 3]\n n$21=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 67, column 5]\n EXIT_SCOPE(n$21,n$22); [line 67, column 5]\n APPLY_ABSTRACTION; [line 67, column 5]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 67, column 3]\n n$19=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 67, column 5]\n EXIT_SCOPE(n$19); [line 67, column 5]\n APPLY_ABSTRACTION; [line 67, column 5]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_15" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" ; @@ -330,15 +330,15 @@ digraph cfg { "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 n$15=_fun___variable_initialization(&x3:continue_scope::X) assign_last [line 96, column 7]\n n$14=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 96, column 9]\n EXIT_SCOPE(n$14,n$15); [line 96, column 9]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x3:continue_scope::X); [line 96, column 7]\n n$14=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 96, column 9]\n EXIT_SCOPE(n$14); [line 96, 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 n$18=_fun___variable_initialization(&x2:continue_scope::X) assign_last [line 94, column 5]\n n$17=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 94, column 7]\n EXIT_SCOPE(n$17,n$18); [line 94, column 7]\n APPLY_ABSTRACTION; [line 94, column 7]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 94, column 5]\n n$16=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 94, column 7]\n EXIT_SCOPE(n$16); [line 94, column 7]\n APPLY_ABSTRACTION; [line 94, 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 n$21=_fun___variable_initialization(&x1:continue_scope::X) assign_last [line 92, column 3]\n n$20=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 92, column 5]\n EXIT_SCOPE(n$20,n$21); [line 92, column 5]\n APPLY_ABSTRACTION; [line 92, column 5]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 92, column 3]\n n$18=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 92, column 5]\n EXIT_SCOPE(n$18); [line 92, column 5]\n APPLY_ABSTRACTION; [line 92, column 5]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_15" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_4" ; @@ -353,7 +353,7 @@ digraph cfg { "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 n$6=_fun___variable_initialization(&x3:continue_scope::X) assign_last [line 110, column 3]\n n$5=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 110, column 5]\n EXIT_SCOPE(n$5,n$6); [line 110, column 5]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:continue_scope::X); [line 110, column 3]\n n$5=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 110, column 5]\n EXIT_SCOPE(n$5); [line 110, 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$7=*&a:_Bool [line 104, column 10]\n PRUNE(n$7, true); [line 104, column 10]\n EXIT_SCOPE(n$7); [line 104, column 10]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_6" [label="6: Prune (true branch, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(n$6, true); [line 104, column 10]\n EXIT_SCOPE(n$6); [line 104, 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$7=*&a:_Bool [line 104, column 10]\n PRUNE(!n$7, false); [line 104, column 10]\n NULLIFY(&a); [line 104, column 10]\n EXIT_SCOPE(n$7,a); [line 104, column 10]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" [label="7: Prune (false branch, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(!n$6, false); [line 104, column 10]\n NULLIFY(&a); [line 104, column 10]\n EXIT_SCOPE(n$6,a); [line 104, 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 109, column 3]\n n$9=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 109, column 3]\n EXIT_SCOPE(_,n$9,x2); [line 109, column 3]\n APPLY_ABSTRACTION; [line 109, column 3]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_8" [label="8: Destruction \n _=*&x2:continue_scope::X [line 109, column 3]\n n$8=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 109, column 3]\n EXIT_SCOPE(_,n$8,x2); [line 109, column 3]\n APPLY_ABSTRACTION; [line 109, 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$11=*&b:_Bool [line 106, column 12]\n PRUNE(n$11, true); [line 106, column 12]\n EXIT_SCOPE(n$11); [line 106, column 12]\n APPLY_ABSTRACTION; [line 106, column 12]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_10" [label="10: Prune (true branch, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(n$10, true); [line 106, column 12]\n EXIT_SCOPE(n$10); [line 106, column 12]\n APPLY_ABSTRACTION; [line 106, 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$11=*&b:_Bool [line 106, column 12]\n PRUNE(!n$11, false); [line 106, column 12]\n EXIT_SCOPE(n$11); [line 106, column 12]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" [label="11: Prune (false branch, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(!n$10, false); [line 106, column 12]\n EXIT_SCOPE(n$10); [line 106, 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 n$17=_fun___variable_initialization(&x2:continue_scope::X) assign_last [line 105, column 5]\n n$16=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 105, column 7]\n EXIT_SCOPE(n$16,n$17); [line 105, column 7]\n APPLY_ABSTRACTION; [line 105, column 7]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 105, column 5]\n n$15=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 105, column 7]\n EXIT_SCOPE(n$15); [line 105, column 7]\n APPLY_ABSTRACTION; [line 105, 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 n$20=_fun___variable_initialization(&x1:continue_scope::X) assign_last [line 103, column 3]\n n$19=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 103, column 5]\n EXIT_SCOPE(n$19,n$20); [line 103, column 5]\n APPLY_ABSTRACTION; [line 103, column 5]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 103, column 3]\n n$17=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 103, column 5]\n EXIT_SCOPE(n$17); [line 103, column 5]\n APPLY_ABSTRACTION; [line 103, column 5]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_13" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_5" ; @@ -434,7 +434,7 @@ digraph cfg { "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_2" [label="2: Exit continue_scope::iterator::operator* \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 42, column 63]\n " color=yellow style=filled] -"operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 42, column 33]\n n$9=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const ) assign_last [line 42, column 40]\n n$2=*&this:continue_scope::iterator const * [line 42, column 40]\n n$3=*n$2.vector:continue_scope::vec const * [line 42, column 40]\n _=*n$3:continue_scope::vec const [line 42, column 40]\n n$5=*&this:continue_scope::iterator const * [line 42, column 52]\n n$6=*n$5.position:int [line 42, 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*) assign_last [line 42, column 40]\n n$10=_fun_continue_scope::X::X(n$0:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const &) [line 42, column 40]\n NULLIFY(&__return_param); [line 42, column 40]\n NULLIFY(&this); [line 42, column 40]\n EXIT_SCOPE(_,n$0,n$2,n$3,n$5,n$6,n$8,n$9,n$10,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 42, column 40]\n APPLY_ABSTRACTION; [line 42, column 40]\n " shape="box"] +"operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 42, column 33]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const ); [line 42, column 40]\n n$2=*&this:continue_scope::iterator const * [line 42, column 40]\n n$3=*n$2.vector:continue_scope::vec const * [line 42, column 40]\n _=*n$3:continue_scope::vec const [line 42, column 40]\n n$5=*&this:continue_scope::iterator const * [line 42, column 52]\n n$6=*n$5.position:int [line 42, 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*) assign_last [line 42, 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 const &) [line 42, column 40]\n NULLIFY(&__return_param); [line 42, column 40]\n NULLIFY(&this); [line 42, column 40]\n EXIT_SCOPE(_,n$0,n$2,n$3,n$5,n$6,n$8,n$9,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 42, column 40]\n APPLY_ABSTRACTION; [line 42, column 40]\n " shape="box"] "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" -> "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_2" ; @@ -541,7 +541,7 @@ digraph cfg { "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_2" [label="2: Exit continue_scope::vec::begin \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 34, column 48]\n " color=yellow style=filled] -"begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 34, column 22]\n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator) assign_last [line 34, column 29]\n n$2=*&this:continue_scope::vec* [line 34, 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 34, column 29]\n n$5=_fun_continue_scope::iterator::iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 34, column 29]\n NULLIFY(&__return_param); [line 34, column 29]\n NULLIFY(&this); [line 34, column 29]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,n$5,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 34, column 29]\n APPLY_ABSTRACTION; [line 34, column 29]\n " shape="box"] +"begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 34, column 22]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator); [line 34, column 29]\n n$2=*&this:continue_scope::vec* [line 34, 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 34, 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 34, column 29]\n NULLIFY(&__return_param); [line 34, column 29]\n NULLIFY(&this); [line 34, column 29]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 34, column 29]\n APPLY_ABSTRACTION; [line 34, column 29]\n " shape="box"] "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" -> "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_2" ; @@ -563,7 +563,7 @@ digraph cfg { "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_2" [label="2: Exit continue_scope::vec::end \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 47]\n " color=yellow style=filled] -"end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 35, column 20]\n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator) assign_last [line 35, column 27]\n n$2=*&this:continue_scope::vec* [line 35, 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 35, column 27]\n n$5=_fun_continue_scope::iterator::iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 35, column 27]\n NULLIFY(&__return_param); [line 35, column 27]\n NULLIFY(&this); [line 35, column 27]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,n$5,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 35, column 27]\n APPLY_ABSTRACTION; [line 35, column 27]\n " shape="box"] +"end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 35, column 20]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator); [line 35, column 27]\n n$2=*&this:continue_scope::vec* [line 35, 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 35, 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 35, column 27]\n NULLIFY(&__return_param); [line 35, column 27]\n NULLIFY(&this); [line 35, column 27]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 35, column 27]\n APPLY_ABSTRACTION; [line 35, column 27]\n " shape="box"] "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" -> "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_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 548e748b3..c15e87a3c 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot @@ -125,7 +125,7 @@ digraph cfg { "__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 n$12=_fun___variable_initialization(&a:A) assign_last [line 31, column 10]\n n$11=_fun_A::A(&a:A*) [line 31, column 12]\n EXIT_SCOPE(n$11,n$12); [line 31, column 12]\n " shape="box"] +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:A); [line 31, column 10]\n n$11=_fun_A::A(&a:A*) [line 31, column 12]\n EXIT_SCOPE(n$11); [line 31, column 12]\n " shape="box"] "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" ; 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 094e80290..e8caa915d 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 @@ -30,7 +30,7 @@ digraph cfg { "f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" ; -"f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&x:int) assign_last [line 10, column 3]\n n$3=*&p:int* [line 10, column 12]\n n$4=*n$3:int [line 10, column 11]\n *&x:int=n$4 [line 10, column 3]\n NULLIFY(&p); [line 10, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,p); [line 10, column 3]\n " shape="box"] +"f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 10, column 3]\n n$3=*&p:int* [line 10, column 12]\n n$4=*n$3:int [line 10, column 11]\n *&x:int=n$4 [line 10, column 3]\n NULLIFY(&p); [line 10, column 3]\n EXIT_SCOPE(n$3,n$4,p); [line 10, column 3]\n " shape="box"] "f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" ; @@ -45,7 +45,7 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&t:int*) assign_last [line 22, column 3]\n *&t:int*=null [line 22, column 3]\n EXIT_SCOPE(n$2); [line 22, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 22, column 3]\n *&t:int*=null [line 22, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot index ab1d46f97..c22fee9a0 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot @@ -22,7 +22,7 @@ digraph cfg { "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_2" ; -"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&x:destructor_scope::X) assign_last [line 69, column 3]\n n$5=_fun_destructor_scope::X::X(&x:destructor_scope::X*) [line 69, column 5]\n EXIT_SCOPE(n$5,n$6); [line 69, column 5]\n " shape="box"] +"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:destructor_scope::X); [line 69, column 3]\n n$5=_fun_destructor_scope::X::X(&x:destructor_scope::X*) [line 69, column 5]\n EXIT_SCOPE(n$5); [line 69, column 5]\n " shape="box"] "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" ; @@ -37,7 +37,7 @@ digraph cfg { "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_2" ; -"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&z:destructor_scope::Z) assign_last [line 74, column 3]\n n$5=_fun_destructor_scope::Z::Z(&z:destructor_scope::Z*) [line 74, column 5]\n EXIT_SCOPE(n$5,n$6); [line 74, column 5]\n " shape="box"] +"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" [label="4: DeclStmt \n VARIABLE_DECLARED(z:destructor_scope::Z); [line 74, column 3]\n n$5=_fun_destructor_scope::Z::Z(&z:destructor_scope::Z*) [line 74, column 5]\n EXIT_SCOPE(n$5); [line 74, column 5]\n " shape="box"] "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" ; @@ -56,19 +56,19 @@ digraph cfg { "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_4" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_3" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_5" [label="5: DeclStmt \n n$11=_fun___variable_initialization(&y3:destructor_scope::Y) assign_last [line 54, column 5]\n n$10=_fun_destructor_scope::Y::Y(&y3:destructor_scope::Y*) [line 54, column 7]\n EXIT_SCOPE(n$10,n$11); [line 54, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y3:destructor_scope::Y); [line 54, column 5]\n n$10=_fun_destructor_scope::Y::Y(&y3:destructor_scope::Y*) [line 54, column 7]\n EXIT_SCOPE(n$10); [line 54, 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 n$13=_fun___variable_initialization(&y1:destructor_scope::Y) assign_last [line 53, column 3]\n n$12=_fun_destructor_scope::Y::Y(&y1:destructor_scope::Y*) [line 53, column 5]\n EXIT_SCOPE(n$12,n$13); [line 53, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y1:destructor_scope::Y); [line 53, column 3]\n n$11=_fun_destructor_scope::Y::Y(&y1:destructor_scope::Y*) [line 53, column 5]\n EXIT_SCOPE(n$11); [line 53, 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 52, column 3]\n n$15=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 52, column 3]\n _=*&x2:destructor_scope::X [line 52, column 3]\n n$17=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 52, column 3]\n EXIT_SCOPE(_,_,n$15,n$17,x2,y2); [line 52, column 3]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_7" [label="7: Destruction \n _=*&y2:destructor_scope::Y [line 52, column 3]\n n$13=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 52, column 3]\n _=*&x2:destructor_scope::X [line 52, column 3]\n n$15=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 52, column 3]\n EXIT_SCOPE(_,_,n$13,n$15,x2,y2); [line 52, 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 51, column 5]\n n$20=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 51, column 5]\n EXIT_SCOPE(_,n$20,x3); [line 51, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_8" [label="8: Destruction \n _=*&x3:destructor_scope::X [line 51, column 5]\n n$18=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 51, column 5]\n EXIT_SCOPE(_,n$18,x3); [line 51, 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$22=*&b:_Bool [line 48, column 11]\n PRUNE(n$22, true); [line 48, column 11]\n NULLIFY(&b); [line 48, column 11]\n EXIT_SCOPE(n$22,b); [line 48, column 11]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_10" [label="10: Prune (true branch, if) \n n$20=*&b:_Bool [line 48, column 11]\n PRUNE(n$20, true); [line 48, column 11]\n NULLIFY(&b); [line 48, column 11]\n EXIT_SCOPE(n$20,b); [line 48, 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$22=*&b:_Bool [line 48, column 11]\n PRUNE(!n$22, false); [line 48, column 11]\n NULLIFY(&b); [line 48, column 11]\n EXIT_SCOPE(n$22,b); [line 48, column 11]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_11" [label="11: Prune (false branch, if) \n n$20=*&b:_Bool [line 48, column 11]\n PRUNE(!n$20, false); [line 48, column 11]\n NULLIFY(&b); [line 48, column 11]\n EXIT_SCOPE(n$20,b); [line 48, 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 49, column 9]\n n$24=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 49, column 9]\n _=*&y2:destructor_scope::Y [line 49, column 9]\n n$26=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 49, column 9]\n _=*&x2:destructor_scope::X [line 49, column 9]\n n$28=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 49, column 9]\n _=*&s:destructor_scope::S [line 49, column 9]\n n$30=_fun_destructor_scope::S::~S(&s:destructor_scope::S*) injected [line 49, column 9]\n _=*&x1:destructor_scope::X [line 49, column 9]\n n$32=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 49, column 9]\n EXIT_SCOPE(_,_,_,_,_,n$24,n$26,n$28,n$30,n$32,x1,x2,s,y2,x3); [line 49, column 9]\n APPLY_ABSTRACTION; [line 49, column 9]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_12" [label="12: Return Stmt \n _=*&x3:destructor_scope::X [line 49, column 9]\n n$22=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 49, column 9]\n _=*&y2:destructor_scope::Y [line 49, column 9]\n n$24=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 49, column 9]\n _=*&x2:destructor_scope::X [line 49, column 9]\n n$26=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 49, column 9]\n _=*&s:destructor_scope::S [line 49, column 9]\n n$28=_fun_destructor_scope::S::~S(&s:destructor_scope::S*) injected [line 49, column 9]\n _=*&x1:destructor_scope::X [line 49, column 9]\n n$30=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 49, column 9]\n EXIT_SCOPE(_,_,_,_,_,n$22,n$24,n$26,n$28,n$30,x1,x2,s,y2,x3); [line 49, column 9]\n APPLY_ABSTRACTION; [line 49, 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 n$38=_fun___variable_initialization(&x3:destructor_scope::X) assign_last [line 47, column 7]\n n$37=_fun_destructor_scope::X::X(&x3:destructor_scope::X*) [line 47, column 9]\n EXIT_SCOPE(n$37,n$38); [line 47, column 9]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x3:destructor_scope::X); [line 47, column 7]\n n$35=_fun_destructor_scope::X::X(&x3:destructor_scope::X*) [line 47, column 9]\n EXIT_SCOPE(n$35); [line 47, 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$39=*&a:_Bool [line 43, column 9]\n PRUNE(n$39, true); [line 43, column 9]\n NULLIFY(&a); [line 43, column 9]\n EXIT_SCOPE(n$39,a); [line 43, column 9]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_15" [label="15: Prune (true branch, if) \n n$36=*&a:_Bool [line 43, column 9]\n PRUNE(n$36, true); [line 43, column 9]\n NULLIFY(&a); [line 43, column 9]\n EXIT_SCOPE(n$36,a); [line 43, 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$39=*&a:_Bool [line 43, column 9]\n PRUNE(!n$39, false); [line 43, column 9]\n NULLIFY(&a); [line 43, column 9]\n EXIT_SCOPE(n$39,a); [line 43, column 9]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" [label="16: Prune (false branch, if) \n n$36=*&a:_Bool [line 43, column 9]\n PRUNE(!n$36, false); [line 43, column 9]\n NULLIFY(&a); [line 43, column 9]\n EXIT_SCOPE(n$36,a); [line 43, 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 44, column 7]\n n$41=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 44, column 7]\n _=*&x2:destructor_scope::X [line 44, column 7]\n n$43=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 44, column 7]\n _=*&s:destructor_scope::S [line 44, column 7]\n n$45=_fun_destructor_scope::S::~S(&s:destructor_scope::S*) injected [line 44, column 7]\n _=*&x1:destructor_scope::X [line 44, column 7]\n n$47=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 44, column 7]\n EXIT_SCOPE(_,_,_,_,n$41,n$43,n$45,n$47,x1,x2,s,y2); [line 44, column 7]\n APPLY_ABSTRACTION; [line 44, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_17" [label="17: Return Stmt \n _=*&y2:destructor_scope::Y [line 44, column 7]\n n$38=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 44, column 7]\n _=*&x2:destructor_scope::X [line 44, column 7]\n n$40=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 44, column 7]\n _=*&s:destructor_scope::S [line 44, column 7]\n n$42=_fun_destructor_scope::S::~S(&s:destructor_scope::S*) injected [line 44, column 7]\n _=*&x1:destructor_scope::X [line 44, column 7]\n n$44=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 44, column 7]\n EXIT_SCOPE(_,_,_,_,n$38,n$40,n$42,n$44,x1,x2,s,y2); [line 44, column 7]\n APPLY_ABSTRACTION; [line 44, 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 n$53=_fun___variable_initialization(&y2:destructor_scope::Y) assign_last [line 42, column 5]\n n$52=_fun_destructor_scope::Y::Y(&y2:destructor_scope::Y*) [line 42, column 7]\n EXIT_SCOPE(n$52,n$53); [line 42, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" [label="18: DeclStmt \n VARIABLE_DECLARED(y2:destructor_scope::Y); [line 42, column 5]\n n$49=_fun_destructor_scope::Y::Y(&y2:destructor_scope::Y*) [line 42, column 7]\n EXIT_SCOPE(n$49); [line 42, 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 n$55=_fun___variable_initialization(&x2:destructor_scope::X) assign_last [line 41, column 5]\n n$54=_fun_destructor_scope::X::X(&x2:destructor_scope::X*) [line 41, column 7]\n EXIT_SCOPE(n$54,n$55); [line 41, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x2:destructor_scope::X); [line 41, column 5]\n n$50=_fun_destructor_scope::X::X(&x2:destructor_scope::X*) [line 41, column 7]\n EXIT_SCOPE(n$50); [line 41, 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 n$57=_fun___variable_initialization(&s:destructor_scope::S) assign_last [line 39, column 3]\n n$56=_fun_destructor_scope::S::S(&s:destructor_scope::S*) [line 39, column 5]\n EXIT_SCOPE(n$56,n$57); [line 39, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_20" [label="20: DeclStmt \n VARIABLE_DECLARED(s:destructor_scope::S); [line 39, column 3]\n n$51=_fun_destructor_scope::S::S(&s:destructor_scope::S*) [line 39, column 5]\n EXIT_SCOPE(n$51); [line 39, 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 n$59=_fun___variable_initialization(&x1:destructor_scope::X) assign_last [line 38, column 3]\n n$58=_fun_destructor_scope::X::X(&x1:destructor_scope::X*) [line 38, column 5]\n EXIT_SCOPE(n$58,n$59); [line 38, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_21" [label="21: DeclStmt \n VARIABLE_DECLARED(x1:destructor_scope::X); [line 38, column 3]\n n$52=_fun_destructor_scope::X::X(&x1:destructor_scope::X*) [line 38, column 5]\n EXIT_SCOPE(n$52); [line 38, column 5]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_21" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_20" ; @@ -153,19 +153,19 @@ digraph cfg { "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_7" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_2" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_8" [label="8: DeclStmt \n n$10=_fun___variable_initialization(&x2:destructor_scope::X) assign_last [line 60, column 5]\n n$9=_fun_destructor_scope::X::X(&x2:destructor_scope::X*) [line 60, column 7]\n EXIT_SCOPE(n$9,n$10); [line 60, column 7]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x2:destructor_scope::X); [line 60, column 5]\n n$9=_fun_destructor_scope::X::X(&x2:destructor_scope::X*) [line 60, column 7]\n EXIT_SCOPE(n$9); [line 60, 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 64, column 5]\n _=*&x3:destructor_scope::X [line 64, column 12]\n n$12=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 64, column 12]\n _=*&x1:destructor_scope::X [line 64, column 12]\n n$14=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 64, column 12]\n EXIT_SCOPE(_,_,n$12,n$14,x3,x1); [line 64, column 12]\n APPLY_ABSTRACTION; [line 64, column 12]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_9" [label="9: Return Stmt \n *&return:int=2 [line 64, column 5]\n _=*&x3:destructor_scope::X [line 64, column 12]\n n$11=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 64, column 12]\n _=*&x1:destructor_scope::X [line 64, column 12]\n n$13=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 64, column 12]\n EXIT_SCOPE(_,_,n$11,n$13,x3,x1); [line 64, column 12]\n APPLY_ABSTRACTION; [line 64, 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 n$17=_fun___variable_initialization(&x3:destructor_scope::X) assign_last [line 63, column 5]\n n$16=_fun_destructor_scope::X::X(&x3:destructor_scope::X*) [line 63, column 7]\n EXIT_SCOPE(n$16,n$17); [line 63, column 7]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x3:destructor_scope::X); [line 63, column 5]\n n$15=_fun_destructor_scope::X::X(&x3:destructor_scope::X*) [line 63, column 7]\n EXIT_SCOPE(n$15); [line 63, 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 n$20=_fun___variable_initialization(&x1:destructor_scope::X) assign_last [line 58, column 3]\n n$19=_fun_destructor_scope::X::X(&x1:destructor_scope::X*) [line 58, column 5]\n EXIT_SCOPE(n$19,n$20); [line 58, column 5]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x1:destructor_scope::X); [line 58, column 3]\n n$17=_fun_destructor_scope::X::X(&x1:destructor_scope::X*) [line 58, column 5]\n EXIT_SCOPE(n$17); [line 58, column 5]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_11" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_5" ; @@ -218,7 +218,7 @@ digraph cfg { "__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 n$14=_fun___variable_initialization(&y:destructor_scope::Y) assign_last [line 33, column 5]\n n$13=_fun_destructor_scope::Y::Y(&y:destructor_scope::Y*) [line 33, column 7]\n EXIT_SCOPE(n$13,n$14); [line 33, column 7]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:destructor_scope::Y); [line 33, column 5]\n n$13=_fun_destructor_scope::Y::Y(&y:destructor_scope::Y*) [line 33, column 7]\n EXIT_SCOPE(n$13); [line 33, 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" ; @@ -226,19 +226,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$15=*&this:destructor_scope::W* [line 31, column 9]\n n$16=*n$15.b:_Bool [line 31, column 9]\n PRUNE(n$16, true); [line 31, column 9]\n EXIT_SCOPE(n$15,n$16); [line 31, column 9]\n " shape="invhouse"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" [label="7: Prune (true branch, if) \n n$14=*&this:destructor_scope::W* [line 31, column 9]\n n$15=*n$14.b:_Bool [line 31, column 9]\n PRUNE(n$15, true); [line 31, column 9]\n EXIT_SCOPE(n$14,n$15); [line 31, 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$15=*&this:destructor_scope::W* [line 31, column 9]\n n$16=*n$15.b:_Bool [line 31, column 9]\n PRUNE(!n$16, false); [line 31, column 9]\n EXIT_SCOPE(n$15,n$16); [line 31, column 9]\n " shape="invhouse"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_8" [label="8: Prune (false branch, if) \n n$14=*&this:destructor_scope::W* [line 31, column 9]\n n$15=*n$14.b:_Bool [line 31, column 9]\n PRUNE(!n$15, false); [line 31, column 9]\n EXIT_SCOPE(n$14,n$15); [line 31, 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 32, column 7]\n n$18=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 32, column 7]\n n$20=*&this:destructor_scope::W* [line 32, column 7]\n _=*n$20.s:destructor_scope::S [line 32, column 7]\n n$26=_fun_destructor_scope::S::~S(n$20.s:destructor_scope::S*) injected [line 32, column 7]\n _=*n$20.y:destructor_scope::Y [line 32, column 7]\n n$24=_fun_destructor_scope::Y::~Y(n$20.y:destructor_scope::Y*) injected [line 32, column 7]\n _=*n$20.x:destructor_scope::X [line 32, column 7]\n n$22=_fun_destructor_scope::X::~X(n$20.x:destructor_scope::X*) injected [line 32, column 7]\n NULLIFY(&this); [line 32, column 7]\n EXIT_SCOPE(_,_,_,_,n$18,n$20,n$22,n$24,n$26,x,this); [line 32, column 7]\n APPLY_ABSTRACTION; [line 32, 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 32, column 7]\n n$17=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 32, column 7]\n n$19=*&this:destructor_scope::W* [line 32, column 7]\n _=*n$19.s:destructor_scope::S [line 32, column 7]\n n$25=_fun_destructor_scope::S::~S(n$19.s:destructor_scope::S*) injected [line 32, column 7]\n _=*n$19.y:destructor_scope::Y [line 32, column 7]\n n$23=_fun_destructor_scope::Y::~Y(n$19.y:destructor_scope::Y*) injected [line 32, column 7]\n _=*n$19.x:destructor_scope::X [line 32, column 7]\n n$21=_fun_destructor_scope::X::~X(n$19.x:destructor_scope::X*) injected [line 32, column 7]\n NULLIFY(&this); [line 32, column 7]\n EXIT_SCOPE(_,_,_,_,n$17,n$19,n$21,n$23,n$25,x,this); [line 32, column 7]\n APPLY_ABSTRACTION; [line 32, 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 n$32=_fun___variable_initialization(&x:destructor_scope::X) assign_last [line 30, column 5]\n n$31=_fun_destructor_scope::X::X(&x:destructor_scope::X*) [line 30, column 7]\n EXIT_SCOPE(n$31,n$32); [line 30, column 7]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:destructor_scope::X); [line 30, column 5]\n n$30=_fun_destructor_scope::X::X(&x:destructor_scope::X*) [line 30, column 7]\n EXIT_SCOPE(n$30); [line 30, 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" ; 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 e83cf8389..e469a55f9 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 n$1=_fun___variable_initialization(&#GB$global:X const ) assign_last [line 11, column 1]\n n$0=_fun_X::X(&#GB$global:X const *) [line 11, column 9]\n EXIT_SCOPE(n$0,n$1); [line 11, column 9]\n APPLY_ABSTRACTION; [line 11, column 9]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$global:X const ); [line 11, column 1]\n n$0=_fun_X::X(&#GB$global:X const *) [line 11, column 9]\n EXIT_SCOPE(n$0); [line 11, column 9]\n APPLY_ABSTRACTION; [line 11, column 9]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -18,7 +18,7 @@ digraph cfg { "__infer_globals_initializer_v#708fabe5dc8ff523caaa5f44184921e8.588095fa475e4a9e8c83f50f26a48ea9_2" [label="2: Exit __infer_globals_initializer_v \n " color=yellow style=filled] -"__infer_globals_initializer_v#708fabe5dc8ff523caaa5f44184921e8.588095fa475e4a9e8c83f50f26a48ea9_3" [label="3: DeclStmt \n n$0=_fun___variable_initialization(&#GB$v:int const ) assign_last [line 15, column 1]\n *&#GB$v:int=2 [line 15, column 1]\n EXIT_SCOPE(n$0); [line 15, column 1]\n APPLY_ABSTRACTION; [line 15, column 1]\n " shape="box"] +"__infer_globals_initializer_v#708fabe5dc8ff523caaa5f44184921e8.588095fa475e4a9e8c83f50f26a48ea9_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$v:int const ); [line 15, column 1]\n *&#GB$v:int=2 [line 15, column 1]\n APPLY_ABSTRACTION; [line 15, column 1]\n " shape="box"] "__infer_globals_initializer_v#708fabe5dc8ff523caaa5f44184921e8.588095fa475e4a9e8c83f50f26a48ea9_3" -> "__infer_globals_initializer_v#708fabe5dc8ff523caaa5f44184921e8.588095fa475e4a9e8c83f50f26a48ea9_2" ; @@ -44,7 +44,7 @@ digraph cfg { "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_2" ; -"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&local:int) assign_last [line 18, column 3]\n n$2=*&#GB$v:int [line 18, column 15]\n *&local:int=n$2 [line 18, column 3]\n NULLIFY(&local); [line 18, column 3]\n EXIT_SCOPE(n$2,n$3,local); [line 18, column 3]\n " shape="box"] +"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(local:int); [line 18, column 3]\n n$2=*&#GB$v:int [line 18, column 15]\n *&local:int=n$2 [line 18, column 3]\n NULLIFY(&local); [line 18, column 3]\n EXIT_SCOPE(n$2,local); [line 18, column 3]\n " shape="box"] "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot index 200cc45fa..34c80d4ec 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot @@ -28,7 +28,7 @@ digraph cfg { "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_7" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" ; -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_8" [label="8: DeclStmt \n n$2=_fun___variable_initialization(&#GB$global:int const ) assign_last [line 8, column 1]\n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 8, column 20]\n *&#GB$global:int=n$1 [line 8, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 8, column 1]\n EXIT_SCOPE(n$1,n$2,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 8, column 1]\n APPLY_ABSTRACTION; [line 8, column 1]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_8" [label="8: DeclStmt \n VARIABLE_DECLARED(#GB$global:int const ); [line 8, column 1]\n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 8, column 20]\n *&#GB$global:int=n$1 [line 8, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 8, column 1]\n EXIT_SCOPE(n$1,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 8, column 1]\n APPLY_ABSTRACTION; [line 8, column 1]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_8" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot index b0222abe2..e2f7f5961 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_x#346c89dda90b0be6289346ddbf0528bc.83245b9f254e67fb6f879cc1e35a1bb1_2" [label="2: Exit __infer_globals_initializer_x \n " color=yellow style=filled] -"__infer_globals_initializer_x#346c89dda90b0be6289346ddbf0528bc.83245b9f254e67fb6f879cc1e35a1bb1_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&#GB$x:int) assign_last [line 12, column 1]\n n$0=_fun_foo() [line 12, column 16]\n *&#GB$x:int=(n$0 + 5) [line 12, column 1]\n EXIT_SCOPE(n$0,n$1); [line 12, column 1]\n APPLY_ABSTRACTION; [line 12, column 1]\n " shape="box"] +"__infer_globals_initializer_x#346c89dda90b0be6289346ddbf0528bc.83245b9f254e67fb6f879cc1e35a1bb1_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$x:int); [line 12, column 1]\n n$0=_fun_foo() [line 12, column 16]\n *&#GB$x:int=(n$0 + 5) [line 12, column 1]\n EXIT_SCOPE(n$0); [line 12, column 1]\n APPLY_ABSTRACTION; [line 12, column 1]\n " shape="box"] "__infer_globals_initializer_x#346c89dda90b0be6289346ddbf0528bc.83245b9f254e67fb6f879cc1e35a1bb1_3" -> "__infer_globals_initializer_x#346c89dda90b0be6289346ddbf0528bc.83245b9f254e67fb6f879cc1e35a1bb1_2" ; @@ -18,7 +18,7 @@ digraph cfg { "__infer_globals_initializer_y#346c89dda90b0be6289346ddbf0528bc.e7d659d11156f551397be6d5db27f31c_2" [label="2: Exit __infer_globals_initializer_y \n " color=yellow style=filled] -"__infer_globals_initializer_y#346c89dda90b0be6289346ddbf0528bc.e7d659d11156f551397be6d5db27f31c_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&#GB$y:int) assign_last [line 13, column 1]\n n$0=*&#GB$x:int [line 13, column 16]\n n$1=*&#GB$z:int [line 13, column 20]\n *&#GB$y:int=((n$0 + n$1) + 1) [line 13, column 1]\n EXIT_SCOPE(n$0,n$1,n$2); [line 13, column 1]\n APPLY_ABSTRACTION; [line 13, column 1]\n " shape="box"] +"__infer_globals_initializer_y#346c89dda90b0be6289346ddbf0528bc.e7d659d11156f551397be6d5db27f31c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$y:int); [line 13, column 1]\n n$0=*&#GB$x:int [line 13, column 16]\n n$1=*&#GB$z:int [line 13, column 20]\n *&#GB$y:int=((n$0 + n$1) + 1) [line 13, column 1]\n EXIT_SCOPE(n$0,n$1); [line 13, column 1]\n APPLY_ABSTRACTION; [line 13, column 1]\n " shape="box"] "__infer_globals_initializer_y#346c89dda90b0be6289346ddbf0528bc.e7d659d11156f551397be6d5db27f31c_3" -> "__infer_globals_initializer_y#346c89dda90b0be6289346ddbf0528bc.e7d659d11156f551397be6d5db27f31c_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 e6ae29cf9..c916dfc10 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 n$4=_fun___variable_initialization(&b:B) assign_last [line 17, column 3]\n n$3=_fun_B::B(&b:B*) [line 17, column 8]\n EXIT_SCOPE(n$3,n$4); [line 17, column 8]\n " shape="box"] +"div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 17, column 3]\n n$3=_fun_B::B(&b:B*) [line 17, column 8]\n EXIT_SCOPE(n$3); [line 17, 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 n$4=_fun___variable_initialization(&b:B) assign_last [line 12, column 3]\n n$3=_fun_B::B(&b:B*) [line 12, column 10]\n EXIT_SCOPE(n$3,n$4); [line 12, column 10]\n " shape="box"] +"div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 12, column 3]\n n$3=_fun_B::B(&b:B*) [line 12, column 10]\n EXIT_SCOPE(n$3); [line 12, 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/inheriting_constructor.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot index f4fb958f3..544ad4073 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&b); [line 16, column 22]\n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&b:B) assign_last [line 16, column 14]\n n$1=_fun_B::A(&b:B*,5:int) [line 16, column 16]\n EXIT_SCOPE(n$1,n$2,b); [line 16, column 16]\n APPLY_ABSTRACTION; [line 16, column 16]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(b:B); [line 16, column 14]\n n$1=_fun_B::A(&b:B*,5:int) [line 16, column 16]\n EXIT_SCOPE(n$1,b); [line 16, column 16]\n APPLY_ABSTRACTION; [line 16, column 16]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; 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 fb1c21bb5..aa262baee 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 { "init_in_binop#init_list#8348250075128359911.7adaa67964536570064366a92056cf46_2" [label="2: Exit init_list::init_in_binop \n " color=yellow style=filled] -"init_in_binop#init_list#8348250075128359911.7adaa67964536570064366a92056cf46_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 51, column 34]\n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_init_list__n$2:int) assign_last [line 51, column 42]\n *&0$?%__sil_tmpSIL_init_list__n$2:int=0 [line 51, column 42]\n *&x:int=(-n$1 & ~&0$?%__sil_tmpSIL_init_list__n$2) [line 51, column 29]\n NULLIFY(&0$?%__sil_tmpSIL_init_list__n$2); [line 51, column 29]\n NULLIFY(&x); [line 51, column 29]\n EXIT_SCOPE(n$1,n$3,0$?%__sil_tmpSIL_init_list__n$2,x); [line 51, column 29]\n APPLY_ABSTRACTION; [line 51, column 29]\n " shape="box"] +"init_in_binop#init_list#8348250075128359911.7adaa67964536570064366a92056cf46_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 51, column 34]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_init_list__n$2:int); [line 51, column 42]\n *&0$?%__sil_tmpSIL_init_list__n$2:int=0 [line 51, column 42]\n *&x:int=(-n$1 & ~&0$?%__sil_tmpSIL_init_list__n$2) [line 51, column 29]\n NULLIFY(&0$?%__sil_tmpSIL_init_list__n$2); [line 51, column 29]\n NULLIFY(&x); [line 51, column 29]\n EXIT_SCOPE(n$1,0$?%__sil_tmpSIL_init_list__n$2,x); [line 51, column 29]\n APPLY_ABSTRACTION; [line 51, column 29]\n " shape="box"] "init_in_binop#init_list#8348250075128359911.7adaa67964536570064366a92056cf46_3" -> "init_in_binop#init_list#8348250075128359911.7adaa67964536570064366a92056cf46_2" ; @@ -15,22 +15,22 @@ digraph cfg { "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_1" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_6" ; -"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_2" [label="2: Exit init_list::list_init \n NULLIFY(&yref); [line 49, column 1]\n NULLIFY(&y); [line 49, column 1]\n NULLIFY(&ty); [line 49, column 1]\n " color=yellow style=filled] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_2" [label="2: Exit init_list::list_init \n NULLIFY(&y); [line 49, column 1]\n NULLIFY(&ty); [line 49, column 1]\n " color=yellow style=filled] -"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" [label="3: DeclStmt \n n$4=_fun___variable_initialization(&ty:init_list::Y[3*24]) assign_last [line 48, column 3]\n *&ty[0].z:int=1 [line 48, column 14]\n *&ty[0].x.a:int=2 [line 48, column 18]\n *&ty[0].x.p:int*=null [line 48, column 18]\n n$1=_fun_init_list::Y::Y(&ty[1]:init_list::Y*,&y:init_list::Y&) [line 48, column 33]\n n$2=*&yref:init_list::Y& [line 48, column 36]\n n$3=_fun_init_list::Y::Y(&ty[2]:init_list::Y*,n$2:init_list::Y&) [line 48, column 36]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,ty,y,yref); [line 48, column 36]\n APPLY_ABSTRACTION; [line 48, column 36]\n " shape="box"] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ty:init_list::Y[3*24]); [line 48, column 3]\n *&ty[0].z:int=1 [line 48, column 14]\n *&ty[0].x.a:int=2 [line 48, column 18]\n *&ty[0].x.p:int*=null [line 48, column 18]\n n$1=_fun_init_list::Y::Y(&ty[1]:init_list::Y*,&y:init_list::Y&) [line 48, column 33]\n n$2=*&yref:init_list::Y& [line 48, column 36]\n n$3=_fun_init_list::Y::Y(&ty[2]:init_list::Y*,n$2:init_list::Y&) [line 48, column 36]\n NULLIFY(&yref); [line 48, column 36]\n EXIT_SCOPE(n$1,n$2,n$3,ty,y,yref); [line 48, column 36]\n APPLY_ABSTRACTION; [line 48, column 36]\n " shape="box"] "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_2" ; -"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&yref:init_list::Y&) assign_last [line 47, column 3]\n *&yref:init_list::Y&=&y [line 47, column 3]\n EXIT_SCOPE(n$5); [line 47, column 3]\n " shape="box"] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_4" [label="4: DeclStmt \n VARIABLE_DECLARED(yref:init_list::Y&); [line 47, column 3]\n *&yref:init_list::Y&=&y [line 47, column 3]\n " shape="box"] "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 n$7=_fun___variable_initialization(&y:init_list::Y) assign_last [line 46, column 3]\n n$6=_fun_init_list::Y::Y(&y:init_list::Y*) [line 46, column 5]\n EXIT_SCOPE(n$6,n$7); [line 46, column 5]\n " shape="box"] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:init_list::Y); [line 46, column 3]\n n$4=_fun_init_list::Y::Y(&y:init_list::Y*) [line 46, column 5]\n EXIT_SCOPE(n$4); [line 46, column 5]\n " shape="box"] "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_5" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_4" ; -"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_6" [label="6: DeclStmt \n n$8=_fun___variable_initialization(&ti:int[4*4]) assign_last [line 45, column 3]\n *&ti[0]:int=1 [line 45, column 15]\n *&ti[1]:int=2 [line 45, column 15]\n NULLIFY(&ti); [line 45, column 15]\n EXIT_SCOPE(n$8,ti); [line 45, column 15]\n " shape="box"] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_6" [label="6: DeclStmt \n VARIABLE_DECLARED(ti:int[4*4]); [line 45, column 3]\n *&ti[0]:int=1 [line 45, column 15]\n *&ti[1]:int=2 [line 45, column 15]\n NULLIFY(&ti); [line 45, column 15]\n EXIT_SCOPE(ti); [line 45, column 15]\n " shape="box"] "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_6" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_5" ; @@ -45,19 +45,19 @@ digraph cfg { "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 n$6=_fun___variable_initialization(&c:init_list::C) assign_last [line 41, column 3]\n n$5=_fun_init_list::C::C(&c:init_list::C*,1:int,2:int,&x:init_list::X&) [line 41, column 5]\n EXIT_SCOPE(n$5,n$6); [line 41, column 5]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(c:init_list::C); [line 41, column 3]\n n$5=_fun_init_list::C::C(&c:init_list::C*,1:int,2:int,&x:init_list::X&) [line 41, column 5]\n EXIT_SCOPE(n$5); [line 41, column 5]\n " shape="box"] "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_4" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_3" ; -"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&y2:init_list::Y) assign_last [line 39, column 3]\n *&y2.z:int=1 [line 39, column 7]\n *&y2.x.a:int=2 [line 39, column 11]\n *&y2.x.p:int*=null [line 39, column 11]\n NULLIFY(&y2); [line 39, column 11]\n EXIT_SCOPE(n$7,y2); [line 39, column 11]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y2:init_list::Y); [line 39, column 3]\n *&y2.z:int=1 [line 39, column 7]\n *&y2.x.a:int=2 [line 39, column 11]\n *&y2.x.p:int*=null [line 39, column 11]\n NULLIFY(&y2); [line 39, column 11]\n EXIT_SCOPE(y2); [line 39, column 11]\n " shape="box"] "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 n$9=_fun___variable_initialization(&y1:init_list::Y) assign_last [line 38, column 3]\n *&y1.z:int=1 [line 38, column 7]\n n$8=_fun_init_list::X::X(&y1.x:init_list::X*,&x:init_list::X&) [line 38, column 11]\n EXIT_SCOPE(n$8,n$9,y1); [line 38, column 11]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y1:init_list::Y); [line 38, column 3]\n *&y1.z:int=1 [line 38, column 7]\n n$6=_fun_init_list::X::X(&y1.x:init_list::X*,&x:init_list::X&) [line 38, column 11]\n EXIT_SCOPE(n$6,y1); [line 38, column 11]\n " shape="box"] "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_6" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_5" ; -"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_7" [label="7: DeclStmt \n n$10=_fun___variable_initialization(&x:init_list::X) assign_last [line 37, column 3]\n *&x.a:int=1 [line 37, column 6]\n *&x.p:int*=null [line 37, column 6]\n EXIT_SCOPE(n$10); [line 37, column 6]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:init_list::X); [line 37, column 3]\n *&x.a:int=1 [line 37, column 6]\n *&x.p:int*=null [line 37, column 6]\n " shape="box"] "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_7" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_6" ; @@ -65,18 +65,18 @@ digraph cfg { "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_1" -> "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_5" ; -"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_2" [label="2: Exit init_list::zero_init_primitive \n NULLIFY(&p); [line 29, column 1]\n " color=yellow style=filled] +"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_2" [label="2: Exit init_list::zero_init_primitive \n " color=yellow style=filled] -"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&f:float) assign_last [line 28, column 3]\n *&f:float=0. [line 28, column 3]\n NULLIFY(&f); [line 28, column 3]\n EXIT_SCOPE(n$1,f); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(f:float); [line 28, column 3]\n *&f:float=0. [line 28, column 3]\n NULLIFY(&f); [line 28, column 3]\n EXIT_SCOPE(f); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_3" -> "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_2" ; -"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&p:int*) assign_last [line 27, column 3]\n *&p:int*=null [line 27, column 3]\n EXIT_SCOPE(n$2,p); [line 27, column 3]\n " shape="box"] +"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 27, column 3]\n *&p:int*=null [line 27, column 3]\n NULLIFY(&p); [line 27, column 3]\n EXIT_SCOPE(p); [line 27, column 3]\n " shape="box"] "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_4" -> "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_3" ; -"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&i:int) assign_last [line 26, column 3]\n *&i:int=0 [line 26, column 3]\n NULLIFY(&i); [line 26, column 3]\n EXIT_SCOPE(n$3,i); [line 26, column 3]\n " shape="box"] +"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 26, column 3]\n *&i:int=0 [line 26, column 3]\n NULLIFY(&i); [line 26, column 3]\n EXIT_SCOPE(i); [line 26, column 3]\n " shape="box"] "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_5" -> "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_4" ; @@ -91,11 +91,11 @@ digraph cfg { "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 n$4=_fun___variable_initialization(&c:init_list::C) assign_last [line 33, column 3]\n n$3=_fun_init_list::C::C(&c:init_list::C*) [line 33, column 5]\n EXIT_SCOPE(n$3,n$4); [line 33, column 5]\n " shape="box"] +"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(c:init_list::C); [line 33, column 3]\n n$3=_fun_init_list::C::C(&c:init_list::C*) [line 33, column 5]\n EXIT_SCOPE(n$3); [line 33, column 5]\n " shape="box"] "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" -> "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_3" ; -"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&y:init_list::Y) assign_last [line 32, column 3]\n *&y.z:int=0 [line 32, column 7]\n *&y.x.a:int=0 [line 32, column 7]\n *&y.x.p:int*=null [line 32, column 7]\n NULLIFY(&y); [line 32, column 7]\n EXIT_SCOPE(n$5,y); [line 32, column 7]\n " shape="box"] +"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:init_list::Y); [line 32, column 3]\n *&y.z:int=0 [line 32, column 7]\n *&y.x.a:int=0 [line 32, column 7]\n *&y.x.p:int*=null [line 32, column 7]\n NULLIFY(&y); [line 32, column 7]\n EXIT_SCOPE(y); [line 32, column 7]\n " shape="box"] "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_5" -> "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" ; 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 f1ed21116..4daa0e940 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 @@ -59,30 +59,30 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&fp); [line 22, column 1]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&f2:float) assign_last [line 21, column 3]\n *&f2:float=0. [line 21, column 3]\n NULLIFY(&f2); [line 21, column 3]\n EXIT_SCOPE(n$1,f2); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(f2:float); [line 21, column 3]\n *&f2:float=0. [line 21, column 3]\n NULLIFY(&f2); [line 21, column 3]\n EXIT_SCOPE(f2); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&x:int) assign_last [line 20, column 3]\n n$2=_fun_get() [line 20, column 12]\n *&x:int=n$2 [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(n$2,n$3,x); [line 20, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 3]\n n$1=_fun_get() [line 20, column 12]\n *&x:int=n$1 [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(n$1,x); [line 20, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: Call _fun_get \n n$4=_fun_get() [line 19, column 3]\n EXIT_SCOPE(n$4); [line 19, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: Call _fun_get \n n$2=_fun_get() [line 19, column 3]\n EXIT_SCOPE(n$2); [line 19, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n n$6=_fun___variable_initialization(&fp:float*) assign_last [line 18, column 3]\n n$5=_fun_get() [line 18, column 15]\n *&fp:float*=n$5 [line 18, column 3]\n EXIT_SCOPE(n$5,n$6,fp); [line 18, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(fp:float*); [line 18, column 3]\n n$3=_fun_get() [line 18, column 15]\n *&fp:float*=n$3 [line 18, column 3]\n NULLIFY(&fp); [line 18, column 3]\n EXIT_SCOPE(n$3,fp); [line 18, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: DeclStmt \n n$8=_fun___variable_initialization(&f:float) assign_last [line 17, column 3]\n n$7=_fun_get() [line 17, column 13]\n *&f:float=n$7 [line 17, column 3]\n NULLIFY(&f); [line 17, column 3]\n EXIT_SCOPE(n$7,n$8,f); [line 17, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: DeclStmt \n VARIABLE_DECLARED(f:float); [line 17, column 3]\n n$4=_fun_get() [line 17, column 13]\n *&f:float=n$4 [line 17, column 3]\n NULLIFY(&f); [line 17, column 3]\n EXIT_SCOPE(n$4,f); [line 17, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: DeclStmt \n n$10=_fun___variable_initialization(&i:int) assign_last [line 16, column 3]\n n$9=_fun_get() [line 16, column 11]\n *&i:int=n$9 [line 16, column 3]\n NULLIFY(&i); [line 16, column 3]\n EXIT_SCOPE(n$9,n$10,i); [line 16, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: DeclStmt \n VARIABLE_DECLARED(i:int); [line 16, column 3]\n n$5=_fun_get() [line 16, column 11]\n *&i:int=n$5 [line 16, column 3]\n NULLIFY(&i); [line 16, column 3]\n EXIT_SCOPE(n$5,i); [line 16, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot index 0a46dea9e..e3c7fc9d7 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot @@ -54,7 +54,7 @@ digraph cfg { "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" ; "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" [label="14: DeclStmt \n n$15=_fun___variable_initialization(&x:int) assign_last [line 9, column 3]\n *&x:int=0 [line 9, column 3]\n EXIT_SCOPE(n$15); [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=0 [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot index b22aee3a2..9f4296cf5 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot @@ -36,55 +36,55 @@ digraph cfg { "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_9" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" [label="1: Start test\nFormals: \nLocals: __end1:iterator 0$?%__sil_tmpSIL_materialize_temp__n$3:iterator __begin1:iterator 0$?%__sil_tmpSIL_materialize_temp__n$11:iterator 0$?%__sil_tmp__temp_return_n$21:iterator 0$?%__sil_tmp__temp_construct_n$23:iterator 0$?%__sil_tmp__temp_construct_n$25:iterator temp:int value:int __range1:vec& vector:vec \n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" [label="1: Start test\nFormals: \nLocals: __end1:iterator 0$?%__sil_tmpSIL_materialize_temp__n$3:iterator __begin1:iterator 0$?%__sil_tmpSIL_materialize_temp__n$9:iterator 0$?%__sil_tmp__temp_return_n$17:iterator 0$?%__sil_tmp__temp_construct_n$19:iterator 0$?%__sil_tmp__temp_construct_n$21:iterator temp:int value:int __range1:vec& vector:vec \n " color=yellow style=filled] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$11); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$21); [line 38, column 1]\n NULLIFY(&__end1); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$23); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$25); [line 38, column 1]\n NULLIFY(&__range1); [line 38, column 1]\n NULLIFY(&__begin1); [line 38, column 1]\n NULLIFY(&vector); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 38, column 1]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&0$?%__sil_tmp__temp_construct_n$21); [line 38, column 1]\n NULLIFY(&__end1); [line 38, column 1]\n NULLIFY(&__begin1); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$9); [line 38, column 1]\n NULLIFY(&vector); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$17); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$19); [line 38, column 1]\n " color=yellow style=filled] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: + \n " ] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n n$10=_fun___variable_initialization(&__end1:iterator) assign_last [line 35, column 18]\n n$8=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$3:iterator) assign_last [line 35, column 18]\n n$4=*&__range1:vec& [line 35, column 18]\n _=*n$4:vec [line 35, column 18]\n n$7=_fun_vec::end(n$4:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$3:iterator*) assign_last [line 35, column 18]\n n$9=_fun_iterator::iterator(&__end1:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$3:iterator&) [line 35, column 18]\n EXIT_SCOPE(_,n$4,n$7,n$8,n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$3,__range1); [line 35, column 18]\n APPLY_ABSTRACTION; [line 35, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(__end1:iterator); [line 35, column 18]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:iterator); [line 35, column 18]\n n$4=*&__range1:vec& [line 35, column 18]\n _=*n$4:vec [line 35, column 18]\n n$7=_fun_vec::end(n$4:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$3:iterator*) assign_last [line 35, column 18]\n n$8=_fun_iterator::iterator(&__end1:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$3:iterator&) [line 35, column 18]\n NULLIFY(&__range1); [line 35, column 18]\n EXIT_SCOPE(_,n$4,n$7,n$8,0$?%__sil_tmpSIL_materialize_temp__n$3,__range1); [line 35, column 18]\n APPLY_ABSTRACTION; [line 35, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$18=_fun___variable_initialization(&__begin1:iterator) assign_last [line 35, column 18]\n n$16=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$11:iterator) assign_last [line 35, column 18]\n n$12=*&__range1:vec& [line 35, column 18]\n _=*n$12:vec [line 35, column 18]\n n$15=_fun_vec::begin(n$12:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$11:iterator*) assign_last [line 35, column 18]\n n$17=_fun_iterator::iterator(&__begin1:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$11:iterator&) [line 35, column 18]\n EXIT_SCOPE(_,n$12,n$15,n$16,n$17,n$18,0$?%__sil_tmpSIL_materialize_temp__n$11); [line 35, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(__begin1:iterator); [line 35, column 18]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:iterator); [line 35, column 18]\n n$10=*&__range1:vec& [line 35, column 18]\n _=*n$10:vec [line 35, column 18]\n n$13=_fun_vec::begin(n$10:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$9:iterator*) assign_last [line 35, column 18]\n n$14=_fun_iterator::iterator(&__begin1:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$9:iterator&) [line 35, column 18]\n EXIT_SCOPE(_,n$10,n$13,n$14,0$?%__sil_tmpSIL_materialize_temp__n$9); [line 35, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: Call _fun_iterator::operator++ \n n$22=_fun_iterator::operator++(&__begin1:iterator&,&0$?%__sil_tmp__temp_return_n$21:iterator*) assign_last [line 35, column 18]\n EXIT_SCOPE(n$22,0$?%__sil_tmp__temp_return_n$21); [line 35, column 18]\n APPLY_ABSTRACTION; [line 35, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: Call _fun_iterator::operator++ \n n$18=_fun_iterator::operator++(&__begin1:iterator&,&0$?%__sil_tmp__temp_return_n$17:iterator*) assign_last [line 35, column 18]\n EXIT_SCOPE(n$18,0$?%__sil_tmp__temp_return_n$17); [line 35, column 18]\n APPLY_ABSTRACTION; [line 35, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: Call _fun_operator!= \n n$24=_fun_iterator::iterator(&0$?%__sil_tmp__temp_construct_n$23:iterator*,&__begin1:iterator&) [line 35, column 18]\n n$26=_fun_iterator::iterator(&0$?%__sil_tmp__temp_construct_n$25:iterator*,&__end1:iterator&) [line 35, column 18]\n n$27=_fun_operator!=(&0$?%__sil_tmp__temp_construct_n$23:iterator,&0$?%__sil_tmp__temp_construct_n$25:iterator) [line 35, column 18]\n EXIT_SCOPE(n$24,n$26); [line 35, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: Call _fun_operator!= \n n$20=_fun_iterator::iterator(&0$?%__sil_tmp__temp_construct_n$19:iterator*,&__begin1:iterator&) [line 35, column 18]\n n$22=_fun_iterator::iterator(&0$?%__sil_tmp__temp_construct_n$21:iterator*,&__end1:iterator&) [line 35, column 18]\n n$23=_fun_operator!=(&0$?%__sil_tmp__temp_construct_n$19:iterator,&0$?%__sil_tmp__temp_construct_n$21:iterator) [line 35, column 18]\n EXIT_SCOPE(n$20,n$22); [line 35, 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$27, true); [line 35, column 18]\n EXIT_SCOPE(n$27); [line 35, column 18]\n " shape="invhouse"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: Prune (true branch, for loop) \n PRUNE(n$23, true); [line 35, column 18]\n EXIT_SCOPE(n$23); [line 35, 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$27, false); [line 35, column 18]\n EXIT_SCOPE(n$27,__begin1,__end1); [line 35, column 18]\n APPLY_ABSTRACTION; [line 35, column 18]\n " shape="invhouse"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" [label="9: Prune (false branch, for loop) \n PRUNE(!n$23, false); [line 35, column 18]\n EXIT_SCOPE(n$23,__begin1,__end1); [line 35, column 18]\n APPLY_ABSTRACTION; [line 35, column 18]\n " shape="invhouse"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" [label="10: DeclStmt \n n$32=_fun___variable_initialization(&temp:int) assign_last [line 36, column 5]\n n$30=*&value:int [line 36, column 16]\n n$31=*&value:int [line 36, column 24]\n *&temp:int=((n$30 * n$31) + 10) [line 36, column 5]\n NULLIFY(&value); [line 36, column 5]\n NULLIFY(&temp); [line 36, column 5]\n EXIT_SCOPE(n$30,n$31,n$32,value,temp); [line 36, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" [label="10: DeclStmt \n VARIABLE_DECLARED(temp:int); [line 36, column 5]\n n$26=*&value:int [line 36, column 16]\n n$27=*&value:int [line 36, column 24]\n *&temp:int=((n$26 * n$27) + 10) [line 36, column 5]\n NULLIFY(&value); [line 36, column 5]\n NULLIFY(&temp); [line 36, column 5]\n EXIT_SCOPE(n$26,n$27,value,temp); [line 36, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" [label="11: DeclStmt \n n$35=_fun___variable_initialization(&value:int) assign_last [line 35, column 8]\n n$34=_fun_iterator::operator*(&__begin1:iterator&) [line 35, column 18]\n *&value:int=n$34 [line 35, column 8]\n EXIT_SCOPE(n$34,n$35); [line 35, column 8]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" [label="11: DeclStmt \n VARIABLE_DECLARED(value:int); [line 35, column 8]\n n$29=_fun_iterator::operator*(&__begin1:iterator&) [line 35, column 18]\n *&value:int=n$29 [line 35, column 8]\n EXIT_SCOPE(n$29); [line 35, column 8]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" [label="12: DeclStmt \n n$37=_fun___variable_initialization(&__range1:vec&) assign_last [line 35, column 20]\n *&__range1:vec&=&vector [line 35, column 20]\n EXIT_SCOPE(n$37,vector); [line 35, column 20]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" [label="12: DeclStmt \n VARIABLE_DECLARED(__range1:vec&); [line 35, column 20]\n *&__range1:vec&=&vector [line 35, column 20]\n EXIT_SCOPE(vector); [line 35, column 20]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" [label="13: DeclStmt \n n$39=_fun___variable_initialization(&vector:vec) assign_last [line 34, column 3]\n n$38=_fun_vec::vec(&vector:vec*,10:int) [line 34, column 7]\n EXIT_SCOPE(n$38,n$39); [line 34, column 7]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" [label="13: DeclStmt \n VARIABLE_DECLARED(vector:vec); [line 34, column 3]\n n$31=_fun_vec::vec(&vector:vec*,10:int) [line 34, column 7]\n EXIT_SCOPE(n$31); [line 34, column 7]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_with_increment.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_with_increment.cpp.dot index bd1bf03ef..d051b96cc 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_with_increment.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_with_increment.cpp.dot @@ -7,23 +7,23 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&e:int) assign_last [line 13, column 3]\n n$1=*&a:int [line 13, column 11]\n *&a:int=(n$1 - 1) [line 13, column 11]\n *&e:int=n$1 [line 13, column 3]\n NULLIFY(&a); [line 13, column 3]\n NULLIFY(&e); [line 13, column 3]\n EXIT_SCOPE(n$1,n$2,a,e); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(e:int); [line 13, column 3]\n n$1=*&a:int [line 13, column 11]\n *&a:int=(n$1 - 1) [line 13, column 11]\n *&e:int=n$1 [line 13, column 3]\n NULLIFY(&a); [line 13, column 3]\n NULLIFY(&e); [line 13, column 3]\n EXIT_SCOPE(n$1,a,e); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&d:int) assign_last [line 12, column 3]\n n$3=*&a:int [line 12, column 11]\n *&a:int=(n$3 - 1) [line 12, column 11]\n n$4=*&a:int [line 12, column 11]\n *&d:int=n$4 [line 12, column 3]\n NULLIFY(&d); [line 12, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,d); [line 12, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 12, column 3]\n n$2=*&a:int [line 12, column 11]\n *&a:int=(n$2 - 1) [line 12, column 11]\n n$3=*&a:int [line 12, column 11]\n *&d:int=n$3 [line 12, column 3]\n NULLIFY(&d); [line 12, column 3]\n EXIT_SCOPE(n$2,n$3,d); [line 12, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&c:int) assign_last [line 11, column 3]\n n$6=*&a:int [line 11, column 11]\n *&a:int=(n$6 + 1) [line 11, column 11]\n *&c:int=n$6 [line 11, column 3]\n NULLIFY(&c); [line 11, column 3]\n EXIT_SCOPE(n$6,n$7,c); [line 11, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 11, column 3]\n n$4=*&a:int [line 11, column 11]\n *&a:int=(n$4 + 1) [line 11, column 11]\n *&c:int=n$4 [line 11, column 3]\n NULLIFY(&c); [line 11, column 3]\n EXIT_SCOPE(n$4,c); [line 11, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n n$10=_fun___variable_initialization(&b:int) assign_last [line 10, column 3]\n n$8=*&a:int [line 10, column 11]\n *&a:int=(n$8 + 1) [line 10, column 11]\n n$9=*&a:int [line 10, column 11]\n *&b:int=n$9 [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(n$8,n$9,n$10,b); [line 10, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n n$5=*&a:int [line 10, column 11]\n *&a:int=(n$5 + 1) [line 10, column 11]\n n$6=*&a:int [line 10, column 11]\n *&b:int=n$6 [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(n$5,n$6,b); [line 10, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: DeclStmt \n n$11=_fun___variable_initialization(&a:int) assign_last [line 9, column 3]\n *&a:int=3 [line 9, column 3]\n EXIT_SCOPE(n$11); [line 9, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=3 [line 9, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/union.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/union.cpp.dot index 2c9b9ef46..5d5cc42ca 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 n$1=_fun___variable_initialization(&#GB$y:anonymous_union_nestedoperators_union.cpp:13:1) assign_last [line 13, column 1]\n n$0=_fun_anonymous_union_nestedoperators_union.cpp:13:1::(&#GB$y:anonymous_union_nestedoperators_union.cpp:13:1*) [line 23, column 3]\n EXIT_SCOPE(n$0,n$1); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$y:anonymous_union_nestedoperators_union.cpp:13:1); [line 13, column 1]\n n$0=_fun_anonymous_union_nestedoperators_union.cpp:13:1::(&#GB$y:anonymous_union_nestedoperators_union.cpp:13:1*) [line 23, column 3]\n EXIT_SCOPE(n$0); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" -> "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_2" ; diff --git a/infer/tests/codetoanalyze/cpp/pulse/issues.exp b/infer/tests/codetoanalyze/cpp/pulse/issues.exp index c2376bec9..f2124f66e 100644 --- a/infer/tests/codetoanalyze/cpp/pulse/issues.exp +++ b/infer/tests/codetoanalyze/cpp/pulse/issues.exp @@ -1,7 +1,7 @@ codetoanalyze/cpp/pulse/basics.cpp, multiple_invalidations_branch_bad, 6, USE_AFTER_DELETE, no_bucket, ERROR, [invalidated by call to `delete ptr` at line 58 here,accessed `*(ptr)` here] codetoanalyze/cpp/pulse/basics.cpp, multiple_invalidations_loop_bad, 3, USE_AFTER_DELETE, no_bucket, ERROR, [invalidated by call to `delete ptr` at line 68 here,accessed `ptr` here] codetoanalyze/cpp/pulse/closures.cpp, delete_lambda_then_call_bad, 3, USE_AFTER_DESTRUCTOR, no_bucket, ERROR, [returned from call to `std::function<_fn_>::function(&(lambda),&(0$?%__sil_tmpSIL_materialize_temp__n$8))`,invalidated by destructor call `std::function<_fn_>::~function(lambda)` at line 102 here,accessed `lambda` here] -codetoanalyze/cpp/pulse/closures.cpp, implicit_ref_capture_destroy_invoke_bad, 6, USE_AFTER_DESTRUCTOR, no_bucket, ERROR, [returned from call to `S::S(&(s),&(0$?%__sil_tmpSIL_materialize_temp__n$12))`,`&(s)` captured as `s`,invalidated by destructor call `S::~S(s)` at line 30 here,accessed `&(f)` here] +codetoanalyze/cpp/pulse/closures.cpp, implicit_ref_capture_destroy_invoke_bad, 6, USE_AFTER_DESTRUCTOR, no_bucket, ERROR, [returned from call to `S::S(&(s),&(0$?%__sil_tmpSIL_materialize_temp__n$11))`,`&(s)` captured as `s`,invalidated by destructor call `S::~S(s)` at line 30 here,accessed `&(f)` here] codetoanalyze/cpp/pulse/closures.cpp, ref_capture_destroy_invoke_bad, 6, USE_AFTER_DESTRUCTOR, no_bucket, ERROR, [returned from call to `S::S(&(s))`,`&(s)` captured as `s`,invalidated by destructor call `S::~S(s)` at line 21 here,accessed `&(f)` here] codetoanalyze/cpp/pulse/interprocedural.cpp, FP_delete_then_skip_ok, 2, USE_AFTER_DELETE, no_bucket, ERROR, [invalidated by call to `delete x` at line 27 here,accessed `x` here] codetoanalyze/cpp/pulse/interprocedural.cpp, FP_delete_then_skip_ptr_ok, 2, USE_AFTER_DELETE, no_bucket, ERROR, [invalidated by call to `delete x` at line 32 here,accessed `x` here] diff --git a/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot index b860db97e..ada322d79 100644 --- a/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot @@ -29,7 +29,7 @@ digraph cfg { "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_2" ; -"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 46, column 3]\n *&a:int=0 [line 46, column 3]\n NULLIFY(&a); [line 46, column 3]\n EXIT_SCOPE(n$2,a); [line 46, column 3]\n " shape="box"] +"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 46, column 3]\n *&a:int=0 [line 46, column 3]\n NULLIFY(&a); [line 46, column 3]\n EXIT_SCOPE(a); [line 46, column 3]\n " shape="box"] "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" ; @@ -44,7 +44,7 @@ digraph cfg { "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" -> "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_2" ; -"derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 51, column 3]\n *&a:int=0 [line 51, column 3]\n EXIT_SCOPE(n$2); [line 51, column 3]\n " shape="box"] +"derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 51, column 3]\n *&a:int=0 [line 51, column 3]\n " shape="box"] "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_4" -> "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" ; @@ -70,7 +70,7 @@ digraph cfg { "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_2" ; -"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 61, column 3]\n *&a:int=0 [line 61, column 3]\n EXIT_SCOPE(n$2); [line 61, column 3]\n " shape="box"] +"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 61, column 3]\n *&a:int=0 [line 61, column 3]\n " shape="box"] "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_4" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" ; @@ -85,7 +85,7 @@ digraph cfg { "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_2" ; -"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 56, column 3]\n *&a:int=0 [line 56, column 3]\n EXIT_SCOPE(n$2); [line 56, column 3]\n " shape="box"] +"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 56, column 3]\n *&a:int=0 [line 56, column 3]\n " shape="box"] "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_4" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" ; @@ -100,7 +100,7 @@ digraph cfg { "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_2" ; -"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 36, column 3]\n *&a:int=0 [line 36, column 3]\n NULLIFY(&a); [line 36, column 3]\n EXIT_SCOPE(n$2,a); [line 36, column 3]\n " shape="box"] +"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 36, column 3]\n *&a:int=0 [line 36, column 3]\n NULLIFY(&a); [line 36, column 3]\n EXIT_SCOPE(a); [line 36, column 3]\n " shape="box"] "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" ; @@ -115,7 +115,7 @@ digraph cfg { "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" -> "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_2" ; -"derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 41, column 3]\n *&a:int=0 [line 41, column 3]\n EXIT_SCOPE(n$2); [line 41, column 3]\n " shape="box"] +"derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 41, column 3]\n *&a:int=0 [line 41, column 3]\n " shape="box"] "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_4" -> "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" ; @@ -134,7 +134,7 @@ digraph cfg { "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" ; -"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&t:int*) assign_last [line 88, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 88, column 23]\n EXIT_SCOPE(n$6,n$7); [line 88, column 23]\n " shape="box"] +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 88, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 88, column 23]\n EXIT_SCOPE(n$6); [line 88, column 23]\n " shape="box"] "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" ; @@ -153,7 +153,7 @@ digraph cfg { "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" ; -"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&t:int*) assign_last [line 94, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 94, column 23]\n EXIT_SCOPE(n$6,n$7); [line 94, column 23]\n " shape="box"] +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 94, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 94, column 23]\n EXIT_SCOPE(n$6); [line 94, column 23]\n " shape="box"] "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" ; @@ -172,11 +172,11 @@ digraph cfg { "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" ; -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&t:int*) assign_last [line 101, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 101, column 23]\n EXIT_SCOPE(n$6,n$7); [line 101, column 23]\n " shape="box"] +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 101, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 101, column 23]\n EXIT_SCOPE(n$6); [line 101, column 23]\n " shape="box"] "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" ; -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_6" [label="6: DeclStmt \n n$8=_fun___variable_initialization(&a:int) assign_last [line 100, column 3]\n *&a:int=0 [line 100, column 3]\n EXIT_SCOPE(n$8); [line 100, column 3]\n " shape="box"] +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 100, column 3]\n *&a:int=0 [line 100, column 3]\n " shape="box"] "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_6" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" ; @@ -195,7 +195,7 @@ digraph cfg { "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" ; -"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&t:int*) assign_last [line 126, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 126, column 23]\n EXIT_SCOPE(n$6,n$7); [line 126, column 23]\n " shape="box"] +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 126, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 126, column 23]\n EXIT_SCOPE(n$6); [line 126, column 23]\n " shape="box"] "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" ; @@ -214,7 +214,7 @@ digraph cfg { "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" ; -"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&t:int*) assign_last [line 132, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 132, column 23]\n EXIT_SCOPE(n$6,n$7); [line 132, column 23]\n " shape="box"] +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 132, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 132, column 23]\n EXIT_SCOPE(n$6); [line 132, column 23]\n " shape="box"] "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" ; @@ -233,11 +233,11 @@ digraph cfg { "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" ; -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&t:int*) assign_last [line 139, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 139, column 23]\n EXIT_SCOPE(n$6,n$7); [line 139, column 23]\n " shape="box"] +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 139, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 139, column 23]\n EXIT_SCOPE(n$6); [line 139, column 23]\n " shape="box"] "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" ; -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_6" [label="6: DeclStmt \n n$8=_fun___variable_initialization(&a:int) assign_last [line 138, column 3]\n *&a:int=0 [line 138, column 3]\n EXIT_SCOPE(n$8); [line 138, column 3]\n " shape="box"] +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 138, column 3]\n *&a:int=0 [line 138, column 3]\n " shape="box"] "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_6" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" ; @@ -256,7 +256,7 @@ digraph cfg { "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 n$7=_fun___variable_initialization(&t:int*) assign_last [line 107, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 107, column 23]\n EXIT_SCOPE(n$6,n$7); [line 107, column 23]\n " shape="box"] +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 107, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 107, column 23]\n EXIT_SCOPE(n$6); [line 107, column 23]\n " shape="box"] "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" ; @@ -275,7 +275,7 @@ digraph cfg { "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 n$7=_fun___variable_initialization(&t:int*) assign_last [line 113, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 113, column 23]\n EXIT_SCOPE(n$6,n$7); [line 113, column 23]\n " shape="box"] +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 113, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 113, column 23]\n EXIT_SCOPE(n$6); [line 113, column 23]\n " shape="box"] "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" ; @@ -294,7 +294,7 @@ digraph cfg { "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 n$7=_fun___variable_initialization(&t:int*) assign_last [line 120, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 120, column 23]\n EXIT_SCOPE(n$6,n$7); [line 120, column 23]\n " shape="box"] +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 120, column 3]\n n$6=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 120, column 23]\n EXIT_SCOPE(n$6); [line 120, column 23]\n " shape="box"] "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" ; 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 ae60afa7a..9907028aa 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot @@ -1,6 +1,6 @@ /* @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$6:binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$10:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X a:binary_conditional::X \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$6:binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$9:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X a:binary_conditional::X \n " color=yellow style=filled] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_1" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" ; @@ -15,44 +15,44 @@ 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$6:binary_conditional::X [line 22, column 9]\n n$12=_fun_binary_conditional::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X&) [line 22, column 9]\n EXIT_SCOPE(_); [line 22, 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$6:binary_conditional::X [line 22, column 9]\n n$11=_fun_binary_conditional::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X&) [line 22, column 9]\n EXIT_SCOPE(_); [line 22, 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$12, true); [line 22, column 9]\n EXIT_SCOPE(n$12); [line 22, column 9]\n " shape="invhouse"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$11, true); [line 22, column 9]\n EXIT_SCOPE(n$11); [line 22, 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$12, false); [line 22, column 9]\n EXIT_SCOPE(n$12,0$?%__sil_tmpSIL_materialize_temp__n$6); [line 22, column 9]\n " shape="invhouse"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$11, false); [line 22, column 9]\n EXIT_SCOPE(n$11,0$?%__sil_tmpSIL_materialize_temp__n$6); [line 22, 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: ConditionalStmt Branch \n n$13=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X&) [line 22, column 9]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 22, column 9]\n EXIT_SCOPE(n$13,0$?%__sil_tmpSIL_materialize_temp__n$6); [line 22, column 9]\n APPLY_ABSTRACTION; [line 22, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" [label="8: ConditionalStmt Branch \n n$12=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X&) [line 22, column 9]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 22, column 9]\n EXIT_SCOPE(n$12,0$?%__sil_tmpSIL_materialize_temp__n$6); [line 22, column 9]\n APPLY_ABSTRACTION; [line 22, 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: ConditionalStmt Branch \n n$14=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&a:binary_conditional::X&) [line 22, column 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 22, column 9]\n EXIT_SCOPE(n$14); [line 22, column 9]\n APPLY_ABSTRACTION; [line 22, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" [label="9: ConditionalStmt Branch \n n$13=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&a:binary_conditional::X&) [line 22, column 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 22, column 9]\n EXIT_SCOPE(n$13); [line 22, column 9]\n APPLY_ABSTRACTION; [line 22, 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: BinaryConditionalStmt Init \n n$9=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X) assign_last [line 22, column 9]\n n$8=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X*) assign_last [line 22, column 9]\n EXIT_SCOPE(n$8,n$9); [line 22, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" [label="10: BinaryConditionalStmt Init \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X); [line 22, column 9]\n n$8=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X*) assign_last [line 22, column 9]\n EXIT_SCOPE(n$8); [line 22, 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$18=_fun___variable_initialization(&x:binary_conditional::X) assign_last [line 22, column 3]\n n$16=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X) assign_last [line 22, column 9]\n n$15=*&0$?%__sil_tmpSIL_temp_conditional___n$10:binary_conditional::X [line 22, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X=n$15 [line 22, column 9]\n n$17=_fun_binary_conditional::X::X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X&) [line 22, column 9]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$10); [line 22, column 9]\n EXIT_SCOPE(n$15,n$16,n$17,n$18,0$?%__sil_tmpSIL_materialize_temp__n$5,0$?%__sil_tmpSIL_temp_conditional___n$10); [line 22, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 22, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X); [line 22, column 9]\n n$14=*&0$?%__sil_tmpSIL_temp_conditional___n$9:binary_conditional::X [line 22, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X=n$14 [line 22, column 9]\n n$15=_fun_binary_conditional::X::X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X&) [line 22, column 9]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$9); [line 22, column 9]\n EXIT_SCOPE(n$14,n$15,0$?%__sil_tmpSIL_materialize_temp__n$5,0$?%__sil_tmpSIL_temp_conditional___n$9); [line 22, 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 n$20=_fun___variable_initialization(&a:binary_conditional::X) assign_last [line 21, column 3]\n n$19=_fun_binary_conditional::X::X(&a:binary_conditional::X*) [line 21, column 5]\n EXIT_SCOPE(n$19,n$20); [line 21, column 5]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" [label="12: DeclStmt \n VARIABLE_DECLARED(a:binary_conditional::X); [line 21, column 3]\n n$16=_fun_binary_conditional::X::X(&a:binary_conditional::X*) [line 21, column 5]\n EXIT_SCOPE(n$16); [line 21, 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$6:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$13:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X a:binary_conditional::X \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$6:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$12:binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X a:binary_conditional::X \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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 28, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$13); [line 28, column 1]\n NULLIFY(&a); [line 28, column 1]\n NULLIFY(&x); [line 28, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 28, column 1]\n " color=yellow style=filled] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_2" [label="2: Exit binary_conditional::conditional \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 28, column 1]\n NULLIFY(&a); [line 28, column 1]\n NULLIFY(&x); [line 28, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$12); [line 28, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 28, column 1]\n " color=yellow style=filled] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_3" [label="3: Destruction \n _=*&x:binary_conditional::X [line 28, column 1]\n n$1=_fun_binary_conditional::X::~X(&x:binary_conditional::X*) injected [line 28, column 1]\n _=*&a:binary_conditional::X [line 28, column 1]\n n$3=_fun_binary_conditional::X::~X(&a:binary_conditional::X*) injected [line 28, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,x,a); [line 28, column 1]\n APPLY_ABSTRACTION; [line 28, column 1]\n " shape="box"] @@ -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 n$10=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X) assign_last [line 27, column 9]\n n$9=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X*) assign_last [line 27, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X [line 27, column 9]\n n$12=_fun_binary_conditional::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X&) [line 27, column 9]\n EXIT_SCOPE(_,n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 27, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" [label="5: Call _fun_binary_conditional::X::operator_bool \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X); [line 27, column 9]\n n$9=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X*) assign_last [line 27, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X [line 27, column 9]\n n$11=_fun_binary_conditional::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$7:binary_conditional::X&) [line 27, column 9]\n EXIT_SCOPE(_,n$9,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 27, 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$12, true); [line 27, column 9]\n EXIT_SCOPE(n$12); [line 27, column 9]\n " shape="invhouse"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$11, true); [line 27, column 9]\n EXIT_SCOPE(n$11); [line 27, 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$12, false); [line 27, column 9]\n EXIT_SCOPE(n$12); [line 27, column 9]\n " shape="invhouse"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$11, false); [line 27, column 9]\n EXIT_SCOPE(n$11); [line 27, 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: ConditionalStmt Branch \n n$16=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$13:binary_conditional::X) assign_last [line 27, column 18]\n n$15=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$13:binary_conditional::X*) assign_last [line 27, column 18]\n n$17=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$13:binary_conditional::X&) [line 27, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$6:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 27, column 9]\n EXIT_SCOPE(n$15,n$16,n$17,0$?%__sil_tmpSIL_materialize_temp__n$13); [line 27, column 9]\n APPLY_ABSTRACTION; [line 27, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_8" [label="8: ConditionalStmt Branch \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$12:binary_conditional::X); [line 27, column 18]\n n$14=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$12:binary_conditional::X*) assign_last [line 27, column 18]\n n$15=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$12:binary_conditional::X&) [line 27, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$6:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 27, column 9]\n EXIT_SCOPE(n$14,n$15,0$?%__sil_tmpSIL_materialize_temp__n$12); [line 27, column 9]\n APPLY_ABSTRACTION; [line 27, 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: ConditionalStmt Branch \n n$18=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&a:binary_conditional::X&) [line 27, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$6:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 27, column 9]\n EXIT_SCOPE(n$18); [line 27, column 9]\n APPLY_ABSTRACTION; [line 27, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_9" [label="9: ConditionalStmt Branch \n n$16=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&a:binary_conditional::X&) [line 27, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$6:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 27, column 9]\n EXIT_SCOPE(n$16); [line 27, column 9]\n APPLY_ABSTRACTION; [line 27, 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$22=_fun___variable_initialization(&x:binary_conditional::X) assign_last [line 27, column 3]\n n$20=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X) assign_last [line 27, column 9]\n n$19=*&0$?%__sil_tmpSIL_temp_conditional___n$6:binary_conditional::X [line 27, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X=n$19 [line 27, column 9]\n n$21=_fun_binary_conditional::X::X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X&) [line 27, column 9]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 27, column 9]\n EXIT_SCOPE(n$19,n$20,n$21,n$22,0$?%__sil_tmpSIL_temp_conditional___n$6,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 27, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 27, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X); [line 27, column 9]\n n$17=*&0$?%__sil_tmpSIL_temp_conditional___n$6:binary_conditional::X [line 27, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X=n$17 [line 27, column 9]\n n$18=_fun_binary_conditional::X::X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X&) [line 27, column 9]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 27, column 9]\n EXIT_SCOPE(n$17,n$18,0$?%__sil_tmpSIL_temp_conditional___n$6,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 27, 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 n$24=_fun___variable_initialization(&a:binary_conditional::X) assign_last [line 26, column 3]\n n$23=_fun_binary_conditional::X::X(&a:binary_conditional::X*) [line 26, column 5]\n EXIT_SCOPE(n$23,n$24); [line 26, column 5]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_11" [label="11: DeclStmt \n VARIABLE_DECLARED(a:binary_conditional::X); [line 26, column 3]\n n$19=_fun_binary_conditional::X::X(&a:binary_conditional::X*) [line 26, column 5]\n EXIT_SCOPE(n$19); [line 26, column 5]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_11" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" ; @@ -103,7 +103,7 @@ digraph cfg { "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_2" ; -"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&x:binary_conditional::X) assign_last [line 15, column 3]\n n$5=_fun_binary_conditional::X::X(&x:binary_conditional::X*) [line 15, column 5]\n EXIT_SCOPE(n$5,n$6); [line 15, column 5]\n " shape="box"] +"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 15, column 3]\n n$5=_fun_binary_conditional::X::X(&x:binary_conditional::X*) [line 15, column 5]\n EXIT_SCOPE(n$5); [line 15, column 5]\n " shape="box"] "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot index 53c717462..4ccac049b 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot @@ -35,12 +35,12 @@ digraph cfg { "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_10" [label="10: DeclStmt \n n$5=_fun___variable_initialization(&v2:int) assign_last [line 21, column 3]\n *&v2:int=0 [line 21, column 3]\n EXIT_SCOPE(n$5); [line 21, column 3]\n " shape="box"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_10" [label="10: DeclStmt \n VARIABLE_DECLARED(v2:int); [line 21, column 3]\n *&v2:int=0 [line 21, column 3]\n " shape="box"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_10" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" ; "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_10" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_11" [label="11: DeclStmt \n n$6=_fun___variable_initialization(&v1:int) assign_last [line 21, column 3]\n *&v1:int=0 [line 21, column 3]\n EXIT_SCOPE(n$6); [line 21, column 3]\n " shape="box"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_11" [label="11: DeclStmt \n VARIABLE_DECLARED(v1:int); [line 21, column 3]\n *&v1:int=0 [line 21, column 3]\n " shape="box"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_11" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_10" ; @@ -75,16 +75,16 @@ digraph cfg { "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" [label="9: DeclStmt \n n$6=_fun___variable_initialization(&v3:int) assign_last [line 10, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int& [line 10, column 12]\n n$5=*n$4:int [line 10, column 12]\n *&v3:int=n$5 [line 10, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 10, column 3]\n EXIT_SCOPE(n$4,n$5,n$6,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 10, column 3]\n " shape="box"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 10, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int& [line 10, column 12]\n n$5=*n$4:int [line 10, column 12]\n *&v3:int=n$5 [line 10, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 10, column 3]\n EXIT_SCOPE(n$4,n$5,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 10, column 3]\n " shape="box"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" [label="10: DeclStmt \n n$7=_fun___variable_initialization(&v2:int) assign_last [line 9, column 3]\n *&v2:int=1 [line 9, column 3]\n EXIT_SCOPE(n$7); [line 9, column 3]\n " shape="box"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" [label="10: DeclStmt \n VARIABLE_DECLARED(v2:int); [line 9, column 3]\n *&v2:int=1 [line 9, column 3]\n " shape="box"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" ; "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_11" [label="11: DeclStmt \n n$8=_fun___variable_initialization(&v1:int) assign_last [line 9, column 3]\n *&v1:int=0 [line 9, column 3]\n EXIT_SCOPE(n$8); [line 9, column 3]\n " shape="box"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_11" [label="11: DeclStmt \n VARIABLE_DECLARED(v1:int); [line 9, column 3]\n *&v1:int=0 [line 9, column 3]\n " shape="box"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_11" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" ; @@ -119,11 +119,11 @@ digraph cfg { "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" [label="9: DeclStmt \n n$6=_fun___variable_initialization(&v3:int) assign_last [line 16, column 3]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 16, column 12]\n *&v3:int=n$5 [line 16, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 16, column 3]\n EXIT_SCOPE(n$5,n$6,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 16, column 3]\n " shape="box"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 16, column 3]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 16, column 12]\n *&v3:int=n$5 [line 16, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 16, column 3]\n EXIT_SCOPE(n$5,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 16, column 3]\n " shape="box"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_10" [label="10: DeclStmt \n n$7=_fun___variable_initialization(&v1:int) assign_last [line 15, column 3]\n *&v1:int=0 [line 15, column 3]\n EXIT_SCOPE(n$7); [line 15, column 3]\n " shape="box"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_10" [label="10: DeclStmt \n VARIABLE_DECLARED(v1:int); [line 15, column 3]\n *&v1:int=0 [line 15, column 3]\n " shape="box"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_10" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" ; @@ -221,10 +221,10 @@ digraph cfg { "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_1" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" ; "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_1" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_2" [label="2: Exit div_temp_lvalue \n NULLIFY(&r); [line 29, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 29, column 1]\n " color=yellow style=filled] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_2" [label="2: Exit div_temp_lvalue \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 29, column 1]\n " color=yellow style=filled] -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_3" [label="3: Return Stmt \n n$0=*&r:int const & [line 28, column 14]\n n$1=*n$0:int [line 28, column 14]\n *&return:int=(1 / n$1) [line 28, column 3]\n EXIT_SCOPE(n$0,n$1,r); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_3" [label="3: Return Stmt \n n$0=*&r:int const & [line 28, column 14]\n n$1=*n$0:int [line 28, column 14]\n *&return:int=(1 / n$1) [line 28, column 3]\n NULLIFY(&r); [line 28, column 3]\n EXIT_SCOPE(n$0,n$1,r); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_3" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_2" ; @@ -248,7 +248,7 @@ digraph cfg { "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" [label="9: DeclStmt \n n$9=_fun___variable_initialization(&r:int const &) assign_last [line 27, column 3]\n n$8=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$3:int const ) assign_last [line 27, column 18]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 27, column 18]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:int=n$7 [line 27, column 18]\n *&r:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$3 [line 27, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 27, column 3]\n EXIT_SCOPE(n$7,n$8,n$9,0$?%__sil_tmpSIL_materialize_temp__n$3,0$?%__sil_tmpSIL_temp_conditional___n$4); [line 27, column 3]\n " shape="box"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" [label="9: DeclStmt \n VARIABLE_DECLARED(r:int const &); [line 27, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:int const ); [line 27, column 18]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 27, column 18]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:int=n$7 [line 27, column 18]\n *&r:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$3 [line 27, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 27, column 3]\n EXIT_SCOPE(n$7,0$?%__sil_tmpSIL_materialize_temp__n$3,0$?%__sil_tmpSIL_temp_conditional___n$4); [line 27, column 3]\n " shape="box"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_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 fbff858e6..a3a25eae3 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot @@ -1,17 +1,17 @@ /* @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$2:Person 0$?%__sil_tmpSIL_materialize_temp__n$6:Person 0$?%__sil_tmpSIL_materialize_temp__n$10:Person \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$2:Person 0$?%__sil_tmpSIL_materialize_temp__n$5:Person 0$?%__sil_tmpSIL_materialize_temp__n$8:Person \n " color=yellow style=filled] "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_1" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" ; -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_2" [label="2: Exit array_of_person \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 18, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$6); [line 18, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$10); [line 18, column 1]\n NULLIFY(&arr); [line 18, column 1]\n " color=yellow style=filled] +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_2" [label="2: Exit array_of_person \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 18, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 18, column 1]\n NULLIFY(&arr); [line 18, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$8); [line 18, column 1]\n " color=yellow style=filled] "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" [label="3: Return Stmt \n n$0=*&arr[0].x:int [line 17, column 10]\n *&return:int=n$0 [line 17, column 3]\n EXIT_SCOPE(n$0,arr); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_2" ; -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" [label="4: DeclStmt \n n$14=_fun___variable_initialization(&arr:Person[10*4]) assign_last [line 16, column 3]\n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person) assign_last [line 16, column 21]\n n$3=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 16, column 21]\n n$5=_fun_Person::Person(&arr[0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 16, column 21]\n n$8=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$6:Person) assign_last [line 16, column 31]\n n$7=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$6:Person*) [line 16, column 31]\n n$9=_fun_Person::Person(&arr[1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$6:Person&) [line 16, column 31]\n n$12=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$10:Person) assign_last [line 16, column 41]\n n$11=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$10:Person*) [line 16, column 41]\n n$13=_fun_Person::Person(&arr[2]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$10:Person&) [line 16, column 41]\n EXIT_SCOPE(n$3,n$4,n$5,n$7,n$8,n$9,n$11,n$12,n$13,n$14,0$?%__sil_tmpSIL_materialize_temp__n$10,0$?%__sil_tmpSIL_materialize_temp__n$6,0$?%__sil_tmpSIL_materialize_temp__n$2); [line 16, column 41]\n " shape="box"] +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(arr:Person[10*4]); [line 16, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:Person); [line 16, column 21]\n n$3=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 16, column 21]\n n$4=_fun_Person::Person(&arr[0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 16, column 21]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:Person); [line 16, column 31]\n n$6=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$5:Person*) [line 16, column 31]\n n$7=_fun_Person::Person(&arr[1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$5:Person&) [line 16, column 31]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$8:Person); [line 16, column 41]\n n$9=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$8:Person*) [line 16, column 41]\n n$10=_fun_Person::Person(&arr[2]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$8:Person&) [line 16, column 41]\n EXIT_SCOPE(n$3,n$4,n$6,n$7,n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$8,0$?%__sil_tmpSIL_materialize_temp__n$5,0$?%__sil_tmpSIL_materialize_temp__n$2); [line 16, column 41]\n " shape="box"] "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" ; @@ -22,11 +22,11 @@ digraph cfg { "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_2" [label="2: Exit initialization_c_style \n NULLIFY(&z2); [line 33, column 1]\n " color=yellow style=filled] -"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&z2:Z) assign_last [line 32, column 3]\n n$1=_fun_Z::Z(&z2:Z*) [line 32, column 12]\n EXIT_SCOPE(n$1,n$2,z2); [line 32, column 12]\n APPLY_ABSTRACTION; [line 32, column 12]\n " shape="box"] +"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:Z); [line 32, column 3]\n n$1=_fun_Z::Z(&z2:Z*) [line 32, column 12]\n EXIT_SCOPE(n$1,z2); [line 32, column 12]\n APPLY_ABSTRACTION; [line 32, column 12]\n " shape="box"] "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" -> "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_2" ; -"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&z:Z[2*8]) assign_last [line 31, column 3]\n *&z[0].a:int=1 [line 31, column 20]\n *&z[0].b:int=2 [line 31, column 20]\n *&z[1].a:int=2 [line 31, column 28]\n *&z[1].b:int=3 [line 31, column 28]\n NULLIFY(&z); [line 31, column 28]\n EXIT_SCOPE(n$3,z); [line 31, column 28]\n " shape="box"] +"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(z:Z[2*8]); [line 31, column 3]\n *&z[0].a:int=1 [line 31, column 20]\n *&z[0].b:int=2 [line 31, column 20]\n *&z[1].a:int=2 [line 31, column 28]\n *&z[1].b:int=3 [line 31, column 28]\n NULLIFY(&z); [line 31, column 28]\n EXIT_SCOPE(z); [line 31, column 28]\n " shape="box"] "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_4" -> "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" ; @@ -37,30 +37,30 @@ digraph cfg { "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_2" [label="2: Exit initialization_mixed_styles_not_handled_correctly \n NULLIFY(&old); [line 41, column 1]\n NULLIFY(&z); [line 41, column 1]\n NULLIFY(&z2); [line 41, column 1]\n " color=yellow style=filled] -"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&z2:Z) assign_last [line 40, column 3]\n n$1=_fun_Z::Z(&z2:Z*) [line 40, column 12]\n EXIT_SCOPE(n$1,n$2,z2); [line 40, column 12]\n APPLY_ABSTRACTION; [line 40, column 12]\n " shape="box"] +"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:Z); [line 40, column 3]\n n$1=_fun_Z::Z(&z2:Z*) [line 40, column 12]\n EXIT_SCOPE(n$1,z2); [line 40, column 12]\n APPLY_ABSTRACTION; [line 40, 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 n$4=_fun___variable_initialization(&z:Z[2*8]) assign_last [line 39, column 3]\n *&z[0].a:int=1 [line 39, column 20]\n *&z[0].b:int=2 [line 39, column 20]\n n$3=_fun_Z::Z(&z[1]:Z*,&old:Z&) [line 39, column 28]\n EXIT_SCOPE(n$3,n$4,z,old); [line 39, column 28]\n " shape="box"] +"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_4" [label="4: DeclStmt \n VARIABLE_DECLARED(z:Z[2*8]); [line 39, column 3]\n *&z[0].a:int=1 [line 39, column 20]\n *&z[0].b:int=2 [line 39, column 20]\n n$2=_fun_Z::Z(&z[1]:Z*,&old:Z&) [line 39, column 28]\n EXIT_SCOPE(n$2,z,old); [line 39, 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 n$6=_fun___variable_initialization(&old:Z) assign_last [line 38, column 3]\n n$5=_fun_Z::Z(&old:Z*) [line 38, column 12]\n EXIT_SCOPE(n$5,n$6); [line 38, column 12]\n " shape="box"] +"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_5" [label="5: DeclStmt \n VARIABLE_DECLARED(old:Z); [line 38, column 3]\n n$3=_fun_Z::Z(&old:Z*) [line 38, column 12]\n EXIT_SCOPE(n$3); [line 38, 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$2:Person 0$?%__sil_tmpSIL_materialize_temp__n$6:Person 0$?%__sil_tmpSIL_materialize_temp__n$10:Person 0$?%__sil_tmpSIL_materialize_temp__n$14:Person \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$2:Person 0$?%__sil_tmpSIL_materialize_temp__n$5:Person 0$?%__sil_tmpSIL_materialize_temp__n$8:Person 0$?%__sil_tmpSIL_materialize_temp__n$11:Person \n " color=yellow style=filled] "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_1" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_2" [label="2: Exit matrix_of_person \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$14); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 23, column 1]\n NULLIFY(&arr); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$6); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$10); [line 23, column 1]\n " color=yellow style=filled] +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_2" [label="2: Exit matrix_of_person \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$11); [line 23, column 1]\n NULLIFY(&arr); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$8); [line 23, column 1]\n " color=yellow style=filled] "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" [label="3: Return Stmt \n n$0=*&arr[0][1].x:int [line 22, column 10]\n *&return:int=n$0 [line 22, column 3]\n EXIT_SCOPE(n$0,arr); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_2" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" [label="4: DeclStmt \n n$18=_fun___variable_initialization(&arr:Person[2*4][2*8]) assign_last [line 21, column 3]\n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person) assign_last [line 21, column 23]\n n$3=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 21, column 23]\n n$5=_fun_Person::Person(&arr[0][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 21, column 23]\n n$8=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$6:Person) assign_last [line 21, column 33]\n n$7=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$6:Person*) [line 21, column 33]\n n$9=_fun_Person::Person(&arr[0][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$6:Person&) [line 21, column 33]\n n$12=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$10:Person) assign_last [line 21, column 43]\n n$11=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$10:Person*) [line 21, column 43]\n n$13=_fun_Person::Person(&arr[1][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$10:Person&) [line 21, column 43]\n n$16=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$14:Person) assign_last [line 21, column 53]\n n$15=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$14:Person*) [line 21, column 53]\n n$17=_fun_Person::Person(&arr[1][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$14:Person&) [line 21, column 53]\n EXIT_SCOPE(n$3,n$4,n$5,n$7,n$8,n$9,n$11,n$12,n$13,n$15,n$16,n$17,n$18,0$?%__sil_tmpSIL_materialize_temp__n$10,0$?%__sil_tmpSIL_materialize_temp__n$6,0$?%__sil_tmpSIL_materialize_temp__n$2,0$?%__sil_tmpSIL_materialize_temp__n$14); [line 21, column 53]\n " shape="box"] +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(arr:Person[2*4][2*8]); [line 21, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:Person); [line 21, column 23]\n n$3=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 21, column 23]\n n$4=_fun_Person::Person(&arr[0][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 21, column 23]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:Person); [line 21, column 33]\n n$6=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$5:Person*) [line 21, column 33]\n n$7=_fun_Person::Person(&arr[0][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$5:Person&) [line 21, column 33]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$8:Person); [line 21, column 43]\n n$9=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$8:Person*) [line 21, column 43]\n n$10=_fun_Person::Person(&arr[1][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$8:Person&) [line 21, column 43]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$11:Person); [line 21, column 53]\n n$12=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$11:Person*) [line 21, column 53]\n n$13=_fun_Person::Person(&arr[1][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$11:Person&) [line 21, column 53]\n EXIT_SCOPE(n$3,n$4,n$6,n$7,n$9,n$10,n$12,n$13,0$?%__sil_tmpSIL_materialize_temp__n$8,0$?%__sil_tmpSIL_materialize_temp__n$5,0$?%__sil_tmpSIL_materialize_temp__n$11,0$?%__sil_tmpSIL_materialize_temp__n$2); [line 21, 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 d875f66b2..b154d85ee 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 NULLIFY(&x3); [line 22, column 1]\n NULLIFY(&x1); [line 22, column 1]\n NULLIFY(&x2); [line 22, column 1]\n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&x3:X) assign_last [line 21, column 3]\n n$1=_fun_X::X(&x3:X*,0:int,1:int) [line 21, column 5]\n EXIT_SCOPE(n$1,n$2,x3); [line 21, column 5]\n APPLY_ABSTRACTION; [line 21, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(x3:X); [line 21, column 3]\n n$1=_fun_X::X(&x3:X*,0:int,1:int) [line 21, column 5]\n EXIT_SCOPE(n$1,x3); [line 21, column 5]\n APPLY_ABSTRACTION; [line 21, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x2:X) assign_last [line 20, column 3]\n n$3=_fun_X::X(&x2:X*,1:int,0:int) [line 20, column 5]\n EXIT_SCOPE(n$3,n$4,x2); [line 20, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:X); [line 20, column 3]\n n$2=_fun_X::X(&x2:X*,1:int,0:int) [line 20, column 5]\n EXIT_SCOPE(n$2,x2); [line 20, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$6=_fun___variable_initialization(&x1:X) assign_last [line 19, column 3]\n n$5=_fun_X::X(&x1:X*,0:int,0:int) [line 19, column 5]\n EXIT_SCOPE(n$5,n$6,x1); [line 19, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:X); [line 19, column 3]\n n$3=_fun_X::X(&x1:X*,0:int,0:int) [line 19, column 5]\n EXIT_SCOPE(n$3,x1); [line 19, 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 8660f600c..abb6d221c 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot @@ -11,11 +11,11 @@ digraph cfg { "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$5=_fun___variable_initialization(&v:int) assign_last [line 48, column 3]\n n$4=*&b.f:int [line 48, column 15]\n *&v:int=(1 / n$4) [line 48, column 3]\n NULLIFY(&v); [line 48, column 3]\n EXIT_SCOPE(n$4,n$5,v); [line 48, column 3]\n " shape="box"] +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 48, column 3]\n n$4=*&b.f:int [line 48, column 15]\n *&v:int=(1 / n$4) [line 48, column 3]\n NULLIFY(&v); [line 48, column 3]\n EXIT_SCOPE(n$4,v); [line 48, 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 n$7=_fun___variable_initialization(&b:B) assign_last [line 47, column 3]\n n$6=_fun_B::B(&b:B*,-1:int,0:int) [line 47, column 5]\n EXIT_SCOPE(n$6,n$7); [line 47, column 5]\n " shape="box"] +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:B); [line 47, column 3]\n n$5=_fun_B::B(&b:B*,-1:int,0:int) [line 47, column 5]\n EXIT_SCOPE(n$5); [line 47, column 5]\n " shape="box"] "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" ; @@ -30,11 +30,11 @@ digraph cfg { "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$5=_fun___variable_initialization(&v:int) assign_last [line 42, column 3]\n n$4=*&b.f2:int [line 42, column 15]\n *&v:int=(1 / n$4) [line 42, column 3]\n NULLIFY(&v); [line 42, column 3]\n EXIT_SCOPE(n$4,n$5,v); [line 42, column 3]\n " shape="box"] +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 42, column 3]\n n$4=*&b.f2:int [line 42, column 15]\n *&v:int=(1 / n$4) [line 42, column 3]\n NULLIFY(&v); [line 42, column 3]\n EXIT_SCOPE(n$4,v); [line 42, 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 n$7=_fun___variable_initialization(&b:B) assign_last [line 41, column 3]\n n$6=_fun_B::B(&b:B*,-1:int,1:int) [line 41, column 5]\n EXIT_SCOPE(n$6,n$7); [line 41, column 5]\n " shape="box"] +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:B); [line 41, column 3]\n n$5=_fun_B::B(&b:B*,-1:int,1:int) [line 41, column 5]\n EXIT_SCOPE(n$5); [line 41, column 5]\n " shape="box"] "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" ; @@ -49,7 +49,7 @@ digraph cfg { "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_2" ; -"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&b:B) assign_last [line 26, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 26, column 5]\n EXIT_SCOPE(n$4,n$5); [line 26, column 5]\n " shape="box"] +"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 26, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 26, column 5]\n EXIT_SCOPE(n$4); [line 26, column 5]\n " shape="box"] "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" ; @@ -64,7 +64,7 @@ digraph cfg { "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_2" ; -"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&b:B) assign_last [line 31, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 31, column 5]\n EXIT_SCOPE(n$4,n$5); [line 31, column 5]\n " shape="box"] +"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 31, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 31, column 5]\n EXIT_SCOPE(n$4); [line 31, column 5]\n " shape="box"] "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" ; @@ -79,19 +79,19 @@ digraph cfg { "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_2" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&v3:int) assign_last [line 56, column 3]\n n$5=*&b.t.v:int [line 56, column 16]\n *&v3:int=(1 / n$5) [line 56, column 3]\n NULLIFY(&v3); [line 56, column 3]\n EXIT_SCOPE(n$5,n$6,v3); [line 56, column 3]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 56, column 3]\n n$5=*&b.t.v:int [line 56, column 16]\n *&v3:int=(1 / n$5) [line 56, column 3]\n NULLIFY(&v3); [line 56, column 3]\n EXIT_SCOPE(n$5,v3); [line 56, 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$8=_fun___variable_initialization(&v2:int) assign_last [line 55, column 3]\n n$7=*&b.f2:int [line 55, column 16]\n *&v2:int=(1 / n$7) [line 55, column 3]\n EXIT_SCOPE(n$7,n$8); [line 55, column 3]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v2:int); [line 55, column 3]\n n$6=*&b.f2:int [line 55, column 16]\n *&v2:int=(1 / n$6) [line 55, column 3]\n EXIT_SCOPE(n$6); [line 55, 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$10=_fun___variable_initialization(&v:int) assign_last [line 54, column 3]\n n$9=*&b.f:int [line 54, column 15]\n *&v:int=(1 / n$9) [line 54, column 3]\n EXIT_SCOPE(n$9,n$10); [line 54, column 3]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" [label="6: DeclStmt \n VARIABLE_DECLARED(v:int); [line 54, column 3]\n n$7=*&b.f:int [line 54, column 15]\n *&v:int=(1 / n$7) [line 54, column 3]\n EXIT_SCOPE(n$7); [line 54, 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 n$12=_fun___variable_initialization(&b:B) assign_last [line 53, column 3]\n n$11=_fun_B::B(&b:B*,1:int) [line 53, column 5]\n EXIT_SCOPE(n$11,n$12); [line 53, column 5]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" [label="7: DeclStmt \n VARIABLE_DECLARED(b:B); [line 53, column 3]\n n$8=_fun_B::B(&b:B*,1:int) [line 53, column 5]\n EXIT_SCOPE(n$8); [line 53, column 5]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" ; @@ -106,7 +106,7 @@ digraph cfg { "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_2" ; -"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&b:B) assign_last [line 36, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 36, column 5]\n EXIT_SCOPE(n$4,n$5); [line 36, column 5]\n " shape="box"] +"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 36, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 36, column 5]\n EXIT_SCOPE(n$4); [line 36, column 5]\n " shape="box"] "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_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 05475d0a0..0ababa684 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot @@ -4,7 +4,7 @@ digraph cfg { "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_1" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_4" ; -"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_2" [label="2: Exit constructor_new::array_of_class_with_not_constant_size \n NULLIFY(&tarray); [line 90, column 1]\n " color=yellow style=filled] +"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_2" [label="2: Exit constructor_new::array_of_class_with_not_constant_size \n " color=yellow style=filled] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" [label="3: + \n " ] @@ -32,7 +32,7 @@ digraph cfg { "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" ; -"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" [label="9: DeclStmt \n n$5=_fun___variable_initialization(&tarray:constructor_new::Person*) assign_last [line 89, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 89, column 31]\n n$4=_fun___new_array((sizeof(t=constructor_new::Person) * n$3):unsigned long) [line 89, column 20]\n *&tarray:constructor_new::Person*=n$4 [line 89, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 89, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,0$?%__sil_tmpSIL_temp_conditional___n$1,tarray); [line 89, column 3]\n APPLY_ABSTRACTION; [line 89, column 3]\n " shape="box"] +"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" [label="9: DeclStmt \n VARIABLE_DECLARED(tarray:constructor_new::Person*); [line 89, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 89, column 31]\n n$4=_fun___new_array((sizeof(t=constructor_new::Person) * n$3):unsigned long) [line 89, column 20]\n *&tarray:constructor_new::Person*=n$4 [line 89, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 89, column 3]\n NULLIFY(&tarray); [line 89, column 3]\n EXIT_SCOPE(n$3,n$4,0$?%__sil_tmpSIL_temp_conditional___n$1,tarray); [line 89, column 3]\n APPLY_ABSTRACTION; [line 89, column 3]\n " shape="box"] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_2" ; @@ -40,10 +40,10 @@ digraph cfg { "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_1" -> "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" ; -"array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_2" [label="2: Exit constructor_new::array_of_person_with_constant_size \n NULLIFY(&tarray); [line 93, column 78]\n " color=yellow style=filled] +"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$12=_fun___variable_initialization(&tarray:constructor_new::Person*) assign_last [line 93, column 45]\n n$1=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 93, column 62]\n n$2=_fun_constructor_new::Person::Person(n$1[0]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$3=_fun_constructor_new::Person::Person(n$1[1]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$4=_fun_constructor_new::Person::Person(n$1[2]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$5=_fun_constructor_new::Person::Person(n$1[3]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$6=_fun_constructor_new::Person::Person(n$1[4]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$7=_fun_constructor_new::Person::Person(n$1[5]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$8=_fun_constructor_new::Person::Person(n$1[6]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$9=_fun_constructor_new::Person::Person(n$1[7]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$10=_fun_constructor_new::Person::Person(n$1[8]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$11=_fun_constructor_new::Person::Person(n$1[9]:constructor_new::Person[_*_](*)) [line 93, column 66]\n *&tarray:constructor_new::Person*=n$1 [line 93, column 45]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,n$10,n$11,n$12,tarray); [line 93, column 45]\n APPLY_ABSTRACTION; [line 93, column 45]\n " shape="box"] +"array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(tarray:constructor_new::Person*); [line 93, column 45]\n n$1=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 93, column 62]\n n$2=_fun_constructor_new::Person::Person(n$1[0]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$3=_fun_constructor_new::Person::Person(n$1[1]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$4=_fun_constructor_new::Person::Person(n$1[2]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$5=_fun_constructor_new::Person::Person(n$1[3]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$6=_fun_constructor_new::Person::Person(n$1[4]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$7=_fun_constructor_new::Person::Person(n$1[5]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$8=_fun_constructor_new::Person::Person(n$1[6]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$9=_fun_constructor_new::Person::Person(n$1[7]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$10=_fun_constructor_new::Person::Person(n$1[8]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$11=_fun_constructor_new::Person::Person(n$1[9]:constructor_new::Person[_*_](*)) [line 93, column 66]\n *&tarray:constructor_new::Person*=n$1 [line 93, column 45]\n NULLIFY(&tarray); [line 93, column 45]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,n$10,n$11,tarray); [line 93, column 45]\n APPLY_ABSTRACTION; [line 93, 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" ; @@ -51,14 +51,14 @@ digraph cfg { "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_1" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" ; -"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_2" [label="2: Exit constructor_new::constructor_1_arg_new_div0 \n NULLIFY(&p); [line 30, column 1]\n " color=yellow style=filled] +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_2" [label="2: Exit constructor_new::constructor_1_arg_new_div0 \n " color=yellow style=filled] -"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 29, column 15]\n n$1=*n$0.x:int [line 29, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 29, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 29, column 15]\n n$1=*n$0.x:int [line 29, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 29, column 3]\n NULLIFY(&p); [line 29, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] "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$5=_fun___variable_initialization(&p:constructor_new::Person*) assign_last [line 28, column 3]\n n$3=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 28, column 15]\n n$4=_fun_constructor_new::Person::Person(n$3:constructor_new::Person*,5:int) [line 28, column 19]\n *&p:constructor_new::Person*=n$3 [line 28, column 3]\n EXIT_SCOPE(n$3,n$4,n$5); [line 28, column 3]\n " shape="box"] +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 28, column 3]\n n$3=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 28, column 15]\n n$4=_fun_constructor_new::Person::Person(n$3:constructor_new::Person*,5:int) [line 28, column 19]\n *&p:constructor_new::Person*=n$3 [line 28, column 3]\n EXIT_SCOPE(n$3,n$4); [line 28, 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" ; @@ -66,14 +66,14 @@ digraph cfg { "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_1" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" ; -"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_2" [label="2: Exit constructor_new::constructor_3_args_new_div0 \n NULLIFY(&p); [line 35, column 1]\n " color=yellow style=filled] +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_2" [label="2: Exit constructor_new::constructor_3_args_new_div0 \n " color=yellow style=filled] -"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 34, column 15]\n n$1=*n$0.z:int [line 34, column 15]\n *&return:int=(1 / (n$1 - 7)) [line 34, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 34, column 15]\n n$1=*n$0.z:int [line 34, column 15]\n *&return:int=(1 / (n$1 - 7)) [line 34, column 3]\n NULLIFY(&p); [line 34, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] "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$5=_fun___variable_initialization(&p:constructor_new::Person*) assign_last [line 33, column 3]\n n$3=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 33, column 15]\n n$4=_fun_constructor_new::Person::Person(n$3:constructor_new::Person*,5:int,6:int,7:int) [line 33, column 19]\n *&p:constructor_new::Person*=n$3 [line 33, column 3]\n EXIT_SCOPE(n$3,n$4,n$5); [line 33, column 3]\n " shape="box"] +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 33, column 3]\n n$3=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 33, column 15]\n n$4=_fun_constructor_new::Person::Person(n$3:constructor_new::Person*,5:int,6:int,7:int) [line 33, column 19]\n *&p:constructor_new::Person*=n$3 [line 33, column 3]\n EXIT_SCOPE(n$3,n$4); [line 33, 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" ; @@ -81,10 +81,10 @@ digraph cfg { "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_1" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_2" [label="2: Exit constructor_new::constructor_nodes \n NULLIFY(&p); [line 73, column 1]\n " color=yellow style=filled] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_2" [label="2: Exit constructor_new::constructor_nodes \n " color=yellow style=filled] -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 72, column 15]\n n$1=*n$0.x:int [line 72, column 15]\n *&return:int=(1 / (n$1 - 7)) [line 72, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 72, column 3]\n APPLY_ABSTRACTION; [line 72, column 3]\n " shape="box"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 72, column 15]\n n$1=*n$0.x:int [line 72, column 15]\n *&return:int=(1 / (n$1 - 7)) [line 72, column 3]\n NULLIFY(&p); [line 72, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 72, column 3]\n APPLY_ABSTRACTION; [line 72, column 3]\n " shape="box"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_2" ; @@ -113,11 +113,11 @@ 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$10=_fun___variable_initialization(&p:constructor_new::Person*) assign_last [line 71, column 3]\n n$3=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 71, column 15]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 71, column 26]\n n$9=_fun_constructor_new::Person::Person(n$3:constructor_new::Person*,n$8:int) [line 71, column 19]\n *&p:constructor_new::Person*=n$3 [line 71, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 71, column 3]\n EXIT_SCOPE(n$3,n$8,n$9,n$10,0$?%__sil_tmpSIL_temp_conditional___n$4); [line 71, column 3]\n " shape="box"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" [label="10: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 71, column 3]\n n$3=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 71, column 15]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 71, column 26]\n n$9=_fun_constructor_new::Person::Person(n$3:constructor_new::Person*,n$8:int) [line 71, column 19]\n *&p:constructor_new::Person*=n$3 [line 71, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 71, column 3]\n EXIT_SCOPE(n$3,n$8,n$9,0$?%__sil_tmpSIL_temp_conditional___n$4); [line 71, column 3]\n " shape="box"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" [label="11: DeclStmt \n n$11=_fun___variable_initialization(&z:int) assign_last [line 70, column 3]\n *&z:int=6 [line 70, column 3]\n EXIT_SCOPE(n$11); [line 70, column 3]\n " shape="box"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" [label="11: DeclStmt \n VARIABLE_DECLARED(z:int); [line 70, column 3]\n *&z:int=6 [line 70, column 3]\n " shape="box"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" ; @@ -125,14 +125,14 @@ digraph cfg { "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_1" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" ; -"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_2" [label="2: Exit constructor_new::float_init_number \n NULLIFY(&x1); [line 45, column 1]\n " color=yellow style=filled] +"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_2" [label="2: Exit constructor_new::float_init_number \n " color=yellow style=filled] -"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" [label="3: Return Stmt \n n$0=*&x1:float* [line 44, column 16]\n n$1=*n$0:float [line 44, column 15]\n *&return:float=(1 / (n$1 - 5.4)) [line 44, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] +"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" [label="3: Return Stmt \n n$0=*&x1:float* [line 44, column 16]\n n$1=*n$0:float [line 44, column 15]\n *&return:float=(1 / (n$1 - 5.4)) [line 44, column 3]\n NULLIFY(&x1); [line 44, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_2" ; -"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x1:float*) assign_last [line 43, column 3]\n n$3=_fun___new(sizeof(t=float):unsigned long) [line 43, column 15]\n *n$3:float=5.4 [line 43, column 15]\n *&x1:float*=n$3 [line 43, column 3]\n EXIT_SCOPE(n$3,n$4); [line 43, column 3]\n " shape="box"] +"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:float*); [line 43, column 3]\n n$3=_fun___new(sizeof(t=float):unsigned long) [line 43, column 15]\n *n$3:float=5.4 [line 43, column 15]\n *&x1:float*=n$3 [line 43, column 3]\n EXIT_SCOPE(n$3); [line 43, column 3]\n " shape="box"] "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" ; @@ -151,10 +151,10 @@ digraph cfg { "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_1" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_2" [label="2: Exit constructor_new::int_array \n NULLIFY(&x2); [line 80, column 1]\n " color=yellow style=filled] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_2" [label="2: Exit constructor_new::int_array \n " color=yellow style=filled] -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" [label="3: Return Stmt \n n$0=*&x2:int* [line 79, column 16]\n n$1=*n$0[0]:int [line 79, column 16]\n n$2=*&x2:int* [line 79, column 24]\n n$3=*n$2[1]:int [line 79, column 24]\n *&return:int=(1 / ((n$1 + n$3) - 3)) [line 79, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,x2); [line 79, column 3]\n APPLY_ABSTRACTION; [line 79, column 3]\n " shape="box"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" [label="3: Return Stmt \n n$0=*&x2:int* [line 79, column 16]\n n$1=*n$0[0]:int [line 79, column 16]\n n$2=*&x2:int* [line 79, column 24]\n n$3=*n$2[1]:int [line 79, column 24]\n *&return:int=(1 / ((n$1 + n$3) - 3)) [line 79, column 3]\n NULLIFY(&x2); [line 79, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,x2); [line 79, column 3]\n APPLY_ABSTRACTION; [line 79, column 3]\n " shape="box"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_2" ; @@ -191,7 +191,7 @@ digraph cfg { "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" [label="12: DeclStmt \n n$12=_fun___variable_initialization(&x2:int*) assign_last [line 76, column 3]\n n$10=*&0$?%__sil_tmpSIL_temp_conditional___n$7:int [line 76, column 21]\n n$11=_fun___new_array((sizeof(t=int;nbytes=4) * n$10):unsigned long) [line 76, column 13]\n *&x2:int*=n$11 [line 76, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$7); [line 76, column 3]\n EXIT_SCOPE(n$10,n$11,n$12,0$?%__sil_tmpSIL_temp_conditional___n$7); [line 76, column 3]\n " shape="box"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:int*); [line 76, column 3]\n n$10=*&0$?%__sil_tmpSIL_temp_conditional___n$7:int [line 76, column 21]\n n$11=_fun___new_array((sizeof(t=int;nbytes=4) * n$10):unsigned long) [line 76, column 13]\n *&x2:int*=n$11 [line 76, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$7); [line 76, column 3]\n EXIT_SCOPE(n$10,n$11,0$?%__sil_tmpSIL_temp_conditional___n$7); [line 76, column 3]\n " shape="box"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" ; @@ -199,14 +199,14 @@ digraph cfg { "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_1" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" ; -"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_2" [label="2: Exit constructor_new::int_array_init \n NULLIFY(&arr); [line 85, column 1]\n " color=yellow style=filled] +"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_2" [label="2: Exit constructor_new::int_array_init \n " color=yellow style=filled] -"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" [label="3: Return Stmt \n n$0=*&arr:int* [line 84, column 16]\n n$1=*n$0[0]:int [line 84, column 16]\n n$2=*&arr:int* [line 84, column 25]\n n$3=*n$2[1]:int [line 84, column 25]\n n$4=*&arr:int* [line 84, column 34]\n n$5=*n$4[2]:int [line 84, column 34]\n n$6=*&arr:int* [line 84, column 43]\n n$7=*n$6[3]:int [line 84, column 43]\n n$8=*&arr:int* [line 84, column 52]\n n$9=*n$8[4]:int [line 84, column 52]\n *&return:int=(1 / (((((n$1 + n$3) + n$5) + n$7) + n$9) - 15)) [line 84, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,arr); [line 84, column 3]\n APPLY_ABSTRACTION; [line 84, column 3]\n " shape="box"] +"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" [label="3: Return Stmt \n n$0=*&arr:int* [line 84, column 16]\n n$1=*n$0[0]:int [line 84, column 16]\n n$2=*&arr:int* [line 84, column 25]\n n$3=*n$2[1]:int [line 84, column 25]\n n$4=*&arr:int* [line 84, column 34]\n n$5=*n$4[2]:int [line 84, column 34]\n n$6=*&arr:int* [line 84, column 43]\n n$7=*n$6[3]:int [line 84, column 43]\n n$8=*&arr:int* [line 84, column 52]\n n$9=*n$8[4]:int [line 84, column 52]\n *&return:int=(1 / (((((n$1 + n$3) + n$5) + n$7) + n$9) - 15)) [line 84, column 3]\n NULLIFY(&arr); [line 84, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,arr); [line 84, column 3]\n APPLY_ABSTRACTION; [line 84, column 3]\n " shape="box"] "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_2" ; -"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" [label="4: DeclStmt \n n$12=_fun___variable_initialization(&arr:int*) assign_last [line 83, column 3]\n n$11=_fun___new_array((sizeof(t=int;nbytes=4) * 100):unsigned long) [line 83, column 14]\n *n$11[0]:int=1 [line 83, column 26]\n *n$11[1]:int=2 [line 83, column 26]\n *n$11[2]:int=3 [line 83, column 26]\n *n$11[3]:int=4 [line 83, column 26]\n *n$11[4]:int=5 [line 83, column 26]\n *n$11[5]:int=6 [line 83, column 26]\n *n$11[6]:int=7 [line 83, column 26]\n *n$11[7]:int=8 [line 83, column 26]\n *n$11[8]:int=9 [line 83, column 26]\n *n$11[9]:int=10 [line 83, column 26]\n *&arr:int*=n$11 [line 83, column 3]\n EXIT_SCOPE(n$11,n$12); [line 83, column 3]\n " shape="box"] +"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(arr:int*); [line 83, column 3]\n n$11=_fun___new_array((sizeof(t=int;nbytes=4) * 100):unsigned long) [line 83, column 14]\n *n$11[0]:int=1 [line 83, column 26]\n *n$11[1]:int=2 [line 83, column 26]\n *n$11[2]:int=3 [line 83, column 26]\n *n$11[3]:int=4 [line 83, column 26]\n *n$11[4]:int=5 [line 83, column 26]\n *n$11[5]:int=6 [line 83, column 26]\n *n$11[6]:int=7 [line 83, column 26]\n *n$11[7]:int=8 [line 83, column 26]\n *n$11[8]:int=9 [line 83, column 26]\n *n$11[9]:int=10 [line 83, column 26]\n *&arr:int*=n$11 [line 83, column 3]\n EXIT_SCOPE(n$11); [line 83, column 3]\n " shape="box"] "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" ; @@ -214,14 +214,14 @@ digraph cfg { "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_1" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" ; -"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_2" [label="2: Exit constructor_new::int_init_empty \n NULLIFY(&x1); [line 50, column 1]\n " color=yellow style=filled] +"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_2" [label="2: Exit constructor_new::int_init_empty \n " color=yellow style=filled] -"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 49, column 15]\n n$1=*n$0:int [line 49, column 14]\n *&return:int=(1 / n$1) [line 49, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 49, column 3]\n APPLY_ABSTRACTION; [line 49, column 3]\n " shape="box"] +"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 49, column 15]\n n$1=*n$0:int [line 49, column 14]\n *&return:int=(1 / n$1) [line 49, column 3]\n NULLIFY(&x1); [line 49, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 49, column 3]\n APPLY_ABSTRACTION; [line 49, column 3]\n " shape="box"] "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_2" ; -"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x1:int*) assign_last [line 48, column 3]\n n$3=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 48, column 13]\n *n$3:int=0 [line 48, column 21]\n *&x1:int*=n$3 [line 48, column 3]\n EXIT_SCOPE(n$3,n$4); [line 48, column 3]\n " shape="box"] +"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 48, column 3]\n n$3=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 48, column 13]\n *n$3:int=0 [line 48, column 21]\n *&x1:int*=n$3 [line 48, column 3]\n EXIT_SCOPE(n$3); [line 48, column 3]\n " shape="box"] "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" ; @@ -236,7 +236,7 @@ digraph cfg { "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_3" -> "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_2" ; -"int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&x1:int) assign_last [line 53, column 3]\n *&x1:int=0 [line 53, column 3]\n EXIT_SCOPE(n$2); [line 53, column 3]\n " shape="box"] +"int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:int); [line 53, column 3]\n *&x1:int=0 [line 53, column 3]\n " shape="box"] "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_4" -> "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_3" ; @@ -244,14 +244,14 @@ digraph cfg { "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_1" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" ; -"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_2" [label="2: Exit constructor_new::int_init_empty_list_new \n NULLIFY(&x1); [line 60, column 1]\n " color=yellow style=filled] +"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_2" [label="2: Exit constructor_new::int_init_empty_list_new \n " color=yellow style=filled] -"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 59, column 15]\n n$1=*n$0:int [line 59, column 14]\n *&return:int=(1 / n$1) [line 59, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 59, column 3]\n APPLY_ABSTRACTION; [line 59, column 3]\n " shape="box"] +"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 59, column 15]\n n$1=*n$0:int [line 59, column 14]\n *&return:int=(1 / n$1) [line 59, column 3]\n NULLIFY(&x1); [line 59, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 59, column 3]\n APPLY_ABSTRACTION; [line 59, column 3]\n " shape="box"] "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_2" ; -"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x1:int*) assign_last [line 58, column 3]\n n$3=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 58, column 13]\n *n$3:int=0 [line 58, column 13]\n *&x1:int*=n$3 [line 58, column 3]\n EXIT_SCOPE(n$3,n$4); [line 58, column 3]\n " shape="box"] +"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 58, column 3]\n n$3=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 58, column 13]\n *n$3:int=0 [line 58, column 13]\n *&x1:int*=n$3 [line 58, column 3]\n EXIT_SCOPE(n$3); [line 58, column 3]\n " shape="box"] "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" ; @@ -259,10 +259,10 @@ digraph cfg { "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_1" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_2" [label="2: Exit constructor_new::int_init_nodes \n NULLIFY(&y); [line 67, column 1]\n NULLIFY(&x); [line 67, column 1]\n " color=yellow style=filled] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_2" [label="2: Exit constructor_new::int_init_nodes \n " color=yellow style=filled] -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" [label="3: Return Stmt \n n$0=*&x:int* [line 66, column 16]\n n$1=*n$0:int [line 66, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 66, column 3]\n EXIT_SCOPE(n$0,n$1,x); [line 66, column 3]\n APPLY_ABSTRACTION; [line 66, column 3]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" [label="3: Return Stmt \n n$0=*&x:int* [line 66, column 16]\n n$1=*n$0:int [line 66, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 66, column 3]\n NULLIFY(&x); [line 66, column 3]\n EXIT_SCOPE(n$0,n$1,x); [line 66, column 3]\n APPLY_ABSTRACTION; [line 66, column 3]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_2" ; @@ -275,7 +275,7 @@ digraph cfg { "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$5, true); [line 65, column 20]\n EXIT_SCOPE(n$5,y); [line 65, column 20]\n " shape="invhouse"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$5, true); [line 65, column 20]\n NULLIFY(&y); [line 65, column 20]\n EXIT_SCOPE(n$5,y); [line 65, column 20]\n " shape="invhouse"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" ; @@ -287,19 +287,19 @@ digraph cfg { "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" [label="9: ConditionalStmt Branch \n n$7=*&y:int* [line 65, column 53]\n n$8=*n$7:int [line 65, column 52]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=(1 + n$8) [line 65, column 20]\n EXIT_SCOPE(n$7,n$8,y); [line 65, column 20]\n APPLY_ABSTRACTION; [line 65, column 20]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" [label="9: ConditionalStmt Branch \n n$7=*&y:int* [line 65, column 53]\n n$8=*n$7:int [line 65, column 52]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=(1 + n$8) [line 65, column 20]\n NULLIFY(&y); [line 65, column 20]\n EXIT_SCOPE(n$7,n$8,y); [line 65, column 20]\n APPLY_ABSTRACTION; [line 65, column 20]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" [label="10: DeclStmt \n n$10=_fun___variable_initialization(&x:int*) assign_last [line 65, column 3]\n n$3=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 65, column 12]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 65, column 20]\n *n$3:int=n$9 [line 65, column 12]\n *&x:int*=n$3 [line 65, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 65, column 3]\n EXIT_SCOPE(n$3,n$9,n$10,0$?%__sil_tmpSIL_temp_conditional___n$4); [line 65, column 3]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 65, column 3]\n n$3=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 65, column 12]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 65, column 20]\n *n$3:int=n$9 [line 65, column 12]\n *&x:int*=n$3 [line 65, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 65, column 3]\n EXIT_SCOPE(n$3,n$9,0$?%__sil_tmpSIL_temp_conditional___n$4); [line 65, column 3]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" [label="11: DeclStmt \n n$13=_fun___variable_initialization(&y:int*) assign_last [line 64, column 3]\n n$11=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 64, column 12]\n n$12=_fun_constructor_new::getValue(4:int) [line 64, column 20]\n *n$11:int=n$12 [line 64, column 12]\n *&y:int*=n$11 [line 64, column 3]\n EXIT_SCOPE(n$11,n$12,n$13); [line 64, column 3]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" [label="11: DeclStmt \n VARIABLE_DECLARED(y:int*); [line 64, column 3]\n n$10=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 64, column 12]\n n$11=_fun_constructor_new::getValue(4:int) [line 64, column 20]\n *n$10:int=n$11 [line 64, column 12]\n *&y:int*=n$10 [line 64, column 3]\n EXIT_SCOPE(n$10,n$11); [line 64, column 3]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" [label="12: DeclStmt \n n$14=_fun___variable_initialization(&z:int) assign_last [line 63, column 3]\n *&z:int=6 [line 63, column 3]\n NULLIFY(&z); [line 63, column 3]\n EXIT_SCOPE(n$14,z); [line 63, column 3]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" [label="12: DeclStmt \n VARIABLE_DECLARED(z:int); [line 63, column 3]\n *&z:int=6 [line 63, column 3]\n NULLIFY(&z); [line 63, column 3]\n EXIT_SCOPE(z); [line 63, column 3]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" ; @@ -307,14 +307,14 @@ digraph cfg { "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_1" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" ; -"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_2" [label="2: Exit constructor_new::int_init_number \n NULLIFY(&x1); [line 40, column 1]\n " color=yellow style=filled] +"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_2" [label="2: Exit constructor_new::int_init_number \n " color=yellow style=filled] -"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 39, column 16]\n n$1=*n$0:int [line 39, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 39, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] +"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 39, column 16]\n n$1=*n$0:int [line 39, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 39, column 3]\n NULLIFY(&x1); [line 39, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_2" ; -"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x1:int*) assign_last [line 38, column 3]\n n$3=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 38, column 13]\n *n$3:int=5 [line 38, column 13]\n *&x1:int*=n$3 [line 38, column 3]\n EXIT_SCOPE(n$3,n$4); [line 38, column 3]\n " shape="box"] +"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 38, column 3]\n n$3=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 38, column 13]\n *n$3:int=5 [line 38, column 13]\n *&x1:int*=n$3 [line 38, column 3]\n EXIT_SCOPE(n$3); [line 38, column 3]\n " shape="box"] "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" ; @@ -322,14 +322,14 @@ digraph cfg { "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_1" -> "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" ; -"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_2" [label="2: Exit constructor_new::matrix_of_person \n NULLIFY(&tarray); [line 99, column 1]\n " color=yellow style=filled] +"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$1=*&tarray:constructor_new::Person** [line 98, column 3]\n n$2=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 98, column 15]\n n$3=_fun_constructor_new::Person::Person(n$2[0]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$4=_fun_constructor_new::Person::Person(n$2[1]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$5=_fun_constructor_new::Person::Person(n$2[2]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$6=_fun_constructor_new::Person::Person(n$2[3]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$7=_fun_constructor_new::Person::Person(n$2[4]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$8=_fun_constructor_new::Person::Person(n$2[5]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$9=_fun_constructor_new::Person::Person(n$2[6]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$10=_fun_constructor_new::Person::Person(n$2[7]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$11=_fun_constructor_new::Person::Person(n$2[8]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$12=_fun_constructor_new::Person::Person(n$2[9]:constructor_new::Person[_*_](*)) [line 98, column 19]\n *n$1[0]:constructor_new::Person*=n$2 [line 98, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,n$10,n$11,n$12,tarray); [line 98, column 3]\n APPLY_ABSTRACTION; [line 98, column 3]\n " shape="box"] +"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&tarray:constructor_new::Person** [line 98, column 3]\n n$2=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 98, column 15]\n n$3=_fun_constructor_new::Person::Person(n$2[0]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$4=_fun_constructor_new::Person::Person(n$2[1]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$5=_fun_constructor_new::Person::Person(n$2[2]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$6=_fun_constructor_new::Person::Person(n$2[3]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$7=_fun_constructor_new::Person::Person(n$2[4]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$8=_fun_constructor_new::Person::Person(n$2[5]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$9=_fun_constructor_new::Person::Person(n$2[6]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$10=_fun_constructor_new::Person::Person(n$2[7]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$11=_fun_constructor_new::Person::Person(n$2[8]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$12=_fun_constructor_new::Person::Person(n$2[9]:constructor_new::Person[_*_](*)) [line 98, column 19]\n *n$1[0]:constructor_new::Person*=n$2 [line 98, column 3]\n NULLIFY(&tarray); [line 98, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,n$10,n$11,n$12,tarray); [line 98, column 3]\n APPLY_ABSTRACTION; [line 98, 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$14=_fun___variable_initialization(&tarray:constructor_new::Person**) assign_last [line 97, column 3]\n n$13=_fun___new_array((sizeof(t=constructor_new::Person*) * 10):unsigned long) [line 97, column 21]\n *&tarray:constructor_new::Person**=n$13 [line 97, column 3]\n EXIT_SCOPE(n$13,n$14); [line 97, column 3]\n " shape="box"] +"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" [label="4: DeclStmt \n VARIABLE_DECLARED(tarray:constructor_new::Person**); [line 97, column 3]\n n$13=_fun___new_array((sizeof(t=constructor_new::Person*) * 10):unsigned long) [line 97, column 21]\n *&tarray:constructor_new::Person**=n$13 [line 97, column 3]\n EXIT_SCOPE(n$13); [line 97, 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 8929156fc..927ca8f2a 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 NULLIFY(&p); [line 17, column 29]\n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n n$3=_fun___variable_initialization(&p:Person) assign_last [line 17, column 15]\n *&0$?%__sil_tmpSIL_init_list__n$1.top:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$1.left:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$1.bottom:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$1.right:int=0 [line 17, column 25]\n n$2=_fun_Person::Person(&p:Person*,&0$?%__sil_tmpSIL_init_list__n$1:Insets) [line 17, column 22]\n NULLIFY(&0$?%__sil_tmpSIL_init_list__n$1); [line 17, column 22]\n EXIT_SCOPE(n$2,n$3,p,0$?%__sil_tmpSIL_init_list__n$1); [line 17, column 22]\n APPLY_ABSTRACTION; [line 17, column 22]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:Person); [line 17, column 15]\n *&0$?%__sil_tmpSIL_init_list__n$1.top:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$1.left:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$1.bottom:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$1.right:int=0 [line 17, column 25]\n n$2=_fun_Person::Person(&p:Person*,&0$?%__sil_tmpSIL_init_list__n$1:Insets) [line 17, column 22]\n NULLIFY(&0$?%__sil_tmpSIL_init_list__n$1); [line 17, column 22]\n EXIT_SCOPE(n$2,p,0$?%__sil_tmpSIL_init_list__n$1); [line 17, column 22]\n APPLY_ABSTRACTION; [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 f317aec6d..7fb64c604 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 n$4=_fun___variable_initialization(&x:constructor_with_body::X) assign_last [line 29, column 3]\n n$3=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*,-2:int,2:int) [line 29, column 5]\n EXIT_SCOPE(n$3,n$4); [line 29, column 5]\n " shape="box"] +"test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:constructor_with_body::X); [line 29, column 3]\n n$3=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*,-2:int,2:int) [line 29, column 5]\n EXIT_SCOPE(n$3); [line 29, 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 n$4=_fun___variable_initialization(&x:constructor_with_body::X) assign_last [line 34, column 3]\n n$3=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*) [line 34, column 5]\n EXIT_SCOPE(n$3,n$4); [line 34, column 5]\n " shape="box"] +"test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:constructor_with_body::X); [line 34, column 3]\n n$3=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*) [line 34, column 5]\n EXIT_SCOPE(n$3); [line 34, 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 n$4=_fun___variable_initialization(&x:constructor_with_body::X) assign_last [line 39, column 3]\n n$3=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*,0:int,1:int) [line 39, column 5]\n EXIT_SCOPE(n$3,n$4); [line 39, column 5]\n " shape="box"] +"test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:constructor_with_body::X); [line 39, column 3]\n n$3=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*,0:int,1:int) [line 39, column 5]\n EXIT_SCOPE(n$3); [line 39, column 5]\n " shape="box"] "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_4" -> "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_3" ; @@ -93,7 +93,7 @@ digraph cfg { "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$8=_fun___variable_initialization(&c:int) assign_last [line 23, column 3]\n n$6=*&a:int [line 23, column 11]\n n$7=*&b:int [line 23, column 15]\n *&c:int=(n$6 + n$7) [line 23, column 3]\n NULLIFY(&a); [line 23, column 3]\n NULLIFY(&b); [line 23, column 3]\n EXIT_SCOPE(n$6,n$7,n$8,a,b); [line 23, column 3]\n " shape="box"] +"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 23, column 3]\n n$6=*&a:int [line 23, column 11]\n n$7=*&b:int [line 23, column 15]\n *&c:int=(n$6 + n$7) [line 23, column 3]\n NULLIFY(&a); [line 23, column 3]\n NULLIFY(&b); [line 23, column 3]\n EXIT_SCOPE(n$6,n$7,a,b); [line 23, 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 0ec0dc0ff..aae32a1da 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 n$4=_fun___variable_initialization(&x2:copy_array_field::X) assign_last [line 24, column 3]\n n$3=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 24, column 10]\n EXIT_SCOPE(n$3,n$4,x1); [line 24, column 10]\n " shape="box"] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:copy_array_field::X); [line 24, column 3]\n n$3=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 24, column 10]\n EXIT_SCOPE(n$3,x1); [line 24, column 10]\n " shape="box"] "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" ; @@ -19,11 +19,11 @@ 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 n$6=_fun___variable_initialization(&x1:copy_array_field::X) assign_last [line 22, column 3]\n n$5=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 22, column 5]\n EXIT_SCOPE(n$5,n$6); [line 22, column 5]\n " shape="box"] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:copy_array_field::X); [line 22, column 3]\n n$4=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 22, column 5]\n EXIT_SCOPE(n$4); [line 22, column 5]\n " shape="box"] "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_5" ; -"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_7" [label="7: DeclStmt \n n$7=_fun___variable_initialization(&a:int) assign_last [line 21, column 3]\n *&a:int=0 [line 21, column 3]\n EXIT_SCOPE(n$7); [line 21, column 3]\n " shape="box"] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 21, column 3]\n *&a:int=0 [line 21, column 3]\n " shape="box"] "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_7" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" ; @@ -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 n$4=_fun___variable_initialization(&x2:copy_array_field::X) assign_last [line 16, column 3]\n n$3=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 16, column 10]\n EXIT_SCOPE(n$3,n$4,x1); [line 16, column 10]\n " shape="box"] +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:copy_array_field::X); [line 16, column 3]\n n$3=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 16, column 10]\n EXIT_SCOPE(n$3,x1); [line 16, 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 n$6=_fun___variable_initialization(&x1:copy_array_field::X) assign_last [line 14, column 3]\n n$5=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 14, column 5]\n EXIT_SCOPE(n$5,n$6); [line 14, column 5]\n " shape="box"] +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:copy_array_field::X); [line 14, column 3]\n n$4=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 14, column 5]\n EXIT_SCOPE(n$4); [line 14, 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 650fd4a24..2d8376136 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 @@ -11,7 +11,7 @@ digraph cfg { "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 n$7=_fun___variable_initialization(&x2:copy_move_constructor::X) assign_last [line 42, column 3]\n n$6=_fun_copy_move_constructor::X::X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 42, column 10]\n EXIT_SCOPE(n$6,n$7); [line 42, column 10]\n " shape="box"] +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:copy_move_constructor::X); [line 42, column 3]\n n$6=_fun_copy_move_constructor::X::X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 42, column 10]\n EXIT_SCOPE(n$6); [line 42, column 10]\n " shape="box"] "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" ; @@ -19,7 +19,7 @@ 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 n$9=_fun___variable_initialization(&x1:copy_move_constructor::X) assign_last [line 40, column 3]\n n$8=_fun_copy_move_constructor::X::X(&x1:copy_move_constructor::X*) [line 40, column 5]\n EXIT_SCOPE(n$8,n$9); [line 40, column 5]\n " shape="box"] +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:copy_move_constructor::X); [line 40, column 3]\n n$7=_fun_copy_move_constructor::X::X(&x1:copy_move_constructor::X*) [line 40, column 5]\n EXIT_SCOPE(n$7); [line 40, column 5]\n " shape="box"] "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_5" ; @@ -34,15 +34,15 @@ digraph cfg { "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 n$12=_fun___variable_initialization(&d2:int) assign_last [line 68, column 3]\n n$10=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X) assign_last [line 68, column 16]\n n$9=_fun_copy_move_constructor::getX(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X*) assign_last [line 68, column 16]\n n$11=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 68, column 16]\n *&d2:int=(1 / n$11) [line 68, column 3]\n EXIT_SCOPE(n$9,n$10,n$11,n$12,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 68, column 3]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d2:int); [line 68, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X); [line 68, column 16]\n n$9=_fun_copy_move_constructor::getX(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X*) assign_last [line 68, column 16]\n n$10=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 68, column 16]\n *&d2:int=(1 / n$10) [line 68, column 3]\n EXIT_SCOPE(n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 68, 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$14=_fun___variable_initialization(&d1:int) assign_last [line 67, column 3]\n n$13=*&x2.f:int [line 67, column 16]\n *&d1:int=(1 / n$13) [line 67, column 3]\n EXIT_SCOPE(n$13,n$14); [line 67, column 3]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" [label="5: DeclStmt \n VARIABLE_DECLARED(d1:int); [line 67, column 3]\n n$11=*&x2.f:int [line 67, column 16]\n *&d1:int=(1 / n$11) [line 67, column 3]\n EXIT_SCOPE(n$11); [line 67, 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 n$16=_fun___variable_initialization(&x2:copy_move_constructor::X) assign_last [line 66, column 3]\n n$15=_fun_copy_move_constructor::X::X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 66, column 10]\n EXIT_SCOPE(n$15,n$16); [line 66, column 10]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2:copy_move_constructor::X); [line 66, column 3]\n n$12=_fun_copy_move_constructor::X::X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 66, column 10]\n EXIT_SCOPE(n$12); [line 66, 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 n$18=_fun___variable_initialization(&x1:copy_move_constructor::X) assign_last [line 64, column 3]\n n$17=_fun_copy_move_constructor::X::X(&x1:copy_move_constructor::X*) [line 64, column 5]\n EXIT_SCOPE(n$17,n$18); [line 64, column 5]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x1:copy_move_constructor::X); [line 64, column 3]\n n$13=_fun_copy_move_constructor::X::X(&x1:copy_move_constructor::X*) [line 64, column 5]\n EXIT_SCOPE(n$13); [line 64, column 5]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" ; @@ -65,7 +65,7 @@ digraph cfg { "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 n$7=_fun___variable_initialization(&y2:copy_move_constructor::Y) assign_last [line 51, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 51, column 10]\n EXIT_SCOPE(n$6,n$7); [line 51, column 10]\n " shape="box"] +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [line 51, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 51, column 10]\n EXIT_SCOPE(n$6); [line 51, column 10]\n " shape="box"] "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" ; @@ -73,7 +73,7 @@ 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 n$9=_fun___variable_initialization(&y1:copy_move_constructor::Y) assign_last [line 49, column 3]\n n$8=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*) [line 49, column 5]\n EXIT_SCOPE(n$8,n$9); [line 49, column 5]\n " shape="box"] +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 49, column 3]\n n$7=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*) [line 49, column 5]\n EXIT_SCOPE(n$7); [line 49, column 5]\n " shape="box"] "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_5" ; @@ -88,15 +88,15 @@ digraph cfg { "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 n$12=_fun___variable_initialization(&d2:int) assign_last [line 77, column 3]\n n$10=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y) assign_last [line 77, column 16]\n n$9=_fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) assign_last [line 77, column 16]\n n$11=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 77, column 16]\n *&d2:int=(1 / n$11) [line 77, column 3]\n EXIT_SCOPE(n$9,n$10,n$11,n$12,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 77, column 3]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d2:int); [line 77, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y); [line 77, column 16]\n n$9=_fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) assign_last [line 77, column 16]\n n$10=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 77, column 16]\n *&d2:int=(1 / n$10) [line 77, column 3]\n EXIT_SCOPE(n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 77, 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$14=_fun___variable_initialization(&d1:int) assign_last [line 76, column 3]\n n$13=*&y2.f:int [line 76, column 16]\n *&d1:int=(1 / n$13) [line 76, column 3]\n EXIT_SCOPE(n$13,n$14); [line 76, column 3]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" [label="5: DeclStmt \n VARIABLE_DECLARED(d1:int); [line 76, column 3]\n n$11=*&y2.f:int [line 76, column 16]\n *&d1:int=(1 / n$11) [line 76, column 3]\n EXIT_SCOPE(n$11); [line 76, 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 n$16=_fun___variable_initialization(&y2:copy_move_constructor::Y) assign_last [line 75, column 3]\n n$15=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 75, column 10]\n EXIT_SCOPE(n$15,n$16); [line 75, column 10]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [line 75, column 3]\n n$12=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 75, column 10]\n EXIT_SCOPE(n$12); [line 75, 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 n$18=_fun___variable_initialization(&y1:copy_move_constructor::Y) assign_last [line 73, column 3]\n n$17=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*) [line 73, column 5]\n EXIT_SCOPE(n$17,n$18); [line 73, column 5]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" [label="8: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 73, column 3]\n n$13=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*) [line 73, column 5]\n EXIT_SCOPE(n$13); [line 73, column 5]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" ; @@ -123,7 +123,7 @@ digraph cfg { "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_4" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_3" ; -"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&x:copy_move_constructor::X) assign_last [line 28, column 3]\n n$6=_fun_copy_move_constructor::X::X(&x:copy_move_constructor::X*) [line 28, column 5]\n EXIT_SCOPE(n$6,n$7); [line 28, column 5]\n " shape="box"] +"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:copy_move_constructor::X); [line 28, column 3]\n n$6=_fun_copy_move_constructor::X::X(&x:copy_move_constructor::X*) [line 28, column 5]\n EXIT_SCOPE(n$6); [line 28, column 5]\n " shape="box"] "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_5" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_4" ; @@ -142,7 +142,7 @@ digraph cfg { "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_4" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_3" ; -"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&y:copy_move_constructor::Y) assign_last [line 34, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y:copy_move_constructor::Y*) [line 34, column 5]\n EXIT_SCOPE(n$6,n$7); [line 34, column 5]\n " shape="box"] +"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:copy_move_constructor::Y); [line 34, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y:copy_move_constructor::Y*) [line 34, column 5]\n EXIT_SCOPE(n$6); [line 34, column 5]\n " shape="box"] "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_5" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_4" ; @@ -153,7 +153,7 @@ digraph cfg { "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_2" [label="2: Exit copy_move_constructor::moveX_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 46, column 42]\n " color=yellow style=filled] -"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X) assign_last [line 46, column 31]\n n$2=_fun_copy_move_constructor::getX(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X*) assign_last [line 46, column 31]\n n$4=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 46, column 31]\n *&return:int=(1 / n$4) [line 46, column 20]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 46, column 20]\n APPLY_ABSTRACTION; [line 46, column 20]\n " shape="box"] +"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X); [line 46, column 31]\n n$2=_fun_copy_move_constructor::getX(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X*) assign_last [line 46, column 31]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 46, column 31]\n *&return:int=(1 / n$3) [line 46, column 20]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 46, column 20]\n APPLY_ABSTRACTION; [line 46, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 55, column 42]\n " color=yellow style=filled] -"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y) assign_last [line 55, column 31]\n n$2=_fun_copy_move_constructor::getY(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y*) assign_last [line 55, column 31]\n n$4=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 55, column 31]\n *&return:int=(1 / n$4) [line 55, column 20]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 55, column 20]\n APPLY_ABSTRACTION; [line 55, column 20]\n " shape="box"] +"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y); [line 55, column 31]\n n$2=_fun_copy_move_constructor::getY(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y*) assign_last [line 55, column 31]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 55, column 31]\n *&return:int=(1 / n$3) [line 55, column 20]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 55, column 20]\n APPLY_ABSTRACTION; [line 55, 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$8:copy_move_constructor::Y const \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$7:copy_move_constructor::Y const \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 NULLIFY(&y2); [line 61, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$8); [line 61, column 1]\n NULLIFY(&y1); [line 61, column 1]\n " color=yellow style=filled] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_2" [label="2: Exit copy_move_constructor::moveY_moveY_copyY_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 61, column 1]\n NULLIFY(&y2); [line 61, column 1]\n NULLIFY(&y1); [line 61, column 1]\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 60, column 14]\n *&return:int=(1 / n$0) [line 60, column 3]\n _=*&y2:copy_move_constructor::Y [line 60, column 17]\n n$2=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 60, column 17]\n _=*&y1:copy_move_constructor::Y [line 60, column 17]\n n$4=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 60, column 17]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,y1,y2); [line 60, column 17]\n APPLY_ABSTRACTION; [line 60, 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 n$7=_fun___variable_initialization(&y2:copy_move_constructor::Y) assign_last [line 59, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 59, column 10]\n EXIT_SCOPE(n$6,n$7); [line 59, column 10]\n " shape="box"] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [line 59, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 59, column 10]\n EXIT_SCOPE(n$6); [line 59, 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 n$13=_fun___variable_initialization(&y1:copy_move_constructor::Y) assign_last [line 58, column 3]\n n$11=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$8:copy_move_constructor::Y const ) assign_last [line 58, column 10]\n n$10=_fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$8:copy_move_constructor::Y*) assign_last [line 58, column 10]\n n$12=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*,&0$?%__sil_tmpSIL_materialize_temp__n$8:copy_move_constructor::Y const &) [line 58, column 10]\n EXIT_SCOPE(n$10,n$11,n$12,n$13,0$?%__sil_tmpSIL_materialize_temp__n$8); [line 58, column 10]\n " shape="box"] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 58, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const ); [line 58, column 10]\n n$9=_fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) assign_last [line 58, column 10]\n n$10=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const &) [line 58, column 10]\n EXIT_SCOPE(n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 58, 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 69fcc9cec..cc90d645c 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 NULLIFY(&y); [line 23, column 20]\n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&y:Y) assign_last [line 23, column 15]\n n$1=_fun_Y::Y(&y:Y*) [line 23, column 17]\n EXIT_SCOPE(n$1,n$2,y); [line 23, column 17]\n APPLY_ABSTRACTION; [line 23, column 17]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(y:Y); [line 23, column 15]\n n$1=_fun_Y::Y(&y:Y*) [line 23, column 17]\n EXIT_SCOPE(n$1,y); [line 23, column 17]\n APPLY_ABSTRACTION; [line 23, column 17]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; 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 d84c9b4b8..86847cc38 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 NULLIFY(&x); [line 22, column 37]\n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n n$5=_fun___variable_initialization(&x:X) assign_last [line 22, column 14]\n n$2=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:int const [5*4] const ) assign_last [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1[0]:int=1 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1[1]:int=2 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1[2]:int=3 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1[3]:int=4 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1[4]:int=5 [line 22, column 20]\n n$3=_fun___infer_skip_function(&0$?%__sil_tmpSIL_materialize_temp__n$1:int const [5*4] const ) [line 22, column 20]\n n$4=_fun_X::X(&x:X*,n$3:std::initializer_list) [line 22, column 20]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 22, column 20]\n EXIT_SCOPE(n$2,n$3,n$4,n$5,x,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 22, column 20]\n APPLY_ABSTRACTION; [line 22, column 20]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(x:X); [line 22, column 14]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:int const [5*4] const ); [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1[0]:int=1 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1[1]:int=2 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1[2]:int=3 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1[3]:int=4 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1[4]:int=5 [line 22, column 20]\n n$2=_fun___infer_skip_function(&0$?%__sil_tmpSIL_materialize_temp__n$1:int const [5*4] const ) [line 22, column 20]\n n$3=_fun_X::X(&x:X*,n$2:std::initializer_list) [line 22, column 20]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 22, column 20]\n EXIT_SCOPE(n$2,n$3,x,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 22, column 20]\n APPLY_ABSTRACTION; [line 22, column 20]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -15,35 +15,35 @@ digraph cfg { "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_1" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_4" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_2" [label="2: Exit X::X \n NULLIFY(&i); [line 16, column 3]\n " color=yellow style=filled] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_2" [label="2: Exit X::X \n " color=yellow style=filled] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_3" [label="3: + \n " ] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_3" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_6" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&i:int const *) assign_last [line 13, column 10]\n n$1=*&list:std::initializer_list& [line 13, column 19]\n _=*n$1:std::initializer_list [line 13, column 19]\n n$3=_fun_std::initializer_list::begin(n$1:std::initializer_list&) [line 13, column 19]\n *&i:int const *=n$3 [line 13, column 10]\n EXIT_SCOPE(_,n$1,n$3,n$4); [line 13, column 10]\n APPLY_ABSTRACTION; [line 13, column 10]\n " shape="box"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int const *); [line 13, column 10]\n n$1=*&list:std::initializer_list& [line 13, column 19]\n _=*n$1:std::initializer_list [line 13, column 19]\n n$3=_fun_std::initializer_list::begin(n$1:std::initializer_list&) [line 13, column 19]\n *&i:int const *=n$3 [line 13, column 10]\n EXIT_SCOPE(_,n$1,n$3); [line 13, column 10]\n APPLY_ABSTRACTION; [line 13, column 10]\n " shape="box"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_4" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_3" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_5" [label="5: UnaryOperator \n n$5=*&i:int const * [line 13, column 50]\n *&i:int const *=(n$5 + 1) [line 13, column 50]\n EXIT_SCOPE(n$5); [line 13, column 50]\n APPLY_ABSTRACTION; [line 13, column 50]\n " shape="box"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_5" [label="5: UnaryOperator \n n$4=*&i:int const * [line 13, column 50]\n *&i:int const *=(n$4 + 1) [line 13, column 50]\n EXIT_SCOPE(n$4); [line 13, column 50]\n APPLY_ABSTRACTION; [line 13, column 50]\n " shape="box"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_5" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_3" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_6" [label="6: BinaryOperatorStmt: NE \n n$6=*&i:int const * [line 13, column 33]\n n$7=*&list:std::initializer_list& [line 13, column 38]\n _=*n$7:std::initializer_list [line 13, column 38]\n n$9=_fun_std::initializer_list::end(n$7:std::initializer_list&) [line 13, column 38]\n EXIT_SCOPE(_,n$7); [line 13, column 38]\n " shape="box"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_6" [label="6: BinaryOperatorStmt: NE \n n$5=*&i:int const * [line 13, column 33]\n n$6=*&list:std::initializer_list& [line 13, column 38]\n _=*n$6:std::initializer_list [line 13, column 38]\n n$8=_fun_std::initializer_list::end(n$6:std::initializer_list&) [line 13, column 38]\n EXIT_SCOPE(_,n$6); [line 13, column 38]\n " shape="box"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_6" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_7" ; "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_6" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_8" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_7" [label="7: Prune (true branch, for loop) \n PRUNE((n$6 != n$9), true); [line 13, column 33]\n EXIT_SCOPE(n$6,n$9); [line 13, column 33]\n " shape="invhouse"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_7" [label="7: Prune (true branch, for loop) \n PRUNE((n$5 != n$8), true); [line 13, column 33]\n EXIT_SCOPE(n$5,n$8); [line 13, column 33]\n " shape="invhouse"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_7" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_9" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_8" [label="8: Prune (false branch, for loop) \n PRUNE(!(n$6 != n$9), false); [line 13, column 33]\n EXIT_SCOPE(n$6,n$9,i); [line 13, column 33]\n APPLY_ABSTRACTION; [line 13, column 33]\n " shape="invhouse"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_8" [label="8: Prune (false branch, for loop) \n PRUNE(!(n$5 != n$8), false); [line 13, column 33]\n NULLIFY(&i); [line 13, column 33]\n EXIT_SCOPE(n$5,n$8,i); [line 13, column 33]\n APPLY_ABSTRACTION; [line 13, column 33]\n " shape="invhouse"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_8" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_2" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_9" [label="9: BinaryOperatorStmt: Assign \n n$11=*&this:X* [line 14, column 7]\n n$12=*&this:X* [line 14, column 13]\n n$13=*n$12.sum:int [line 14, column 13]\n n$14=*&i:int const * [line 14, column 20]\n n$15=*n$14:int [line 14, column 19]\n *n$11.sum:int=(n$13 + n$15) [line 14, column 7]\n EXIT_SCOPE(n$11,n$12,n$13,n$14,n$15); [line 14, column 7]\n " shape="box"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_9" [label="9: BinaryOperatorStmt: Assign \n n$10=*&this:X* [line 14, column 7]\n n$11=*&this:X* [line 14, column 13]\n n$12=*n$11.sum:int [line 14, column 13]\n n$13=*&i:int const * [line 14, column 20]\n n$14=*n$13:int [line 14, column 19]\n *n$10.sum:int=(n$12 + n$14) [line 14, column 7]\n EXIT_SCOPE(n$10,n$11,n$12,n$13,n$14); [line 14, column 7]\n " shape="box"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_9" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_5" ; 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 6d8ec275e..8ee6402c9 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot @@ -11,7 +11,7 @@ digraph cfg { "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 n$9=_fun___variable_initialization(&x:temp_object::X) assign_last [line 27, column 3]\n n$7=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const ) assign_last [line 27, column 9]\n n$6=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const *,0:int,1:int) [line 27, column 9]\n n$8=_fun_temp_object::X::X(&x:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const &) [line 27, column 9]\n EXIT_SCOPE(n$6,n$7,n$8,n$9,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 27, column 9]\n " shape="box"] +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:temp_object::X); [line 27, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const ); [line 27, column 9]\n n$6=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const *,0:int,1:int) [line 27, column 9]\n n$7=_fun_temp_object::X::X(&x:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const &) [line 27, column 9]\n EXIT_SCOPE(n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 27, 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(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_2" [label="2: Exit temp_object::getX \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 24, column 40]\n " color=yellow style=filled] -"getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" [label="3: Return Stmt \n n$0=*&__return_param:temp_object::X* [line 24, column 24]\n n$5=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const ) assign_last [line 24, column 31]\n n$2=*&a:int [line 24, column 33]\n n$3=*&b:int [line 24, 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 24, column 31]\n n$6=_fun_temp_object::X::X(n$0:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const &) [line 24, column 31]\n NULLIFY(&a); [line 24, column 31]\n NULLIFY(&b); [line 24, column 31]\n NULLIFY(&__return_param); [line 24, column 31]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,n$5,n$6,a,b,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 24, column 31]\n APPLY_ABSTRACTION; [line 24, column 31]\n " shape="box"] +"getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" [label="3: Return Stmt \n n$0=*&__return_param:temp_object::X* [line 24, column 24]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const ); [line 24, column 31]\n n$2=*&a:int [line 24, column 33]\n n$3=*&b:int [line 24, 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 24, 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 24, column 31]\n NULLIFY(&a); [line 24, column 31]\n NULLIFY(&b); [line 24, column 31]\n NULLIFY(&__return_param); [line 24, column 31]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,n$5,a,b,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 24, column 31]\n APPLY_ABSTRACTION; [line 24, column 31]\n " shape="box"] "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" -> "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_2" ; @@ -44,7 +44,7 @@ digraph cfg { "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_2" [label="2: Exit temp_object::getX_field_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 37, column 51]\n " color=yellow style=filled] -"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X) assign_last [line 37, column 36]\n n$2=_fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 37, column 36]\n n$4=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 37, column 36]\n n$5=_fun_temp_object::div(n$4:int) [line 37, column 32]\n *&return:int=n$5 [line 37, column 25]\n EXIT_SCOPE(n$2,n$3,n$4,n$5,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 37, column 25]\n APPLY_ABSTRACTION; [line 37, column 25]\n " shape="box"] +"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 37, column 36]\n n$2=_fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 37, column 36]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 37, column 36]\n n$4=_fun_temp_object::div(n$3:int) [line 37, column 32]\n *&return:int=n$4 [line 37, column 25]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 37, column 25]\n APPLY_ABSTRACTION; [line 37, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 43, column 51]\n " color=yellow style=filled] -"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X) assign_last [line 43, column 36]\n n$2=_fun_temp_object::getX(1:int,0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 43, column 36]\n n$4=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 43, column 36]\n n$5=_fun_temp_object::div(n$4:int) [line 43, column 32]\n *&return:int=n$5 [line 43, column 25]\n EXIT_SCOPE(n$2,n$3,n$4,n$5,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 43, column 25]\n APPLY_ABSTRACTION; [line 43, column 25]\n " shape="box"] +"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 43, column 36]\n n$2=_fun_temp_object::getX(1:int,0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 43, column 36]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 43, column 36]\n n$4=_fun_temp_object::div(n$3:int) [line 43, column 32]\n *&return:int=n$4 [line 43, column 25]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 43, column 25]\n APPLY_ABSTRACTION; [line 43, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 39, column 51]\n " color=yellow style=filled] -"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X) assign_last [line 39, column 33]\n n$2=_fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 39, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 39, column 33]\n n$5=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 39, column 33]\n *&return:int=n$5 [line 39, column 26]\n EXIT_SCOPE(_,n$2,n$3,n$5,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 39, column 26]\n APPLY_ABSTRACTION; [line 39, column 26]\n " shape="box"] +"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 39, column 33]\n n$2=_fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 39, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 39, column 33]\n n$4=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 39, column 33]\n *&return:int=n$4 [line 39, column 26]\n EXIT_SCOPE(_,n$2,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 39, column 26]\n APPLY_ABSTRACTION; [line 39, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 33, column 46]\n " color=yellow style=filled] -"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_3" [label="3: Return Stmt \n n$2=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X) assign_last [line 33, column 37]\n n$1=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int) [line 33, column 37]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 33, column 37]\n n$4=_fun_temp_object::div(n$3:int) [line 33, column 33]\n *&return:int=n$4 [line 33, column 26]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 33, column 26]\n APPLY_ABSTRACTION; [line 33, column 26]\n " shape="box"] +"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 33, column 37]\n n$1=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int) [line 33, column 37]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 33, column 37]\n n$3=_fun_temp_object::div(n$2:int) [line 33, column 33]\n *&return:int=n$3 [line 33, column 26]\n EXIT_SCOPE(n$1,n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 33, column 26]\n APPLY_ABSTRACTION; [line 33, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 31, column 48]\n " color=yellow style=filled] -"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_3" [label="3: Return Stmt \n n$2=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X) assign_last [line 31, column 36]\n n$1=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 31, column 36]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 31, column 36]\n n$4=_fun_temp_object::div(n$3:int) [line 31, column 32]\n *&return:int=n$4 [line 31, column 25]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 31, column 25]\n APPLY_ABSTRACTION; [line 31, column 25]\n " shape="box"] +"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 31, column 36]\n n$1=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 31, column 36]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 31, column 36]\n n$3=_fun_temp_object::div(n$2:int) [line 31, column 32]\n *&return:int=n$3 [line 31, column 25]\n EXIT_SCOPE(n$1,n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 31, column 25]\n APPLY_ABSTRACTION; [line 31, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 41, column 48]\n " color=yellow style=filled] -"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_3" [label="3: Return Stmt \n n$2=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X) assign_last [line 41, column 36]\n n$1=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,1:int,0:int) [line 41, column 36]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 41, column 36]\n n$4=_fun_temp_object::div(n$3:int) [line 41, column 32]\n *&return:int=n$4 [line 41, column 25]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 41, column 25]\n APPLY_ABSTRACTION; [line 41, column 25]\n " shape="box"] +"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 41, column 36]\n n$1=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,1:int,0:int) [line 41, column 36]\n n$2=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 41, column 36]\n n$3=_fun_temp_object::div(n$2:int) [line 41, column 32]\n *&return:int=n$3 [line 41, column 25]\n EXIT_SCOPE(n$1,n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 41, column 25]\n APPLY_ABSTRACTION; [line 41, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 48]\n " color=yellow style=filled] -"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" [label="3: Return Stmt \n n$2=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X) assign_last [line 35, column 33]\n n$1=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 35, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 35, column 33]\n n$4=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 35, column 33]\n *&return:int=n$4 [line 35, column 26]\n EXIT_SCOPE(_,n$1,n$2,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 26]\n APPLY_ABSTRACTION; [line 35, column 26]\n " shape="box"] +"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 35, column 33]\n n$1=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 35, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 35, column 33]\n n$3=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 35, column 33]\n *&return:int=n$3 [line 35, column 26]\n EXIT_SCOPE(_,n$1,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 26]\n APPLY_ABSTRACTION; [line 35, 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 95b3e71eb..968f51f23 100644 --- a/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot @@ -11,12 +11,12 @@ digraph cfg { "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_2" ; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" [label="4: ObjCCPPThrow \n n$7=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$5:std::runtime_error const ) assign_last [line 48, column 11]\n n$6=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$5:std::runtime_error const *,\"error\":char const *) [line 48, column 11]\n n$8=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$5:std::runtime_error const &) [line 48, column 11]\n n$9=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error) [line 48, column 5]\n EXIT_SCOPE(n$6,n$7,n$8,n$9,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 48, column 5]\n APPLY_ABSTRACTION; [line 48, column 5]\n " shape="box"] +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" [label="4: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:std::runtime_error const ); [line 48, column 11]\n n$6=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$5:std::runtime_error const *,\"error\":char const *) [line 48, column 11]\n n$7=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$5:std::runtime_error const &) [line 48, column 11]\n n$8=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error) [line 48, column 5]\n EXIT_SCOPE(n$6,n$7,n$8,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 48, column 5]\n APPLY_ABSTRACTION; [line 48, column 5]\n " shape="box"] "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" ; "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" [color="red" ]; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" [label="5: BinaryOperatorStmt: Assign \n n$10=*&i:int* [line 47, column 6]\n *n$10:int=2 [line 47, column 5]\n EXIT_SCOPE(n$10); [line 47, column 5]\n " shape="box"] +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" [label="5: BinaryOperatorStmt: Assign \n n$9=*&i:int* [line 47, column 6]\n *n$9:int=2 [line 47, column 5]\n EXIT_SCOPE(n$9); [line 47, column 5]\n " shape="box"] "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" ; @@ -28,34 +28,34 @@ digraph cfg { "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_1" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_6" ; -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" [label="2: Exit FN_deref_null_in_catch_bad \n NULLIFY(&0$?%__sil_tmp__temp_construct_n$2); [line 43, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 43, column 1]\n NULLIFY(&i); [line 43, column 1]\n " color=yellow style=filled] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" [label="2: Exit FN_deref_null_in_catch_bad \n NULLIFY(&0$?%__sil_tmp__temp_construct_n$2); [line 43, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 43, column 1]\n " color=yellow style=filled] -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_3" [label="3: Return Stmt \n *&return:int=0 [line 42, column 3]\n EXIT_SCOPE(i); [line 42, column 3]\n APPLY_ABSTRACTION; [line 42, column 3]\n " shape="box"] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_3" [label="3: Return Stmt \n *&return:int=0 [line 42, column 3]\n NULLIFY(&i); [line 42, column 3]\n EXIT_SCOPE(i); [line 42, column 3]\n APPLY_ABSTRACTION; [line 42, column 3]\n " shape="box"] "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_3" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" ; -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" [label="4: ObjCCPPThrow \n n$5=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$3:std::runtime_error const ) assign_last [line 38, column 11]\n n$4=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$3:std::runtime_error const *,\"error\":char const *) [line 38, column 11]\n n$6=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$2:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$3:std::runtime_error const &) [line 38, column 11]\n n$7=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$2:std::runtime_error) [line 38, column 5]\n EXIT_SCOPE(n$4,n$5,n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$3); [line 38, column 5]\n " shape="box"] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" [label="4: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:std::runtime_error const ); [line 38, column 11]\n n$4=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$3:std::runtime_error const *,\"error\":char const *) [line 38, column 11]\n n$5=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$2:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$3:std::runtime_error const &) [line 38, column 11]\n n$6=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$2:std::runtime_error) [line 38, column 5]\n EXIT_SCOPE(n$4,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$3); [line 38, column 5]\n " shape="box"] "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_3" ; "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_5" [color="red" ]; -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_5" [label="5: Return Stmt \n n$9=*&i:int* [line 40, column 13]\n n$10=*n$9:int [line 40, column 12]\n *&return:int=n$10 [line 40, column 5]\n EXIT_SCOPE(n$9,n$10,i); [line 40, column 5]\n APPLY_ABSTRACTION; [line 40, column 5]\n " shape="box"] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_5" [label="5: Return Stmt \n n$8=*&i:int* [line 40, column 13]\n n$9=*n$8:int [line 40, column 12]\n *&return:int=n$9 [line 40, column 5]\n NULLIFY(&i); [line 40, column 5]\n EXIT_SCOPE(n$8,n$9,i); [line 40, column 5]\n APPLY_ABSTRACTION; [line 40, column 5]\n " shape="box"] "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_5" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" ; -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_6" [label="6: DeclStmt \n n$12=_fun___variable_initialization(&i:int*) assign_last [line 36, column 3]\n *&i:int*=null [line 36, column 3]\n EXIT_SCOPE(n$12); [line 36, column 3]\n " shape="box"] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_6" [label="6: DeclStmt \n VARIABLE_DECLARED(i:int*); [line 36, column 3]\n *&i:int*=null [line 36, column 3]\n " shape="box"] "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_6" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_1" [label="1: Start FN_multiple_catches_bad\nFormals: b:_Bool\nLocals: 0$?%__sil_tmp__temp_construct_n$4:std::length_error 0$?%__sil_tmpSIL_materialize_temp__n$5:std::length_error const 0$?%__sil_tmp__temp_construct_n$11:std::range_error 0$?%__sil_tmpSIL_materialize_temp__n$12:std::range_error const j:int* i:int* \n " color=yellow style=filled] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_1" [label="1: Start FN_multiple_catches_bad\nFormals: b:_Bool\nLocals: 0$?%__sil_tmp__temp_construct_n$4:std::length_error 0$?%__sil_tmpSIL_materialize_temp__n$5:std::length_error const 0$?%__sil_tmp__temp_construct_n$10:std::range_error 0$?%__sil_tmpSIL_materialize_temp__n$11:std::range_error const j:int* i:int* \n " color=yellow style=filled] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_1" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_12" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" [label="2: Exit FN_multiple_catches_bad \n NULLIFY(&j); [line 70, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$11); [line 70, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$4); [line 70, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$12); [line 70, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 70, column 1]\n NULLIFY(&i); [line 70, column 1]\n " color=yellow style=filled] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" [label="2: Exit FN_multiple_catches_bad \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$11); [line 70, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$4); [line 70, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 70, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$10); [line 70, column 1]\n " color=yellow style=filled] -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_3" [label="3: Return Stmt \n *&return:int=0 [line 69, column 3]\n EXIT_SCOPE(i,j); [line 69, column 3]\n APPLY_ABSTRACTION; [line 69, column 3]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_3" [label="3: Return Stmt \n *&return:int=0 [line 69, column 3]\n NULLIFY(&i); [line 69, column 3]\n NULLIFY(&j); [line 69, column 3]\n EXIT_SCOPE(i,j); [line 69, column 3]\n APPLY_ABSTRACTION; [line 69, column 3]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_3" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" ; @@ -73,28 +73,28 @@ digraph cfg { "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_6" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_8" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_7" [label="7: ObjCCPPThrow \n n$7=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$5:std::length_error const ) assign_last [line 60, column 13]\n n$6=_fun_std::length_error::length_error(&0$?%__sil_tmpSIL_materialize_temp__n$5:std::length_error const *,\"error\":char const *) [line 60, column 13]\n n$8=_fun_std::length_error::length_error(&0$?%__sil_tmp__temp_construct_n$4:std::length_error*,&0$?%__sil_tmpSIL_materialize_temp__n$5:std::length_error const &) [line 60, column 13]\n n$9=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$4:std::length_error) [line 60, column 7]\n EXIT_SCOPE(n$6,n$7,n$8,n$9,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 60, column 7]\n APPLY_ABSTRACTION; [line 60, column 7]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_7" [label="7: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:std::length_error const ); [line 60, column 13]\n n$6=_fun_std::length_error::length_error(&0$?%__sil_tmpSIL_materialize_temp__n$5:std::length_error const *,\"error\":char const *) [line 60, column 13]\n n$7=_fun_std::length_error::length_error(&0$?%__sil_tmp__temp_construct_n$4:std::length_error*,&0$?%__sil_tmpSIL_materialize_temp__n$5:std::length_error const &) [line 60, column 13]\n n$8=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$4:std::length_error) [line 60, column 7]\n EXIT_SCOPE(n$6,n$7,n$8,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 60, column 7]\n APPLY_ABSTRACTION; [line 60, column 7]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_7" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_8" [label="8: ObjCCPPThrow \n n$14=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$12:std::range_error const ) assign_last [line 62, column 13]\n n$13=_fun_std::range_error::range_error(&0$?%__sil_tmpSIL_materialize_temp__n$12:std::range_error const *,\"error\":char const *) [line 62, column 13]\n n$15=_fun_std::range_error::range_error(&0$?%__sil_tmp__temp_construct_n$11:std::range_error*,&0$?%__sil_tmpSIL_materialize_temp__n$12:std::range_error const &) [line 62, column 13]\n n$16=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$11:std::range_error) [line 62, column 7]\n EXIT_SCOPE(n$13,n$14,n$15,n$16,0$?%__sil_tmpSIL_materialize_temp__n$12); [line 62, column 7]\n APPLY_ABSTRACTION; [line 62, column 7]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_8" [label="8: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$11:std::range_error const ); [line 62, column 13]\n n$12=_fun_std::range_error::range_error(&0$?%__sil_tmpSIL_materialize_temp__n$11:std::range_error const *,\"error\":char const *) [line 62, column 13]\n n$13=_fun_std::range_error::range_error(&0$?%__sil_tmp__temp_construct_n$10:std::range_error*,&0$?%__sil_tmpSIL_materialize_temp__n$11:std::range_error const &) [line 62, column 13]\n n$14=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$10:std::range_error) [line 62, column 7]\n EXIT_SCOPE(n$12,n$13,n$14,0$?%__sil_tmpSIL_materialize_temp__n$11); [line 62, column 7]\n APPLY_ABSTRACTION; [line 62, column 7]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_8" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_9" [label="9: Return Stmt \n n$19=*&i:int* [line 65, column 13]\n n$20=*n$19:int [line 65, column 12]\n *&return:int=n$20 [line 65, column 5]\n EXIT_SCOPE(n$19,n$20,i,j); [line 65, column 5]\n APPLY_ABSTRACTION; [line 65, column 5]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_9" [label="9: Return Stmt \n n$17=*&i:int* [line 65, column 13]\n n$18=*n$17:int [line 65, column 12]\n *&return:int=n$18 [line 65, column 5]\n NULLIFY(&i); [line 65, column 5]\n NULLIFY(&j); [line 65, column 5]\n EXIT_SCOPE(n$17,n$18,i,j); [line 65, column 5]\n APPLY_ABSTRACTION; [line 65, column 5]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_9" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_10" [label="10: Return Stmt \n n$23=*&j:int* [line 67, column 13]\n n$24=*n$23:int [line 67, column 12]\n *&return:int=n$24 [line 67, column 5]\n EXIT_SCOPE(n$23,n$24,i,j); [line 67, column 5]\n APPLY_ABSTRACTION; [line 67, column 5]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_10" [label="10: Return Stmt \n n$21=*&j:int* [line 67, column 13]\n n$22=*n$21:int [line 67, column 12]\n *&return:int=n$22 [line 67, column 5]\n NULLIFY(&i); [line 67, column 5]\n NULLIFY(&j); [line 67, column 5]\n EXIT_SCOPE(n$21,n$22,i,j); [line 67, column 5]\n APPLY_ABSTRACTION; [line 67, column 5]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_10" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_11" [label="11: DeclStmt \n n$26=_fun___variable_initialization(&j:int*) assign_last [line 57, column 3]\n *&j:int*=null [line 57, column 3]\n EXIT_SCOPE(n$26); [line 57, column 3]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_11" [label="11: DeclStmt \n VARIABLE_DECLARED(j:int*); [line 57, column 3]\n *&j:int*=null [line 57, column 3]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_11" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_5" ; "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_11" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_6" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_12" [label="12: DeclStmt \n n$27=_fun___variable_initialization(&i:int*) assign_last [line 56, column 3]\n *&i:int*=null [line 56, column 3]\n EXIT_SCOPE(n$27); [line 56, column 3]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_12" [label="12: DeclStmt \n VARIABLE_DECLARED(i:int*); [line 56, column 3]\n *&i:int*=null [line 56, column 3]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_12" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_11" ; @@ -105,7 +105,7 @@ digraph cfg { "basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_2" [label="2: Exit basic_throw_ok \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 27, column 64]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$1); [line 27, column 64]\n " color=yellow style=filled] -"basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_3" [label="3: ObjCCPPThrow \n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const ) assign_last [line 27, column 31]\n n$3=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *,\"throwing!\":char const *) [line 27, column 31]\n n$5=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$1:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const &) [line 27, column 31]\n n$6=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$1:std::runtime_error) [line 27, column 25]\n EXIT_SCOPE(n$3,n$4,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$2); [line 27, column 25]\n APPLY_ABSTRACTION; [line 27, column 25]\n " shape="box"] +"basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_3" [label="3: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const ); [line 27, column 31]\n n$3=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *,\"throwing!\":char const *) [line 27, column 31]\n n$4=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$1:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const &) [line 27, column 31]\n n$5=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$1:std::runtime_error) [line 27, column 25]\n EXIT_SCOPE(n$3,n$4,n$5,0$?%__sil_tmpSIL_materialize_temp__n$2); [line 27, column 25]\n APPLY_ABSTRACTION; [line 27, column 25]\n " shape="box"] "basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_3" -> "basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_2" ; @@ -124,18 +124,18 @@ digraph cfg { "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_1" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" ; -"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_2" [label="2: Exit dead_deref_null_after_throw_ok \n NULLIFY(&0$?%__sil_tmp__temp_construct_n$3); [line 33, column 1]\n NULLIFY(&i); [line 33, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 33, column 1]\n " color=yellow style=filled] +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_2" [label="2: Exit dead_deref_null_after_throw_ok \n NULLIFY(&0$?%__sil_tmp__temp_construct_n$3); [line 33, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 33, column 1]\n " color=yellow style=filled] -"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_3" [label="3: Return Stmt \n n$0=*&i:int* [line 32, column 11]\n n$1=*n$0:int [line 32, column 10]\n *&return:int=n$1 [line 32, column 3]\n EXIT_SCOPE(n$0,n$1,i); [line 32, column 3]\n APPLY_ABSTRACTION; [line 32, column 3]\n " shape="box"] +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_3" [label="3: Return Stmt \n n$0=*&i:int* [line 32, column 11]\n n$1=*n$0:int [line 32, column 10]\n *&return:int=n$1 [line 32, column 3]\n NULLIFY(&i); [line 32, column 3]\n EXIT_SCOPE(n$0,n$1,i); [line 32, column 3]\n APPLY_ABSTRACTION; [line 32, column 3]\n " shape="box"] "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_3" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_2" ; -"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" [label="4: ObjCCPPThrow \n n$6=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$4:std::runtime_error const ) assign_last [line 31, column 9]\n n$5=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$4:std::runtime_error const *,\"throwing!\":char const *) [line 31, column 9]\n n$7=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$3:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$4:std::runtime_error const &) [line 31, column 9]\n n$8=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$3:std::runtime_error) [line 31, column 3]\n EXIT_SCOPE(n$5,n$6,n$7,n$8,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 31, column 3]\n " shape="box"] +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" [label="4: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:std::runtime_error const ); [line 31, column 9]\n n$5=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$4:std::runtime_error const *,\"throwing!\":char const *) [line 31, column 9]\n n$6=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$3:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$4:std::runtime_error const &) [line 31, column 9]\n n$7=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$3:std::runtime_error) [line 31, column 3]\n EXIT_SCOPE(n$5,n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 31, column 3]\n " shape="box"] "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_3" ; -"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" [label="5: DeclStmt \n n$9=_fun___variable_initialization(&i:int*) assign_last [line 30, column 3]\n *&i:int*=null [line 30, column 3]\n EXIT_SCOPE(n$9); [line 30, column 3]\n " shape="box"] +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int*); [line 30, column 3]\n *&i:int*=null [line 30, column 3]\n " shape="box"] "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot index 544e905d3..ca8fbd1be 100644 --- a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot @@ -11,7 +11,7 @@ digraph cfg { "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_2" ; -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" [label="4: DeclStmt \n n$8=_fun___variable_initialization(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15) assign_last [line 9, column 3]\n n$6=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15) assign_last [line 9, column 15]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15=(_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::operator()) [line 9, column 15]\n n$7=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15*,&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15&) [line 9, column 15]\n EXIT_SCOPE(n$6,n$7,n$8,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 9, column 15]\n " shape="box"] +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" [label="4: DeclStmt \n VARIABLE_DECLARED(func:bar::lambda_shared_lambda_lambda1.cpp:9:15); [line 9, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15); [line 9, column 15]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15=(_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::operator()) [line 9, column 15]\n n$6=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15*,&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15&) [line 9, column 15]\n EXIT_SCOPE(n$6,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 9, column 15]\n " shape="box"] "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" ; @@ -26,30 +26,30 @@ 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:36:3::operator() \n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$3:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3) assign_last [line 36, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3=(_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator(),&x) [line 36, column 3]\n n$5=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$3:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3&) [line 36, column 3]\n EXIT_SCOPE(n$4,n$5,0$?%__sil_tmpSIL_materialize_temp__n$3); [line 36, column 3]\n " shape="box"] +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" [label="4: Call _fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator() \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3); [line 36, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3=(_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator(),&x) [line 36, column 3]\n n$4=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$3:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3&) [line 36, column 3]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_materialize_temp__n$3); [line 36, column 3]\n " shape="box"] "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" ; -"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_5" [label="5: DeclStmt \n n$6=_fun___variable_initialization(&x:int) assign_last [line 35, column 3]\n *&x:int=0 [line 35, column 3]\n EXIT_SCOPE(n$6); [line 35, column 3]\n " shape="box"] +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 35, column 3]\n *&x:int=0 [line 35, column 3]\n " shape="box"] "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:18:12 0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12 unused:foo::lambda_shared_lambda_lambda1.cpp:17:17 0$?%__sil_tmpSIL_materialize_temp__n$11:foo::lambda_shared_lambda_lambda1.cpp:17:17 \n " color=yellow style=filled] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_1" [label="1: Start foo\nFormals: \nLocals: y:foo::lambda_shared_lambda_lambda1.cpp:18:12 0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12 unused:foo::lambda_shared_lambda_lambda1.cpp:17:17 0$?%__sil_tmpSIL_materialize_temp__n$9:foo::lambda_shared_lambda_lambda1.cpp:17:17 \n " color=yellow style=filled] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_1" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" [label="2: Exit foo \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 20, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$11); [line 20, column 1]\n NULLIFY(&unused); [line 20, column 1]\n NULLIFY(&y); [line 20, column 1]\n " color=yellow style=filled] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" [label="2: Exit foo \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 20, column 1]\n NULLIFY(&unused); [line 20, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$9); [line 20, column 1]\n NULLIFY(&y); [line 20, column 1]\n " color=yellow style=filled] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" [label="3: Return Stmt \n n$1=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::operator()(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12&,3:int) [line 19, column 19]\n *&return:int=(5 / (4 - n$1)) [line 19, column 3]\n _=*&y:foo::lambda_shared_lambda_lambda1.cpp:18:12 [line 19, column 23]\n n$3=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::~(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12*) injected [line 19, column 23]\n _=*&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17 [line 19, column 23]\n n$5=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::~(&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17*) injected [line 19, column 23]\n EXIT_SCOPE(_,_,n$1,n$3,n$5,y,unused); [line 19, column 23]\n APPLY_ABSTRACTION; [line 19, column 23]\n " shape="box"] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" [label="4: DeclStmt \n n$10=_fun___variable_initialization(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12) assign_last [line 18, column 3]\n n$8=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12) assign_last [line 18, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12=(_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::operator()) [line 18, column 12]\n n$9=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12&) [line 18, column 12]\n EXIT_SCOPE(n$8,n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 18, column 12]\n " shape="box"] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:foo::lambda_shared_lambda_lambda1.cpp:18:12); [line 18, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12); [line 18, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12=(_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::operator()) [line 18, column 12]\n n$8=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12&) [line 18, column 12]\n EXIT_SCOPE(n$8,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 18, column 12]\n " shape="box"] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" [label="5: DeclStmt \n n$14=_fun___variable_initialization(&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17) assign_last [line 17, column 3]\n n$12=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$11:foo::lambda_shared_lambda_lambda1.cpp:17:17) assign_last [line 17, column 17]\n *&0$?%__sil_tmpSIL_materialize_temp__n$11:foo::lambda_shared_lambda_lambda1.cpp:17:17=(_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::operator()) [line 17, column 17]\n n$13=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::(&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17*,&0$?%__sil_tmpSIL_materialize_temp__n$11:foo::lambda_shared_lambda_lambda1.cpp:17:17&) [line 17, column 17]\n EXIT_SCOPE(n$12,n$13,n$14,0$?%__sil_tmpSIL_materialize_temp__n$11); [line 17, column 17]\n " shape="box"] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(unused:foo::lambda_shared_lambda_lambda1.cpp:17:17); [line 17, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:foo::lambda_shared_lambda_lambda1.cpp:17:17); [line 17, column 17]\n *&0$?%__sil_tmpSIL_materialize_temp__n$9:foo::lambda_shared_lambda_lambda1.cpp:17:17=(_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::operator()) [line 17, column 17]\n n$10=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::(&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17*,&0$?%__sil_tmpSIL_materialize_temp__n$9:foo::lambda_shared_lambda_lambda1.cpp:17:17&) [line 17, column 17]\n EXIT_SCOPE(n$10,0$?%__sil_tmpSIL_materialize_temp__n$9); [line 17, column 17]\n " shape="box"] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" ; @@ -64,7 +64,7 @@ digraph cfg { "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_2" ; -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" [label="4: DeclStmt \n n$8=_fun___variable_initialization(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12) assign_last [line 24, column 3]\n n$6=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12) assign_last [line 24, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12=(_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::operator()) [line 24, column 12]\n n$7=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*,&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&) [line 24, column 12]\n EXIT_SCOPE(n$6,n$7,n$8,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 24, column 12]\n " shape="box"] +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12); [line 24, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12); [line 24, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12=(_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::operator()) [line 24, column 12]\n n$6=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*,&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&) [line 24, column 12]\n EXIT_SCOPE(n$6,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 24, column 12]\n " shape="box"] "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" ; @@ -75,11 +75,11 @@ digraph cfg { "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_2" [label="2: Exit init_capture1 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 42, column 1]\n " color=yellow style=filled] -"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&i:int) assign_last [line 41, column 10]\n *&i:int=0 [line 41, column 10]\n EXIT_SCOPE(n$2); [line 41, column 10]\n " shape="box"] +"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_3" [label="3: DeclStmt \n VARIABLE_DECLARED(i:int); [line 41, column 10]\n *&i:int=0 [line 41, column 10]\n " shape="box"] "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_3" -> "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_4" ; -"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_4" [label="4: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10) assign_last [line 41, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10=(_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator(),&i) [line 41, column 10]\n n$4=_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10&) [line 41, column 10]\n *&return:int=n$4 [line 41, column 3]\n NULLIFY(&i); [line 41, column 3]\n EXIT_SCOPE(n$3,n$4,i,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] +"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_4" [label="4: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10); [line 41, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10=(_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator(),&i) [line 41, column 10]\n n$2=_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10&) [line 41, column 10]\n *&return:int=n$2 [line 41, column 3]\n NULLIFY(&i); [line 41, column 3]\n EXIT_SCOPE(n$2,i,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_4" -> "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_2" ; @@ -90,23 +90,23 @@ digraph cfg { "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_2" [label="2: Exit init_capture2 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 47, column 1]\n " color=yellow style=filled] -"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&c:int) assign_last [line 46, column 10]\n *&c:int=3 [line 46, column 10]\n EXIT_SCOPE(n$2); [line 46, column 10]\n " shape="box"] +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 46, column 10]\n *&c:int=3 [line 46, column 10]\n " shape="box"] "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_3" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_6" ; -"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&b:int) assign_last [line 46, column 10]\n *&b:int=0 [line 46, column 10]\n EXIT_SCOPE(n$3); [line 46, column 10]\n " shape="box"] +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:int); [line 46, column 10]\n *&b:int=0 [line 46, column 10]\n " shape="box"] "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_4" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_3" ; -"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&a:int) assign_last [line 46, column 10]\n n$4=*&i:int [line 46, column 15]\n *&a:int=n$4 [line 46, column 10]\n NULLIFY(&i); [line 46, column 10]\n EXIT_SCOPE(n$4,n$5,i); [line 46, column 10]\n " shape="box"] +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 46, column 10]\n n$2=*&i:int [line 46, column 15]\n *&a:int=n$2 [line 46, column 10]\n NULLIFY(&i); [line 46, column 10]\n EXIT_SCOPE(n$2,i); [line 46, column 10]\n " shape="box"] "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_5" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_4" ; -"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_6" [label="6: Return Stmt \n n$6=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10) assign_last [line 46, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10=(_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator(),&a,&b,&c) [line 46, column 10]\n n$7=_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10&) [line 46, column 10]\n *&return:int=n$7 [line 46, column 3]\n NULLIFY(&a); [line 46, column 3]\n NULLIFY(&b); [line 46, column 3]\n NULLIFY(&c); [line 46, column 3]\n EXIT_SCOPE(n$6,n$7,a,b,c,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 46, column 3]\n APPLY_ABSTRACTION; [line 46, column 3]\n " shape="box"] +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_6" [label="6: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10); [line 46, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10=(_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator(),&a,&b,&c) [line 46, column 10]\n n$3=_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$1:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10&) [line 46, column 10]\n *&return:int=n$3 [line 46, column 3]\n NULLIFY(&a); [line 46, column 3]\n NULLIFY(&b); [line 46, column 3]\n NULLIFY(&c); [line 46, column 3]\n EXIT_SCOPE(n$3,a,b,c,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 46, column 3]\n APPLY_ABSTRACTION; [line 46, column 3]\n " shape="box"] "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_6" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_2" ; -"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_7" [label="7: DeclStmt \n n$9=_fun___variable_initialization(&i:int) assign_last [line 45, column 3]\n *&i:int=0 [line 45, column 3]\n EXIT_SCOPE(n$9); [line 45, column 3]\n " shape="box"] +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_7" [label="7: DeclStmt \n VARIABLE_DECLARED(i:int); [line 45, column 3]\n *&i:int=0 [line 45, column 3]\n " shape="box"] "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_7" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_5" ; @@ -117,15 +117,15 @@ digraph cfg { "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_2" [label="2: Exit normal_capture \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 32, column 1]\n " color=yellow style=filled] -"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_3" [label="3: Return Stmt \n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10) assign_last [line 31, column 10]\n n$3=*&x:int [line 31, column 10]\n n$2=*&y:int [line 31, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10=(_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator(),(n$3 &x:int),(n$2 &y:int)) [line 31, column 10]\n n$5=_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$1:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10&) [line 31, column 10]\n *&return:int=n$5 [line 31, column 3]\n NULLIFY(&y); [line 31, column 3]\n NULLIFY(&x); [line 31, column 3]\n EXIT_SCOPE(n$2,n$3,n$4,n$5,y,0$?%__sil_tmpSIL_materialize_temp__n$1,x); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] +"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10); [line 31, column 10]\n n$3=*&x:int [line 31, column 10]\n n$2=*&y:int [line 31, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10=(_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator(),(n$3 &x:int),(n$2 &y:int)) [line 31, column 10]\n n$4=_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$1:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10&) [line 31, column 10]\n *&return:int=n$4 [line 31, column 3]\n NULLIFY(&y); [line 31, column 3]\n NULLIFY(&x); [line 31, column 3]\n EXIT_SCOPE(n$2,n$3,n$4,y,0$?%__sil_tmpSIL_materialize_temp__n$1,x); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_3" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_2" ; -"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_4" [label="4: DeclStmt \n n$7=_fun___variable_initialization(&y:int) assign_last [line 30, column 3]\n *&y:int=2 [line 30, column 3]\n EXIT_SCOPE(n$7); [line 30, column 3]\n " shape="box"] +"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:int); [line 30, column 3]\n *&y:int=2 [line 30, column 3]\n " shape="box"] "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_4" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_3" ; -"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_5" [label="5: DeclStmt \n n$8=_fun___variable_initialization(&x:int) assign_last [line 29, column 3]\n *&x:int=1 [line 29, column 3]\n EXIT_SCOPE(n$8); [line 29, column 3]\n " shape="box"] +"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 29, column 3]\n *&x:int=1 [line 29, column 3]\n " shape="box"] "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_5" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_4" ; @@ -140,15 +140,15 @@ digraph cfg { "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_2" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" [label="4: DeclStmt \n n$14=_fun___variable_initialization(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12) assign_last [line 77, column 3]\n n$12=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12) assign_last [line 77, column 12]\n n$11=*&x:SomeStruct [line 77, column 12]\n n$10=*&y:SomeStruct [line 77, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12=(_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator(),(n$11 &x:SomeStruct),(n$10 &y:SomeStruct)) [line 77, column 12]\n n$13=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*,&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12&) [line 77, column 12]\n EXIT_SCOPE(n$10,n$11,n$12,n$13,n$14,0$?%__sil_tmpSIL_materialize_temp__n$9); [line 77, column 12]\n " shape="box"] +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12); [line 77, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12); [line 77, column 12]\n n$11=*&x:SomeStruct [line 77, column 12]\n n$10=*&y:SomeStruct [line 77, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12=(_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator(),(n$11 &x:SomeStruct),(n$10 &y:SomeStruct)) [line 77, column 12]\n n$12=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*,&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12&) [line 77, column 12]\n EXIT_SCOPE(n$10,n$11,n$12,0$?%__sil_tmpSIL_materialize_temp__n$9); [line 77, column 12]\n " shape="box"] "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" [label="5: DeclStmt \n n$16=_fun___variable_initialization(&y:SomeStruct) assign_last [line 76, column 3]\n n$15=_fun_SomeStruct::SomeStruct(&y:SomeStruct*) [line 76, column 14]\n EXIT_SCOPE(n$15,n$16); [line 76, column 14]\n " shape="box"] +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:SomeStruct); [line 76, column 3]\n n$13=_fun_SomeStruct::SomeStruct(&y:SomeStruct*) [line 76, column 14]\n EXIT_SCOPE(n$13); [line 76, column 14]\n " shape="box"] "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" [label="6: DeclStmt \n n$18=_fun___variable_initialization(&x:SomeStruct) assign_last [line 75, column 3]\n n$17=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 75, column 14]\n EXIT_SCOPE(n$17,n$18); [line 75, column 14]\n " shape="box"] +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 75, column 3]\n n$14=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 75, column 14]\n EXIT_SCOPE(n$14); [line 75, column 14]\n " shape="box"] "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" ; @@ -163,7 +163,7 @@ digraph cfg { "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 n$6=_fun___variable_initialization(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19) assign_last [line 51, column 5]\n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19) assign_last [line 51, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19=(_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::operator(),&this) [line 51, column 19]\n n$5=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19&) [line 51, column 19]\n NULLIFY(&this); [line 51, column 19]\n EXIT_SCOPE(n$4,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 51, column 19]\n " shape="box"] +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19); [line 51, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19); [line 51, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19=(_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::operator(),&this) [line 51, column 19]\n n$4=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19&) [line 51, column 19]\n NULLIFY(&this); [line 51, column 19]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 51, column 19]\n " shape="box"] "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" ; @@ -178,7 +178,7 @@ digraph cfg { "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 n$6=_fun___variable_initialization(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19) assign_last [line 65, column 5]\n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19) assign_last [line 65, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19=(_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::operator(),&this) [line 65, column 19]\n n$5=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19&) [line 65, column 19]\n NULLIFY(&this); [line 65, column 19]\n EXIT_SCOPE(n$4,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 65, column 19]\n " shape="box"] +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19); [line 65, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19); [line 65, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19=(_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::operator(),&this) [line 65, column 19]\n n$4=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19&) [line 65, column 19]\n NULLIFY(&this); [line 65, column 19]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 65, column 19]\n " shape="box"] "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" ; @@ -193,7 +193,7 @@ digraph cfg { "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$7=_fun___variable_initialization(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19) assign_last [line 55, column 5]\n n$5=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19) assign_last [line 55, column 19]\n n$4=*&this:Capture* [line 55, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19=(_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::operator(),(n$4 &this:Capture*)) [line 55, column 19]\n n$6=_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19&) [line 55, column 19]\n NULLIFY(&this); [line 55, column 19]\n EXIT_SCOPE(n$4,n$5,n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 55, column 19]\n " shape="box"] +"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19); [line 55, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19); [line 55, column 19]\n n$4=*&this:Capture* [line 55, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19=(_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::operator(),(n$4 &this:Capture*)) [line 55, column 19]\n n$5=_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19&) [line 55, column 19]\n NULLIFY(&this); [line 55, column 19]\n EXIT_SCOPE(n$4,n$5,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 55, column 19]\n " shape="box"] "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" -> "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_3" ; @@ -208,7 +208,7 @@ digraph cfg { "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 n$6=_fun___variable_initialization(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19) assign_last [line 61, column 5]\n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19) assign_last [line 61, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19=(_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::operator(),&this) [line 61, column 19]\n n$5=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19&) [line 61, column 19]\n NULLIFY(&this); [line 61, column 19]\n EXIT_SCOPE(n$4,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 61, column 19]\n " shape="box"] +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19); [line 61, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19); [line 61, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19=(_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::operator(),&this) [line 61, column 19]\n n$4=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19&) [line 61, column 19]\n NULLIFY(&this); [line 61, column 19]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 61, column 19]\n " shape="box"] "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" ; @@ -485,7 +485,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_2" ; -"operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&i:int) assign_last [line 10, column 5]\n *&i:int=0 [line 10, column 5]\n EXIT_SCOPE(n$2); [line 10, column 5]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 5]\n *&i:int=0 [line 10, column 5]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot index dcba7d42f..a599b3a65 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot @@ -51,7 +51,7 @@ digraph cfg { "dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_2" [label="2: Exit __infer_globals_initializer_pass_by_val::dummy_struct \n " color=yellow style=filled] -"dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_3" [label="3: DeclStmt \n n$0=_fun___variable_initialization(&#GB$pass_by_val::dummy_struct:pass_by_val::PlainStruct) assign_last [line 15, column 1]\n *&#GB$pass_by_val::dummy_struct.x:int=0 [line 15, column 25]\n *&#GB$pass_by_val::dummy_struct.y:int*=null [line 15, column 25]\n EXIT_SCOPE(n$0); [line 15, column 25]\n APPLY_ABSTRACTION; [line 15, column 25]\n " shape="box"] +"dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$pass_by_val::dummy_struct:pass_by_val::PlainStruct); [line 15, column 1]\n *&#GB$pass_by_val::dummy_struct.x:int=0 [line 15, column 25]\n *&#GB$pass_by_val::dummy_struct.y:int*=null [line 15, column 25]\n APPLY_ABSTRACTION; [line 15, column 25]\n " shape="box"] "dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_3" -> "dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_2" ; @@ -84,7 +84,7 @@ digraph cfg { "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_2" [label="2: Exit pass_by_val::make_id \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 60, column 1]\n " color=yellow style=filled] -"make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 59, column 3]\n n$10=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id) assign_last [line 59, column 10]\n n$2=*&args:int& [line 59, column 35]\n n$3=_fun_std::forward(n$2:int&) [line 59, column 16]\n n$4=*n$3:int [line 59, column 16]\n n$5=*&args:int& [line 59, column 35]\n n$6=_fun_std::forward(n$5:int&) [line 59, column 16]\n n$7=*&args:int& [line 59, column 35]\n n$8=_fun_std::forward(n$7:int&) [line 59, 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 59, column 10]\n n$11=_fun_pass_by_val::Id::Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 59, column 10]\n NULLIFY(&args); [line 59, column 10]\n NULLIFY(&__return_param); [line 59, column 10]\n NULLIFY(&args); [line 59, column 10]\n NULLIFY(&args); [line 59, column 10]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,n$10,n$11,args,__return_param,args,args,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 59, column 10]\n APPLY_ABSTRACTION; [line 59, column 10]\n " shape="box"] +"make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 59, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 59, column 10]\n n$2=*&args:int& [line 59, column 35]\n n$3=_fun_std::forward(n$2:int&) [line 59, column 16]\n n$4=*n$3:int [line 59, column 16]\n n$5=*&args:int& [line 59, column 35]\n n$6=_fun_std::forward(n$5:int&) [line 59, column 16]\n n$7=*&args:int& [line 59, column 35]\n n$8=_fun_std::forward(n$7:int&) [line 59, 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 59, 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 59, column 10]\n NULLIFY(&args); [line 59, column 10]\n NULLIFY(&__return_param); [line 59, column 10]\n NULLIFY(&args); [line 59, column 10]\n NULLIFY(&args); [line 59, column 10]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,n$10,args,__return_param,args,args,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 59, column 10]\n APPLY_ABSTRACTION; [line 59, column 10]\n " shape="box"] "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_3" -> "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_2" ; @@ -95,15 +95,15 @@ digraph cfg { "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_2" [label="2: Exit pass_by_val::perfect_forwarding_by_ref \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 65, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 65, column 1]\n NULLIFY(&b); [line 65, column 1]\n NULLIFY(&a); [line 65, column 1]\n " color=yellow style=filled] -"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 64, column 3]\n n$6=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id) assign_last [line 64, column 10]\n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$2:int) assign_last [line 64, column 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=2 [line 64, column 29]\n n$5=_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*) assign_last [line 64, column 10]\n n$7=_fun_pass_by_val::Id::Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 64, column 10]\n NULLIFY(&__return_param); [line 64, column 10]\n EXIT_SCOPE(n$0,n$3,n$5,n$6,n$7,a,__return_param,b,0$?%__sil_tmpSIL_materialize_temp__n$2,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 64, column 10]\n APPLY_ABSTRACTION; [line 64, column 10]\n " shape="box"] +"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 64, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 64, column 10]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int); [line 64, column 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=2 [line 64, 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*) assign_last [line 64, 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 64, column 10]\n NULLIFY(&__return_param); [line 64, column 10]\n EXIT_SCOPE(n$0,n$4,n$5,a,__return_param,b,0$?%__sil_tmpSIL_materialize_temp__n$2,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 64, column 10]\n APPLY_ABSTRACTION; [line 64, column 10]\n " shape="box"] "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_3" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_2" ; -"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_4" [label="4: DeclStmt \n n$9=_fun___variable_initialization(&b:int) assign_last [line 63, column 3]\n *&b:int=1 [line 63, column 3]\n EXIT_SCOPE(n$9); [line 63, column 3]\n " shape="box"] +"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:int); [line 63, column 3]\n *&b:int=1 [line 63, column 3]\n " shape="box"] "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_4" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_3" ; -"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_5" [label="5: DeclStmt \n n$10=_fun___variable_initialization(&a:int) assign_last [line 63, column 3]\n *&a:int=0 [line 63, column 3]\n EXIT_SCOPE(n$10); [line 63, column 3]\n " shape="box"] +"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 63, column 3]\n *&a:int=0 [line 63, column 3]\n " shape="box"] "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_5" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_4" ; 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 6b2c09578..4849599ca 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot @@ -32,11 +32,11 @@ digraph cfg { "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 n$13=_fun___variable_initialization(&v:int) assign_last [line 35, column 5]\n _=*&x:conversion_operator::X [line 35, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 35, column 13]\n *&v:int=n$12 [line 35, column 5]\n EXIT_SCOPE(_,n$12,n$13); [line 35, column 5]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 35, column 5]\n _=*&x:conversion_operator::X [line 35, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 35, column 13]\n *&v:int=n$12 [line 35, column 5]\n EXIT_SCOPE(_,n$12); [line 35, 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 n$17=_fun___variable_initialization(&x:conversion_operator::X) assign_last [line 33, column 3]\n n$16=_fun_conversion_operator::X::X(&x:conversion_operator::X*,0:int,1:_Bool) [line 33, column 5]\n EXIT_SCOPE(n$16,n$17); [line 33, column 5]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:conversion_operator::X); [line 33, column 3]\n n$15=_fun_conversion_operator::X::X(&x:conversion_operator::X*,0:int,1:_Bool) [line 33, column 5]\n EXIT_SCOPE(n$15); [line 33, column 5]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" ; @@ -72,11 +72,11 @@ digraph cfg { "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 n$13=_fun___variable_initialization(&v:int) assign_last [line 64, column 5]\n _=*&x:conversion_operator::X [line 64, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 64, column 13]\n *&v:int=n$12 [line 64, column 5]\n EXIT_SCOPE(_,n$12,n$13); [line 64, column 5]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 64, column 5]\n _=*&x:conversion_operator::X [line 64, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 64, column 13]\n *&v:int=n$12 [line 64, column 5]\n EXIT_SCOPE(_,n$12); [line 64, 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 n$17=_fun___variable_initialization(&x:conversion_operator::X) assign_last [line 62, column 3]\n n$16=_fun_conversion_operator::X::X(&x:conversion_operator::X*,1:int,1:_Bool) [line 62, column 5]\n EXIT_SCOPE(n$16,n$17); [line 62, column 5]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:conversion_operator::X); [line 62, column 3]\n n$15=_fun_conversion_operator::X::X(&x:conversion_operator::X*,1:int,1:_Bool) [line 62, column 5]\n EXIT_SCOPE(n$15); [line 62, column 5]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" ; @@ -112,22 +112,22 @@ digraph cfg { "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 n$13=_fun___variable_initialization(&v:int) assign_last [line 55, column 5]\n _=*&x:conversion_operator::X [line 55, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 55, column 13]\n *&v:int=n$12 [line 55, column 5]\n EXIT_SCOPE(_,n$12,n$13); [line 55, column 5]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 55, column 5]\n _=*&x:conversion_operator::X [line 55, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 55, column 13]\n *&v:int=n$12 [line 55, column 5]\n EXIT_SCOPE(_,n$12); [line 55, 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 n$17=_fun___variable_initialization(&x:conversion_operator::X) assign_last [line 53, column 3]\n n$16=_fun_conversion_operator::X::X(&x:conversion_operator::X*,0:int,0:_Bool) [line 53, column 5]\n EXIT_SCOPE(n$16,n$17); [line 53, column 5]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:conversion_operator::X); [line 53, column 3]\n n$15=_fun_conversion_operator::X::X(&x:conversion_operator::X*,0:int,0:_Bool) [line 53, column 5]\n EXIT_SCOPE(n$15); [line 53, 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_tmpSIL_materialize_temp__n$1:conversion_operator::X const 0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X 0$?%__sil_tmpSIL_materialize_temp__n$12:conversion_operator::X const 0$?%__sil_tmpSIL_materialize_temp__n$11:conversion_operator::X v:int 0$?%__sil_tmpSIL_materialize_temp__n$24:conversion_operator::X const 0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X y:conversion_operator::Y \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_tmpSIL_materialize_temp__n$1:conversion_operator::X const 0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X 0$?%__sil_tmpSIL_materialize_temp__n$10:conversion_operator::X const 0$?%__sil_tmpSIL_materialize_temp__n$9:conversion_operator::X v:int 0$?%__sil_tmpSIL_materialize_temp__n$20:conversion_operator::X const 0$?%__sil_tmpSIL_materialize_temp__n$19:conversion_operator::X y:conversion_operator::Y \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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$23); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$11); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 50, column 1]\n NULLIFY(&y); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$12); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$24); [line 50, column 1]\n " color=yellow style=filled] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" [label="2: Exit conversion_operator::y_branch_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$20); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$19); [line 50, column 1]\n NULLIFY(&y); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$10); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$9); [line 50, column 1]\n " color=yellow style=filled] -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_3" [label="3: Return Stmt \n n$7=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X) assign_last [line 49, column 10]\n n$5=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const ) assign_last [line 49, column 13]\n _=*&y:conversion_operator::Y [line 49, 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*) assign_last [line 49, column 13]\n n$6=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const &) [line 49, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X [line 49, column 10]\n n$9=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X&) [line 49, column 10]\n *&return:int=n$9 [line 49, column 3]\n EXIT_SCOPE(_,_,n$4,n$5,n$6,n$7,n$9,y,0$?%__sil_tmpSIL_materialize_temp__n$0,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 49, column 3]\n APPLY_ABSTRACTION; [line 49, column 3]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X); [line 49, column 10]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const ); [line 49, column 13]\n _=*&y:conversion_operator::Y [line 49, 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*) assign_last [line 49, column 13]\n n$5=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const &) [line 49, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X [line 49, column 10]\n n$7=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X&) [line 49, column 10]\n *&return:int=n$7 [line 49, column 3]\n EXIT_SCOPE(_,_,n$4,n$5,n$7,y,0$?%__sil_tmpSIL_materialize_temp__n$0,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 49, column 3]\n APPLY_ABSTRACTION; [line 49, 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 n$18=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$11:conversion_operator::X) assign_last [line 45, column 7]\n n$16=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$12:conversion_operator::X const ) assign_last [line 45, column 10]\n _=*&y:conversion_operator::Y [line 45, column 10]\n n$15=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$12:conversion_operator::X*) assign_last [line 45, column 10]\n n$17=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$11:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$12:conversion_operator::X const &) [line 45, column 7]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$11:conversion_operator::X [line 45, column 7]\n n$20=_fun_conversion_operator::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$11:conversion_operator::X&) [line 45, column 7]\n EXIT_SCOPE(_,_,n$15,n$16,n$17,n$18,0$?%__sil_tmpSIL_materialize_temp__n$12,0$?%__sil_tmpSIL_materialize_temp__n$11); [line 45, column 7]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:conversion_operator::X); [line 45, column 7]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$10:conversion_operator::X const ); [line 45, column 10]\n _=*&y:conversion_operator::Y [line 45, column 10]\n n$13=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$10:conversion_operator::X*) assign_last [line 45, column 10]\n n$14=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$9:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$10:conversion_operator::X const &) [line 45, column 7]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:conversion_operator::X [line 45, column 7]\n n$16=_fun_conversion_operator::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$9:conversion_operator::X&) [line 45, column 7]\n EXIT_SCOPE(_,_,n$13,n$14,0$?%__sil_tmpSIL_materialize_temp__n$9,0$?%__sil_tmpSIL_materialize_temp__n$10); [line 45, 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$20, true); [line 45, column 7]\n EXIT_SCOPE(n$20); [line 45, column 7]\n " shape="invhouse"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" [label="6: Prune (true branch, if) \n PRUNE(n$16, true); [line 45, column 7]\n EXIT_SCOPE(n$16); [line 45, 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$20, false); [line 45, column 7]\n EXIT_SCOPE(n$20); [line 45, column 7]\n " shape="invhouse"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$16, false); [line 45, column 7]\n EXIT_SCOPE(n$16); [line 45, 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$21=*&v:int [line 47, column 16]\n *&return:int=(1 / n$21) [line 47, column 5]\n NULLIFY(&v); [line 47, column 5]\n EXIT_SCOPE(n$21,v); [line 47, column 5]\n APPLY_ABSTRACTION; [line 47, column 5]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" [label="8: Return Stmt \n n$17=*&v:int [line 47, column 16]\n *&return:int=(1 / n$17) [line 47, column 5]\n NULLIFY(&v); [line 47, column 5]\n EXIT_SCOPE(n$17,v); [line 47, column 5]\n APPLY_ABSTRACTION; [line 47, 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 n$33=_fun___variable_initialization(&v:int) assign_last [line 46, column 5]\n n$30=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X) assign_last [line 46, column 13]\n n$28=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$24:conversion_operator::X const ) assign_last [line 46, column 16]\n _=*&y:conversion_operator::Y [line 46, column 16]\n n$27=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$24:conversion_operator::X*) assign_last [line 46, column 16]\n n$29=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$24:conversion_operator::X const &) [line 46, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X [line 46, column 13]\n n$32=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X&) [line 46, column 13]\n *&v:int=n$32 [line 46, column 5]\n EXIT_SCOPE(_,_,n$27,n$28,n$29,n$30,n$32,n$33,0$?%__sil_tmpSIL_materialize_temp__n$24,y,0$?%__sil_tmpSIL_materialize_temp__n$23); [line 46, column 5]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 46, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$19:conversion_operator::X); [line 46, column 13]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$20:conversion_operator::X const ); [line 46, column 16]\n _=*&y:conversion_operator::Y [line 46, column 16]\n n$23=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$20:conversion_operator::X*) assign_last [line 46, column 16]\n n$24=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$19:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$20:conversion_operator::X const &) [line 46, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$19:conversion_operator::X [line 46, column 13]\n n$26=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$19:conversion_operator::X&) [line 46, column 13]\n *&v:int=n$26 [line 46, column 5]\n EXIT_SCOPE(_,_,n$23,n$24,n$26,y,0$?%__sil_tmpSIL_materialize_temp__n$19,0$?%__sil_tmpSIL_materialize_temp__n$20); [line 46, 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 n$37=_fun___variable_initialization(&y:conversion_operator::Y) assign_last [line 42, column 3]\n n$36=_fun_conversion_operator::Y::Y(&y:conversion_operator::Y*) [line 42, column 5]\n EXIT_SCOPE(n$36,n$37); [line 42, column 5]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" [label="12: DeclStmt \n VARIABLE_DECLARED(y:conversion_operator::Y); [line 42, column 3]\n n$29=_fun_conversion_operator::Y::Y(&y:conversion_operator::Y*) [line 42, column 5]\n EXIT_SCOPE(n$29); [line 42, column 5]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" ; @@ -227,7 +227,7 @@ digraph cfg { "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_2" [label="2: Exit conversion_operator::Y::operator_X \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 27, column 34]\n " color=yellow style=filled] -"operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_3" [label="3: Return Stmt \n n$0=*&__return_param:conversion_operator::X* [line 27, column 18]\n n$7=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const ) assign_last [line 27, column 25]\n n$2=*&this:conversion_operator::Y* [line 27, column 27]\n n$3=*n$2.f:int [line 27, column 27]\n n$4=*&this:conversion_operator::Y* [line 27, column 30]\n n$5=*n$4.b:int [line 27, 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 27, column 25]\n n$8=_fun_conversion_operator::X::X(n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const &) [line 27, column 25]\n NULLIFY(&__return_param); [line 27, column 25]\n NULLIFY(&this); [line 27, column 25]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,n$5,n$6,n$7,n$8,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 27, column 25]\n APPLY_ABSTRACTION; [line 27, column 25]\n " shape="box"] +"operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_3" [label="3: Return Stmt \n n$0=*&__return_param:conversion_operator::X* [line 27, column 18]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const ); [line 27, column 25]\n n$2=*&this:conversion_operator::Y* [line 27, column 27]\n n$3=*n$2.f:int [line 27, column 27]\n n$4=*&this:conversion_operator::Y* [line 27, column 30]\n n$5=*n$4.b:int [line 27, 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 27, 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 27, column 25]\n NULLIFY(&__return_param); [line 27, column 25]\n NULLIFY(&this); [line 27, column 25]\n EXIT_SCOPE(n$0,n$2,n$3,n$4,n$5,n$6,n$7,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 27, column 25]\n APPLY_ABSTRACTION; [line 27, column 25]\n " shape="box"] "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_3" -> "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/inline_method.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/inline_method.cpp.dot index c4e7f2624..f48aede86 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/inline_method.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/inline_method.cpp.dot @@ -26,7 +26,7 @@ digraph cfg { "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_3" -> "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_2" ; -"fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&c:int) assign_last [line 16, column 5]\n *&c:int=10 [line 16, column 5]\n EXIT_SCOPE(n$2); [line 16, column 5]\n " shape="box"] +"fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_4" [label="4: DeclStmt \n VARIABLE_DECLARED(c:int); [line 16, column 5]\n *&c:int=10 [line 16, column 5]\n " shape="box"] "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_4" -> "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_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 87bb44d0a..bbd93defb 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot @@ -11,7 +11,7 @@ digraph cfg { "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" ; -"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" [label="4: DeclStmt \n n$11=_fun___variable_initialization(&x:X) assign_last [line 20, column 3]\n n$9=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$4:X) assign_last [line 20, column 9]\n n$5=*&a:A* [line 20, column 9]\n _=*n$5:A [line 20, column 9]\n n$8=_fun_A::get(n$5:A*,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:X*) assign_last [line 20, column 9]\n n$10=_fun_X::X(&x:X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:X&) [line 20, column 9]\n NULLIFY(&a); [line 20, column 9]\n EXIT_SCOPE(_,n$5,n$8,n$9,n$10,n$11,a,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 20, column 9]\n " shape="box"] +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:X); [line 20, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:X); [line 20, column 9]\n n$5=*&a:A* [line 20, column 9]\n _=*n$5:A [line 20, column 9]\n n$8=_fun_A::get(n$5:A*,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:X*) assign_last [line 20, column 9]\n n$9=_fun_X::X(&x:X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:X&) [line 20, column 9]\n NULLIFY(&a); [line 20, column 9]\n EXIT_SCOPE(_,n$5,n$8,n$9,a,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 20, column 9]\n " shape="box"] "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" ; @@ -26,7 +26,7 @@ digraph cfg { "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_3" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_2" ; -"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&x:X) assign_last [line 14, column 5]\n n$5=_fun_X::X(&x:X*) [line 14, column 7]\n EXIT_SCOPE(n$5,n$6); [line 14, column 7]\n " shape="box"] +"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:X); [line 14, column 5]\n n$5=_fun_X::X(&x:X*) [line 14, column 7]\n EXIT_SCOPE(n$5); [line 14, column 7]\n " shape="box"] "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_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 98ec6020e..7e6a7a75a 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_1" -> "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" ; -"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_2" [label="2: Exit call_virtual_destructor \n NULLIFY(&trgl); [line 71, column 1]\n " color=yellow style=filled] +"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$1=*&trgl:Polygon* [line 70, column 10]\n n$2=_fun___delete(n$1:Polygon*) [line 70, column 3]\n EXIT_SCOPE(n$1,n$2,trgl); [line 70, column 3]\n APPLY_ABSTRACTION; [line 70, column 3]\n " shape="box"] +"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" [label="3: Call delete \n n$1=*&trgl:Polygon* [line 70, column 10]\n n$2=_fun___delete(n$1:Polygon*) [line 70, column 3]\n NULLIFY(&trgl); [line 70, column 3]\n EXIT_SCOPE(n$1,n$2,trgl); [line 70, column 3]\n APPLY_ABSTRACTION; [line 70, 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$5=_fun___variable_initialization(&trgl:Polygon*) assign_last [line 69, column 3]\n n$3=_fun___new(sizeof(t=Triangle):unsigned long) [line 69, column 19]\n n$4=_fun_Triangle::Triangle(n$3:Triangle*) [line 69, column 23]\n *&trgl:Triangle*=n$3 [line 69, column 3]\n EXIT_SCOPE(n$3,n$4,n$5); [line 69, column 3]\n " shape="box"] +"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" [label="4: DeclStmt \n VARIABLE_DECLARED(trgl:Polygon*); [line 69, column 3]\n n$3=_fun___new(sizeof(t=Triangle):unsigned long) [line 69, column 19]\n n$4=_fun_Triangle::Triangle(n$3:Triangle*) [line 69, column 23]\n *&trgl:Triangle*=n$3 [line 69, column 3]\n EXIT_SCOPE(n$3,n$4); [line 69, column 3]\n " shape="box"] "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" -> "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" ; @@ -19,18 +19,18 @@ digraph cfg { "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_1" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" ; -"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" [label="2: Exit poly_area \n NULLIFY(&poly); [line 55, column 1]\n NULLIFY(&ppoly3); [line 55, column 1]\n " color=yellow style=filled] +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" [label="2: Exit poly_area \n NULLIFY(&poly); [line 55, column 1]\n " color=yellow style=filled] -"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" [label="3: Return Stmt \n n$0=*&ppoly3:Polygon* [line 54, column 14]\n _=*n$0:Polygon [line 54, column 14]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 54, column 14]\n *&return:int=(1 / n$2) [line 54, column 3]\n _=*&poly:Polygon [line 54, column 27]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 54, column 27]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,ppoly3,poly); [line 54, column 27]\n APPLY_ABSTRACTION; [line 54, column 27]\n " shape="box"] +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" [label="3: Return Stmt \n n$0=*&ppoly3:Polygon* [line 54, column 14]\n _=*n$0:Polygon [line 54, column 14]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 54, column 14]\n *&return:int=(1 / n$2) [line 54, column 3]\n _=*&poly:Polygon [line 54, column 27]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 54, column 27]\n NULLIFY(&ppoly3); [line 54, column 27]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,ppoly3,poly); [line 54, column 27]\n APPLY_ABSTRACTION; [line 54, column 27]\n " shape="box"] "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" ; -"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&ppoly3:Polygon*) assign_last [line 53, column 3]\n *&ppoly3:Polygon*=&poly [line 53, column 3]\n EXIT_SCOPE(n$6); [line 53, column 3]\n " shape="box"] +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ppoly3:Polygon*); [line 53, column 3]\n *&ppoly3:Polygon*=&poly [line 53, column 3]\n " shape="box"] "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" ; -"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" [label="5: DeclStmt \n n$8=_fun___variable_initialization(&poly:Polygon) assign_last [line 52, column 3]\n n$7=_fun_Polygon::Polygon(&poly:Polygon*) [line 52, column 11]\n EXIT_SCOPE(n$7,n$8); [line 52, column 11]\n " shape="box"] +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" [label="5: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 52, column 3]\n n$6=_fun_Polygon::Polygon(&poly:Polygon*) [line 52, column 11]\n EXIT_SCOPE(n$6); [line 52, column 11]\n " shape="box"] "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" ; @@ -38,10 +38,10 @@ digraph cfg { "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_1" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" ; -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" [label="2: Exit rect_area \n NULLIFY(&rect); [line 41, column 1]\n NULLIFY(&ppoly1); [line 41, column 1]\n " color=yellow style=filled] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" [label="2: Exit rect_area \n NULLIFY(&rect); [line 41, column 1]\n " color=yellow style=filled] -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" [label="3: Return Stmt \n n$0=*&ppoly1:Polygon* [line 40, column 15]\n _=*n$0:Polygon [line 40, column 15]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 40, column 15]\n *&return:int=(1 / (n$2 - 20)) [line 40, column 3]\n _=*&rect:Rectangle [line 40, column 34]\n n$4=_fun_Rectangle::~Rectangle(&rect:Rectangle*) injected virtual [line 40, column 34]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,ppoly1,rect); [line 40, column 34]\n APPLY_ABSTRACTION; [line 40, column 34]\n " shape="box"] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" [label="3: Return Stmt \n n$0=*&ppoly1:Polygon* [line 40, column 15]\n _=*n$0:Polygon [line 40, column 15]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 40, column 15]\n *&return:int=(1 / (n$2 - 20)) [line 40, column 3]\n _=*&rect:Rectangle [line 40, column 34]\n n$4=_fun_Rectangle::~Rectangle(&rect:Rectangle*) injected virtual [line 40, column 34]\n NULLIFY(&ppoly1); [line 40, column 34]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,ppoly1,rect); [line 40, column 34]\n APPLY_ABSTRACTION; [line 40, column 34]\n " shape="box"] "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" ; @@ -49,11 +49,11 @@ digraph cfg { "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" ; -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" [label="5: DeclStmt \n n$9=_fun___variable_initialization(&ppoly1:Polygon*) assign_last [line 38, column 3]\n *&ppoly1:Rectangle*=&rect [line 38, column 3]\n EXIT_SCOPE(n$9); [line 38, column 3]\n " shape="box"] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ppoly1:Polygon*); [line 38, column 3]\n *&ppoly1:Rectangle*=&rect [line 38, column 3]\n " shape="box"] "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" ; -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" [label="6: DeclStmt \n n$11=_fun___variable_initialization(&rect:Rectangle) assign_last [line 37, column 3]\n n$10=_fun_Rectangle::Rectangle(&rect:Rectangle*) [line 37, column 13]\n EXIT_SCOPE(n$10,n$11); [line 37, column 13]\n " shape="box"] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" [label="6: DeclStmt \n VARIABLE_DECLARED(rect:Rectangle); [line 37, column 3]\n n$9=_fun_Rectangle::Rectangle(&rect:Rectangle*) [line 37, column 13]\n EXIT_SCOPE(n$9); [line 37, column 13]\n " shape="box"] "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" ; @@ -61,10 +61,10 @@ digraph cfg { "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_1" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" [label="2: Exit tri_area \n NULLIFY(&trgl); [line 49, column 1]\n NULLIFY(&ppoly2); [line 49, column 1]\n NULLIFY(&poly); [line 49, column 1]\n " color=yellow style=filled] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" [label="2: Exit tri_area \n NULLIFY(&trgl); [line 49, column 1]\n NULLIFY(&poly); [line 49, column 1]\n " color=yellow style=filled] -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 48, column 15]\n _=*n$0:Polygon [line 48, column 15]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 48, column 15]\n *&return:int=(1 / (n$2 - 10)) [line 48, column 3]\n _=*&poly:Polygon [line 48, column 34]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 48, column 34]\n _=*&trgl:Triangle [line 48, column 34]\n n$6=_fun_Triangle::~Triangle(&trgl:Triangle*) injected virtual [line 48, column 34]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,poly,ppoly2,trgl); [line 48, column 34]\n APPLY_ABSTRACTION; [line 48, column 34]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 48, column 15]\n _=*n$0:Polygon [line 48, column 15]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 48, column 15]\n *&return:int=(1 / (n$2 - 10)) [line 48, column 3]\n _=*&poly:Polygon [line 48, column 34]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 48, column 34]\n _=*&trgl:Triangle [line 48, column 34]\n n$6=_fun_Triangle::~Triangle(&trgl:Triangle*) injected virtual [line 48, column 34]\n NULLIFY(&ppoly2); [line 48, column 34]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,poly,ppoly2,trgl); [line 48, column 34]\n APPLY_ABSTRACTION; [line 48, column 34]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" ; @@ -72,15 +72,15 @@ digraph cfg { "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" [label="5: DeclStmt \n n$11=_fun___variable_initialization(&ppoly2:Polygon*) assign_last [line 46, column 3]\n *&ppoly2:Triangle*=&trgl [line 46, column 3]\n EXIT_SCOPE(n$11); [line 46, column 3]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ppoly2:Polygon*); [line 46, column 3]\n *&ppoly2:Triangle*=&trgl [line 46, column 3]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" [label="6: DeclStmt \n n$13=_fun___variable_initialization(&poly:Polygon) assign_last [line 45, column 3]\n n$12=_fun_Polygon::Polygon(&poly:Polygon*) [line 45, column 11]\n EXIT_SCOPE(n$12,n$13); [line 45, column 11]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" [label="6: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 45, column 3]\n n$11=_fun_Polygon::Polygon(&poly:Polygon*) [line 45, column 11]\n EXIT_SCOPE(n$11); [line 45, column 11]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" [label="7: DeclStmt \n n$15=_fun___variable_initialization(&trgl:Triangle) assign_last [line 44, column 3]\n n$14=_fun_Triangle::Triangle(&trgl:Triangle*) [line 44, column 12]\n EXIT_SCOPE(n$14,n$15); [line 44, column 12]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" [label="7: DeclStmt \n VARIABLE_DECLARED(trgl:Triangle); [line 44, column 3]\n n$12=_fun_Triangle::Triangle(&trgl:Triangle*) [line 44, column 12]\n EXIT_SCOPE(n$12); [line 44, column 12]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" ; @@ -88,10 +88,10 @@ digraph cfg { "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_1" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" ; -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" [label="2: Exit tri_not_virtual_area \n NULLIFY(&ppoly2); [line 63, column 1]\n NULLIFY(&trgl); [line 63, column 1]\n NULLIFY(&poly); [line 63, column 1]\n " color=yellow style=filled] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" [label="2: Exit tri_not_virtual_area \n NULLIFY(&trgl); [line 63, column 1]\n NULLIFY(&poly); [line 63, column 1]\n " color=yellow style=filled] -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 62, column 14]\n _=*n$0:Polygon [line 62, column 14]\n n$2=_fun_Polygon::area(n$0:Polygon*) [line 62, column 14]\n *&return:int=(1 / n$2) [line 62, column 3]\n _=*&poly:Polygon [line 62, column 36]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 62, column 36]\n _=*&trgl:Triangle [line 62, column 36]\n n$6=_fun_Triangle::~Triangle(&trgl:Triangle*) injected virtual [line 62, column 36]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,poly,trgl,ppoly2); [line 62, column 36]\n APPLY_ABSTRACTION; [line 62, column 36]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 62, column 14]\n _=*n$0:Polygon [line 62, column 14]\n n$2=_fun_Polygon::area(n$0:Polygon*) [line 62, column 14]\n *&return:int=(1 / n$2) [line 62, column 3]\n _=*&poly:Polygon [line 62, column 36]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 62, column 36]\n _=*&trgl:Triangle [line 62, column 36]\n n$6=_fun_Triangle::~Triangle(&trgl:Triangle*) injected virtual [line 62, column 36]\n NULLIFY(&ppoly2); [line 62, column 36]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,poly,trgl,ppoly2); [line 62, column 36]\n APPLY_ABSTRACTION; [line 62, column 36]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" ; @@ -99,15 +99,15 @@ digraph cfg { "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" ; -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_5" [label="5: DeclStmt \n n$11=_fun___variable_initialization(&ppoly2:Polygon*) assign_last [line 60, column 3]\n *&ppoly2:Triangle*=&trgl [line 60, column 3]\n EXIT_SCOPE(n$11); [line 60, column 3]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ppoly2:Polygon*); [line 60, column 3]\n *&ppoly2:Triangle*=&trgl [line 60, column 3]\n " shape="box"] "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 n$13=_fun___variable_initialization(&poly:Polygon) assign_last [line 59, column 3]\n n$12=_fun_Polygon::Polygon(&poly:Polygon*) [line 59, column 11]\n EXIT_SCOPE(n$12,n$13); [line 59, column 11]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" [label="6: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 59, column 3]\n n$11=_fun_Polygon::Polygon(&poly:Polygon*) [line 59, column 11]\n EXIT_SCOPE(n$11); [line 59, 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 n$15=_fun___variable_initialization(&trgl:Triangle) assign_last [line 58, column 3]\n n$14=_fun_Triangle::Triangle(&trgl:Triangle*) [line 58, column 12]\n EXIT_SCOPE(n$14,n$15); [line 58, column 12]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" [label="7: DeclStmt \n VARIABLE_DECLARED(trgl:Triangle); [line 58, column 3]\n n$12=_fun_Triangle::Triangle(&trgl:Triangle*) [line 58, column 12]\n EXIT_SCOPE(n$12); [line 58, column 12]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" ; @@ -177,7 +177,7 @@ digraph cfg { "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_2" ; -"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&x:int) assign_last [line 31, column 5]\n n$2=*&this:Triangle* [line 31, column 13]\n n$3=*n$2.width:int [line 31, column 13]\n n$4=*&this:Triangle* [line 31, column 21]\n n$5=*n$4.height:int [line 31, column 21]\n *&x:int=(n$3 * n$5) [line 31, column 5]\n NULLIFY(&this); [line 31, column 5]\n EXIT_SCOPE(n$2,n$3,n$4,n$5,n$6,this); [line 31, column 5]\n " shape="box"] +"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 31, column 5]\n n$2=*&this:Triangle* [line 31, column 13]\n n$3=*n$2.width:int [line 31, column 13]\n n$4=*&this:Triangle* [line 31, column 21]\n n$5=*n$4.height:int [line 31, column 21]\n *&x:int=(n$3 * n$5) [line 31, column 5]\n NULLIFY(&this); [line 31, column 5]\n EXIT_SCOPE(n$2,n$3,n$4,n$5,this); [line 31, column 5]\n " shape="box"] "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot index 47ce29f9e..f0fa933ae 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot @@ -66,7 +66,7 @@ digraph cfg { "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_3" -> "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_2" ; -"type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&x:int) assign_last [line 38, column 3]\n *&x:int=0 [line 38, column 3]\n EXIT_SCOPE(n$2); [line 38, column 3]\n " shape="box"] +"type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 38, column 3]\n *&x:int=0 [line 38, column 3]\n " shape="box"] "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_4" -> "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot index d87ad129a..83a1c9871 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot @@ -31,19 +31,19 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$7=_fun___variable_initialization(&rect2:foo::Rectangle) assign_last [line 49, column 3]\n n$6=_fun_foo::Rectangle::Rectangle(&rect2:foo::Rectangle*) [line 49, column 18]\n EXIT_SCOPE(n$6,n$7); [line 49, column 18]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(rect2:foo::Rectangle); [line 49, column 3]\n n$6=_fun_foo::Rectangle::Rectangle(&rect2:foo::Rectangle*) [line 49, column 18]\n EXIT_SCOPE(n$6); [line 49, 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 47, column 3]\n n$9=_fun_bar::Rectangle::set_values(&rect1:bar::Rectangle&,3:int,4:int) [line 47, column 3]\n EXIT_SCOPE(_,n$9,rect1); [line 47, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Call _fun_bar::Rectangle::set_values \n _=*&rect1:bar::Rectangle [line 47, column 3]\n n$8=_fun_bar::Rectangle::set_values(&rect1:bar::Rectangle&,3:int,4:int) [line 47, column 3]\n EXIT_SCOPE(_,n$8,rect1); [line 47, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n n$11=_fun___variable_initialization(&rect1:bar::Rectangle) assign_last [line 46, column 3]\n n$10=_fun_bar::Rectangle::Rectangle(&rect1:bar::Rectangle*) [line 46, column 18]\n EXIT_SCOPE(n$10,n$11); [line 46, column 18]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(rect1:bar::Rectangle); [line 46, column 3]\n n$9=_fun_bar::Rectangle::Rectangle(&rect1:bar::Rectangle*) [line 46, column 18]\n EXIT_SCOPE(n$9); [line 46, column 18]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n n$13=_fun___variable_initialization(&x:foo::my_record) assign_last [line 44, column 3]\n n$12=_fun_foo::my_record::(&x:foo::my_record*) [line 44, column 18]\n EXIT_SCOPE(n$12,n$13); [line 44, column 18]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x:foo::my_record); [line 44, column 3]\n n$10=_fun_foo::my_record::(&x:foo::my_record*) [line 44, column 18]\n EXIT_SCOPE(n$10); [line 44, column 18]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; @@ -54,7 +54,7 @@ digraph cfg { "pi#__infer_globals_initializer_bar.1155d696836634e07d40a8f71831e209_2" [label="2: Exit __infer_globals_initializer_bar::pi \n " color=yellow style=filled] -"pi#__infer_globals_initializer_bar.1155d696836634e07d40a8f71831e209_3" [label="3: DeclStmt \n n$0=_fun___variable_initialization(&#GB$bar::pi:double const ) assign_last [line 27, column 1]\n *&#GB$bar::pi:double=3.1416 [line 27, column 1]\n EXIT_SCOPE(n$0); [line 27, column 1]\n APPLY_ABSTRACTION; [line 27, column 1]\n " shape="box"] +"pi#__infer_globals_initializer_bar.1155d696836634e07d40a8f71831e209_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$bar::pi:double const ); [line 27, column 1]\n *&#GB$bar::pi:double=3.1416 [line 27, column 1]\n APPLY_ABSTRACTION; [line 27, column 1]\n " shape="box"] "pi#__infer_globals_initializer_bar.1155d696836634e07d40a8f71831e209_3" -> "pi#__infer_globals_initializer_bar.1155d696836634e07d40a8f71831e209_2" ; @@ -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 n$1=_fun___variable_initialization(&#GB$bar::rect:bar::Rectangle) assign_last [line 30, column 1]\n n$0=_fun_bar::Rectangle::Rectangle(&#GB$bar::rect:bar::Rectangle*) [line 36, column 3]\n EXIT_SCOPE(n$0,n$1); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] +"rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$bar::rect:bar::Rectangle); [line 30, column 1]\n n$0=_fun_bar::Rectangle::Rectangle(&#GB$bar::rect:bar::Rectangle*) [line 36, column 3]\n EXIT_SCOPE(n$0); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, 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/nestedoperators/var_decl_inside_for.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_for.cpp.dot index bf3f17638..986374959 100644 --- a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_for.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_for.cpp.dot @@ -11,32 +11,32 @@ digraph cfg { "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_3" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_8" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_4" [label="4: DeclStmt \n n$1=_fun___variable_initialization(&i:int) assign_last [line 17, column 8]\n *&i:int=10 [line 17, column 8]\n EXIT_SCOPE(n$1); [line 17, column 8]\n APPLY_ABSTRACTION; [line 17, column 8]\n " shape="box"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int); [line 17, column 8]\n *&i:int=10 [line 17, column 8]\n APPLY_ABSTRACTION; [line 17, column 8]\n " shape="box"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_4" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_3" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_5" [label="5: UnaryOperator \n n$2=*&i:int [line 17, column 31]\n *&i:int=(n$2 - 1) [line 17, column 31]\n EXIT_SCOPE(n$2); [line 17, column 31]\n APPLY_ABSTRACTION; [line 17, column 31]\n " shape="box"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_5" [label="5: UnaryOperator \n n$1=*&i:int [line 17, column 31]\n *&i:int=(n$1 - 1) [line 17, column 31]\n EXIT_SCOPE(n$1); [line 17, column 31]\n APPLY_ABSTRACTION; [line 17, column 31]\n " shape="box"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_5" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_3" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_6" [label="6: Prune (true branch, for loop) \n n$3=*&x:int [line 17, column 24]\n PRUNE(n$3, true); [line 17, column 24]\n EXIT_SCOPE(n$3); [line 17, column 24]\n " shape="invhouse"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_6" [label="6: Prune (true branch, for loop) \n n$2=*&x:int [line 17, column 24]\n PRUNE(n$2, true); [line 17, column 24]\n EXIT_SCOPE(n$2); [line 17, column 24]\n " shape="invhouse"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_6" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_9" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_7" [label="7: Prune (false branch, for loop) \n n$3=*&x:int [line 17, column 24]\n PRUNE(!n$3, false); [line 17, column 24]\n NULLIFY(&x); [line 17, column 24]\n NULLIFY(&i); [line 17, column 24]\n NULLIFY(&result); [line 17, column 24]\n EXIT_SCOPE(n$3,x,i,result); [line 17, column 24]\n APPLY_ABSTRACTION; [line 17, column 24]\n " shape="invhouse"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_7" [label="7: Prune (false branch, for loop) \n n$2=*&x:int [line 17, column 24]\n PRUNE(!n$2, false); [line 17, column 24]\n NULLIFY(&x); [line 17, column 24]\n NULLIFY(&i); [line 17, column 24]\n NULLIFY(&result); [line 17, column 24]\n EXIT_SCOPE(n$2,x,i,result); [line 17, column 24]\n APPLY_ABSTRACTION; [line 17, column 24]\n " shape="invhouse"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_7" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_2" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_8" [label="8: DeclStmt \n n$5=_fun___variable_initialization(&x:int) assign_last [line 17, column 20]\n n$4=*&i:int [line 17, column 28]\n *&x:int=n$4 [line 17, column 20]\n EXIT_SCOPE(n$4,n$5); [line 17, column 20]\n " shape="box"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x:int); [line 17, column 20]\n n$3=*&i:int [line 17, column 28]\n *&x:int=n$3 [line 17, column 20]\n EXIT_SCOPE(n$3); [line 17, column 20]\n " shape="box"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_8" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_6" ; "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_8" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_7" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_9" [label="9: BinaryOperatorStmt: AddAssign \n n$7=*&x:int [line 18, column 15]\n n$8=*&result:int [line 18, column 5]\n *&result:int=(n$8 + n$7) [line 18, column 5]\n NULLIFY(&x); [line 18, column 5]\n EXIT_SCOPE(n$7,n$8,x); [line 18, column 5]\n " shape="box"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_9" [label="9: BinaryOperatorStmt: AddAssign \n n$5=*&x:int [line 18, column 15]\n n$6=*&result:int [line 18, column 5]\n *&result:int=(n$6 + n$5) [line 18, column 5]\n NULLIFY(&x); [line 18, column 5]\n EXIT_SCOPE(n$5,n$6,x); [line 18, column 5]\n " shape="box"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_9" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_5" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_10" [label="10: DeclStmt \n n$10=_fun___variable_initialization(&result:int) assign_last [line 16, column 3]\n *&result:int=0 [line 16, column 3]\n EXIT_SCOPE(n$10); [line 16, column 3]\n " shape="box"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_10" [label="10: DeclStmt \n VARIABLE_DECLARED(result:int); [line 16, column 3]\n *&result:int=0 [line 16, column 3]\n " shape="box"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_10" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_4" ; @@ -51,32 +51,32 @@ digraph cfg { "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_3" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_8" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_4" [label="4: DeclStmt \n n$1=_fun___variable_initialization(&i:int) assign_last [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n EXIT_SCOPE(n$1); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_4" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_3" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_5" [label="5: UnaryOperator \n n$2=*&i:int [line 10, column 30]\n *&i:int=(n$2 + 1) [line 10, column 30]\n EXIT_SCOPE(n$2); [line 10, column 30]\n APPLY_ABSTRACTION; [line 10, column 30]\n " shape="box"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_5" [label="5: UnaryOperator \n n$1=*&i:int [line 10, column 30]\n *&i:int=(n$1 + 1) [line 10, column 30]\n EXIT_SCOPE(n$1); [line 10, column 30]\n APPLY_ABSTRACTION; [line 10, column 30]\n " shape="box"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_5" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_3" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_6" [label="6: Prune (true branch, for loop) \n n$3=*&x:int [line 10, column 23]\n PRUNE(n$3, true); [line 10, column 23]\n EXIT_SCOPE(n$3); [line 10, column 23]\n " shape="invhouse"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_6" [label="6: Prune (true branch, for loop) \n n$2=*&x:int [line 10, column 23]\n PRUNE(n$2, true); [line 10, column 23]\n EXIT_SCOPE(n$2); [line 10, column 23]\n " shape="invhouse"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_6" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_9" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_7" [label="7: Prune (false branch, for loop) \n n$3=*&x:int [line 10, column 23]\n PRUNE(!n$3, false); [line 10, column 23]\n NULLIFY(&i); [line 10, column 23]\n NULLIFY(&x); [line 10, column 23]\n NULLIFY(&result); [line 10, column 23]\n EXIT_SCOPE(n$3,i,x,result); [line 10, column 23]\n APPLY_ABSTRACTION; [line 10, column 23]\n " shape="invhouse"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_7" [label="7: Prune (false branch, for loop) \n n$2=*&x:int [line 10, column 23]\n PRUNE(!n$2, false); [line 10, column 23]\n NULLIFY(&i); [line 10, column 23]\n NULLIFY(&x); [line 10, column 23]\n NULLIFY(&result); [line 10, column 23]\n EXIT_SCOPE(n$2,i,x,result); [line 10, column 23]\n APPLY_ABSTRACTION; [line 10, column 23]\n " shape="invhouse"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_7" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_2" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_8" [label="8: DeclStmt \n n$4=_fun___variable_initialization(&x:int) assign_last [line 10, column 19]\n *&x:int=2 [line 10, column 19]\n EXIT_SCOPE(n$4); [line 10, column 19]\n " shape="box"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x:int); [line 10, column 19]\n *&x:int=2 [line 10, column 19]\n " shape="box"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_8" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_6" ; "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_8" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_7" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_9" [label="9: BinaryOperatorStmt: AddAssign \n n$6=*&x:int [line 11, column 15]\n n$7=*&result:int [line 11, column 5]\n *&result:int=(n$7 + n$6) [line 11, column 5]\n NULLIFY(&x); [line 11, column 5]\n EXIT_SCOPE(n$6,n$7,x); [line 11, column 5]\n " shape="box"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_9" [label="9: BinaryOperatorStmt: AddAssign \n n$4=*&x:int [line 11, column 15]\n n$5=*&result:int [line 11, column 5]\n *&result:int=(n$5 + n$4) [line 11, column 5]\n NULLIFY(&x); [line 11, column 5]\n EXIT_SCOPE(n$4,n$5,x); [line 11, column 5]\n " shape="box"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_9" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_5" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_10" [label="10: DeclStmt \n n$9=_fun___variable_initialization(&result:int) assign_last [line 9, column 3]\n *&result:int=0 [line 9, column 3]\n EXIT_SCOPE(n$9); [line 9, column 3]\n " shape="box"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_10" [label="10: DeclStmt \n VARIABLE_DECLARED(result:int); [line 9, column 3]\n *&result:int=0 [line 9, column 3]\n " shape="box"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_10" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp.dot index 1d52a1ffb..b3bbe7b37 100644 --- a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp.dot @@ -44,12 +44,12 @@ digraph cfg { "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_11" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_7" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" [label="12: DeclStmt \n n$4=_fun___variable_initialization(&a:int) assign_last [line 41, column 7]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 41, column 15]\n *&a:int=n$3 [line 41, column 7]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 41, column 7]\n EXIT_SCOPE(n$3,n$4,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 41, column 7]\n " shape="box"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" [label="12: DeclStmt \n VARIABLE_DECLARED(a:int); [line 41, column 7]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 41, column 15]\n *&a:int=n$3 [line 41, column 7]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 41, column 7]\n EXIT_SCOPE(n$3,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 41, column 7]\n " shape="box"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_5" ; "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_6" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" [label="13: Return Stmt \n n$5=*&a:int [line 42, column 17]\n *&return:int=(1 / (n$5 - 1)) [line 42, column 5]\n NULLIFY(&a); [line 42, column 5]\n EXIT_SCOPE(n$5,a); [line 42, column 5]\n APPLY_ABSTRACTION; [line 42, column 5]\n " shape="box"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" [label="13: Return Stmt \n n$4=*&a:int [line 42, column 17]\n *&return:int=(1 / (n$4 - 1)) [line 42, column 5]\n NULLIFY(&a); [line 42, column 5]\n EXIT_SCOPE(n$4,a); [line 42, column 5]\n APPLY_ABSTRACTION; [line 42, column 5]\n " shape="box"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_2" ; @@ -76,12 +76,12 @@ digraph cfg { "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_6" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_3" ; -"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_7" [label="7: DeclStmt \n n$3=_fun___variable_initialization(&a:int) assign_last [line 35, column 7]\n n$2=_fun_get1() [line 35, column 15]\n *&a:int=n$2 [line 35, column 7]\n EXIT_SCOPE(n$2,n$3); [line 35, column 7]\n " shape="box"] +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 35, column 7]\n n$2=_fun_get1() [line 35, column 15]\n *&a:int=n$2 [line 35, column 7]\n EXIT_SCOPE(n$2); [line 35, column 7]\n " shape="box"] "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_7" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_5" ; "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_7" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_6" ; -"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_8" [label="8: Return Stmt \n n$4=*&a:int [line 36, column 17]\n *&return:int=(1 / (n$4 - 1)) [line 36, column 5]\n NULLIFY(&a); [line 36, column 5]\n EXIT_SCOPE(n$4,a); [line 36, column 5]\n APPLY_ABSTRACTION; [line 36, column 5]\n " shape="box"] +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_8" [label="8: Return Stmt \n n$3=*&a:int [line 36, column 17]\n *&return:int=(1 / (n$3 - 1)) [line 36, column 5]\n NULLIFY(&a); [line 36, column 5]\n EXIT_SCOPE(n$3,a); [line 36, column 5]\n APPLY_ABSTRACTION; [line 36, column 5]\n " shape="box"] "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_8" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_2" ; @@ -100,7 +100,7 @@ digraph cfg { "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_1" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_9" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_2" [label="2: Exit reference_init_div0 \n NULLIFY(&r); [line 52, column 1]\n NULLIFY(&a); [line 52, column 1]\n " color=yellow style=filled] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_2" [label="2: Exit reference_init_div0 \n NULLIFY(&r); [line 52, column 1]\n " color=yellow style=filled] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_3" [label="3: Return Stmt \n n$0=*&r:int [line 51, column 14]\n *&return:int=(1 / n$0) [line 51, column 3]\n EXIT_SCOPE(n$0,r); [line 51, column 3]\n APPLY_ABSTRACTION; [line 51, column 3]\n " shape="box"] @@ -115,20 +115,20 @@ digraph cfg { "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" [label="6: Prune (false branch, if) \n n$2=*&a:int& [line 48, column 12]\n n$3=*n$2:int [line 48, column 12]\n PRUNE(!n$3, false); [line 48, column 12]\n EXIT_SCOPE(n$2,n$3,a); [line 48, column 12]\n APPLY_ABSTRACTION; [line 48, column 12]\n " shape="invhouse"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" [label="6: Prune (false branch, if) \n n$2=*&a:int& [line 48, column 12]\n n$3=*n$2:int [line 48, column 12]\n PRUNE(!n$3, false); [line 48, column 12]\n NULLIFY(&a); [line 48, column 12]\n EXIT_SCOPE(n$2,n$3,a); [line 48, column 12]\n APPLY_ABSTRACTION; [line 48, column 12]\n " shape="invhouse"] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_7" [label="7: DeclStmt \n n$4=_fun___variable_initialization(&a:int&) assign_last [line 48, column 7]\n *&a:int&=&r [line 48, column 7]\n EXIT_SCOPE(n$4); [line 48, column 7]\n " shape="box"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int&); [line 48, column 7]\n *&a:int&=&r [line 48, column 7]\n " shape="box"] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_7" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" ; "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_7" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" [label="8: BinaryOperatorStmt: Assign \n n$6=*&a:int& [line 49, column 5]\n *n$6:int=0 [line 49, column 5]\n EXIT_SCOPE(n$6,a); [line 49, column 5]\n APPLY_ABSTRACTION; [line 49, column 5]\n " shape="box"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" [label="8: BinaryOperatorStmt: Assign \n n$5=*&a:int& [line 49, column 5]\n *n$5:int=0 [line 49, column 5]\n NULLIFY(&a); [line 49, column 5]\n EXIT_SCOPE(n$5,a); [line 49, column 5]\n APPLY_ABSTRACTION; [line 49, column 5]\n " shape="box"] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_9" [label="9: DeclStmt \n n$9=_fun___variable_initialization(&r:int) assign_last [line 47, column 3]\n *&r:int=1 [line 47, column 3]\n EXIT_SCOPE(n$9); [line 47, column 3]\n " shape="box"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_9" [label="9: DeclStmt \n VARIABLE_DECLARED(r:int); [line 47, column 3]\n *&r:int=1 [line 47, column 3]\n " shape="box"] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_9" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_7" ; @@ -155,7 +155,7 @@ digraph cfg { "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_6" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_12" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_7" [label="7: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 23, column 7]\n *&a:int=0 [line 23, column 7]\n EXIT_SCOPE(n$2); [line 23, column 7]\n " shape="box"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 23, column 7]\n *&a:int=0 [line 23, column 7]\n " shape="box"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_7" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_5" ; @@ -168,15 +168,15 @@ digraph cfg { "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_9" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_3" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_10" [label="10: Prune (true branch, if) \n n$4=*&b:int [line 25, column 18]\n PRUNE(n$4, true); [line 25, column 18]\n NULLIFY(&b); [line 25, column 18]\n NULLIFY(&a); [line 25, column 18]\n EXIT_SCOPE(n$4,b,a); [line 25, column 18]\n " shape="invhouse"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_10" [label="10: Prune (true branch, if) \n n$3=*&b:int [line 25, column 18]\n PRUNE(n$3, true); [line 25, column 18]\n NULLIFY(&b); [line 25, column 18]\n NULLIFY(&a); [line 25, column 18]\n EXIT_SCOPE(n$3,b,a); [line 25, column 18]\n " shape="invhouse"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_10" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_13" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_11" [label="11: Prune (false branch, if) \n n$4=*&b:int [line 25, column 18]\n PRUNE(!n$4, false); [line 25, column 18]\n EXIT_SCOPE(n$4); [line 25, column 18]\n " shape="invhouse"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_11" [label="11: Prune (false branch, if) \n n$3=*&b:int [line 25, column 18]\n PRUNE(!n$3, false); [line 25, column 18]\n EXIT_SCOPE(n$3); [line 25, column 18]\n " shape="invhouse"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_11" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_12" [label="12: DeclStmt \n n$5=_fun___variable_initialization(&b:int) assign_last [line 25, column 14]\n *&b:int=0 [line 25, column 14]\n EXIT_SCOPE(n$5); [line 25, column 14]\n " shape="box"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_12" [label="12: DeclStmt \n VARIABLE_DECLARED(b:int); [line 25, column 14]\n *&b:int=0 [line 25, column 14]\n " shape="box"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_12" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_10" ; @@ -185,7 +185,7 @@ digraph cfg { "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_13" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_2" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" [label="14: Return Stmt \n n$7=*&a:int [line 28, column 17]\n n$8=*&b:int [line 28, column 21]\n *&return:int=(1 / (n$7 + n$8)) [line 28, column 5]\n NULLIFY(&b); [line 28, column 5]\n NULLIFY(&a); [line 28, column 5]\n EXIT_SCOPE(n$7,n$8,b,a); [line 28, column 5]\n APPLY_ABSTRACTION; [line 28, column 5]\n " shape="box"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" [label="14: Return Stmt \n n$5=*&a:int [line 28, column 17]\n n$6=*&b:int [line 28, column 21]\n *&return:int=(1 / (n$5 + n$6)) [line 28, column 5]\n NULLIFY(&b); [line 28, column 5]\n NULLIFY(&a); [line 28, column 5]\n EXIT_SCOPE(n$5,n$6,b,a); [line 28, column 5]\n APPLY_ABSTRACTION; [line 28, column 5]\n " shape="box"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_2" ; @@ -212,16 +212,16 @@ digraph cfg { "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" ; -"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_7" [label="7: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 15, column 7]\n *&a:int=0 [line 15, column 7]\n EXIT_SCOPE(n$2); [line 15, column 7]\n " shape="box"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 15, column 7]\n *&a:int=0 [line 15, column 7]\n " shape="box"] "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_7" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_5" ; "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_7" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" ; -"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_8" [label="8: Return Stmt \n n$3=*&a:int [line 16, column 12]\n *&return:int=n$3 [line 16, column 5]\n NULLIFY(&a); [line 16, column 5]\n EXIT_SCOPE(n$3,a); [line 16, column 5]\n APPLY_ABSTRACTION; [line 16, column 5]\n " shape="box"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_8" [label="8: Return Stmt \n n$2=*&a:int [line 16, column 12]\n *&return:int=n$2 [line 16, column 5]\n NULLIFY(&a); [line 16, column 5]\n EXIT_SCOPE(n$2,a); [line 16, column 5]\n APPLY_ABSTRACTION; [line 16, column 5]\n " shape="box"] "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_8" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_2" ; -"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" [label="9: Return Stmt \n n$5=*&a:int [line 18, column 16]\n *&return:int=(1 / n$5) [line 18, column 5]\n NULLIFY(&a); [line 18, column 5]\n EXIT_SCOPE(n$5,a); [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="box"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" [label="9: Return Stmt \n n$4=*&a:int [line 18, column 16]\n *&return:int=(1 / n$4) [line 18, column 5]\n NULLIFY(&a); [line 18, column 5]\n EXIT_SCOPE(n$4,a); [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="box"] "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_2" ; @@ -248,12 +248,12 @@ digraph cfg { "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_6" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_3" ; -"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_7" [label="7: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 9, column 7]\n *&a:int=1 [line 9, column 7]\n EXIT_SCOPE(n$2); [line 9, column 7]\n " shape="box"] +"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 7]\n *&a:int=1 [line 9, column 7]\n " shape="box"] "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_7" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_5" ; "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_7" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_6" ; -"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_8" [label="8: Return Stmt \n n$3=*&a:int [line 10, column 16]\n *&return:int=(1 / n$3) [line 10, column 5]\n NULLIFY(&a); [line 10, column 5]\n EXIT_SCOPE(n$3,a); [line 10, column 5]\n APPLY_ABSTRACTION; [line 10, column 5]\n " shape="box"] +"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_8" [label="8: Return Stmt \n n$2=*&a:int [line 10, column 16]\n *&return:int=(1 / n$2) [line 10, column 5]\n NULLIFY(&a); [line 10, column 5]\n EXIT_SCOPE(n$2,a); [line 10, column 5]\n APPLY_ABSTRACTION; [line 10, column 5]\n " shape="box"] "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_8" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_2" ; @@ -261,7 +261,7 @@ digraph cfg { "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_1" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_7" ; -"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_2" [label="2: Exit simple_init_null_deref \n NULLIFY(&p); [line 60, column 1]\n " color=yellow style=filled] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_2" [label="2: Exit simple_init_null_deref \n " color=yellow style=filled] "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_3" [label="3: + \n " ] @@ -272,7 +272,7 @@ digraph cfg { "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_4" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_2" ; -"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_5" [label="5: Prune (true branch, if) \n n$1=*&p:int* [line 55, column 12]\n PRUNE(n$1, true); [line 55, column 12]\n EXIT_SCOPE(n$1,p); [line 55, column 12]\n " shape="invhouse"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_5" [label="5: Prune (true branch, if) \n n$1=*&p:int* [line 55, column 12]\n PRUNE(n$1, true); [line 55, column 12]\n NULLIFY(&p); [line 55, column 12]\n EXIT_SCOPE(n$1,p); [line 55, column 12]\n " shape="invhouse"] "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_5" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_8" ; @@ -280,7 +280,7 @@ digraph cfg { "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_6" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" ; -"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_7" [label="7: DeclStmt \n n$2=_fun___variable_initialization(&p:int*) assign_last [line 55, column 7]\n *&p:int*=null [line 55, column 7]\n EXIT_SCOPE(n$2); [line 55, column 7]\n " shape="box"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_7" [label="7: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 55, column 7]\n *&p:int*=null [line 55, column 7]\n " shape="box"] "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_7" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_5" ; @@ -289,7 +289,7 @@ digraph cfg { "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_8" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_2" ; -"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" [label="9: Return Stmt \n n$4=*&p:int* [line 58, column 13]\n n$5=*n$4:int [line 58, column 12]\n *&return:int=n$5 [line 58, column 5]\n EXIT_SCOPE(n$4,n$5,p); [line 58, column 5]\n APPLY_ABSTRACTION; [line 58, column 5]\n " shape="box"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" [label="9: Return Stmt \n n$3=*&p:int* [line 58, column 13]\n n$4=*n$3:int [line 58, column 12]\n *&return:int=n$4 [line 58, column 5]\n NULLIFY(&p); [line 58, column 5]\n EXIT_SCOPE(n$3,n$4,p); [line 58, column 5]\n APPLY_ABSTRACTION; [line 58, column 5]\n " shape="box"] "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_switch.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_switch.cpp.dot index f7b8fa2d0..620489520 100644 --- a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_switch.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_switch.cpp.dot @@ -12,11 +12,11 @@ digraph cfg { "get#10177141129833125794.403aae26476e3a02c544075e122228e0_3" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" ; "get#10177141129833125794.403aae26476e3a02c544075e122228e0_3" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&x:int) assign_last [line 9, column 11]\n n$2=*&a:int [line 9, column 19]\n *&x:int=n$2 [line 9, column 11]\n NULLIFY(&a); [line 9, column 11]\n EXIT_SCOPE(n$2,n$3,a); [line 9, column 11]\n " shape="box"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 11]\n n$2=*&a:int [line 9, column 19]\n *&x:int=n$2 [line 9, column 11]\n NULLIFY(&a); [line 9, column 11]\n EXIT_SCOPE(n$2,a); [line 9, column 11]\n " shape="box"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_4" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_3" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" [label="5: Return Stmt \n n$5=*&x:int [line 16, column 14]\n *&return:int=n$5 [line 16, column 7]\n NULLIFY(&x); [line 16, column 7]\n EXIT_SCOPE(n$5,x); [line 16, column 7]\n APPLY_ABSTRACTION; [line 16, column 7]\n " shape="box"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" [label="5: Return Stmt \n n$4=*&x:int [line 16, column 14]\n *&return:int=n$4 [line 16, column 7]\n NULLIFY(&x); [line 16, column 7]\n EXIT_SCOPE(n$4,x); [line 16, column 7]\n APPLY_ABSTRACTION; [line 16, column 7]\n " shape="box"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_while.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_while.cpp.dot index 903c55ccf..21b26a046 100644 --- a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_while.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_while.cpp.dot @@ -48,24 +48,24 @@ digraph cfg { "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_12" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_7" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_13" [label="13: DeclStmt \n n$6=_fun___variable_initialization(&a:int) assign_last [line 21, column 10]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 21, column 18]\n *&a:int=n$5 [line 21, column 10]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 21, column 10]\n EXIT_SCOPE(n$5,n$6,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 21, column 10]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_13" [label="13: DeclStmt \n VARIABLE_DECLARED(a:int); [line 21, column 10]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 21, column 18]\n *&a:int=n$5 [line 21, column 10]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 21, column 10]\n EXIT_SCOPE(n$5,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 21, column 10]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_13" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_5" ; "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_13" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_6" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_14" [label="14: BinaryOperatorStmt: SubAssign \n n$8=*&x:int [line 23, column 5]\n *&x:int=(n$8 - 1) [line 23, column 5]\n EXIT_SCOPE(n$8); [line 23, column 5]\n APPLY_ABSTRACTION; [line 23, column 5]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_14" [label="14: BinaryOperatorStmt: SubAssign \n n$7=*&x:int [line 23, column 5]\n *&x:int=(n$7 - 1) [line 23, column 5]\n EXIT_SCOPE(n$7); [line 23, column 5]\n APPLY_ABSTRACTION; [line 23, column 5]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_14" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_4" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_15" [label="15: BinaryOperatorStmt: AddAssign \n n$9=*&a:int [line 22, column 15]\n n$10=*&result:int [line 22, column 5]\n *&result:int=(n$10 + n$9) [line 22, column 5]\n NULLIFY(&a); [line 22, column 5]\n EXIT_SCOPE(n$9,n$10,a); [line 22, column 5]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_15" [label="15: BinaryOperatorStmt: AddAssign \n n$8=*&a:int [line 22, column 15]\n n$9=*&result:int [line 22, column 5]\n *&result:int=(n$9 + n$8) [line 22, column 5]\n NULLIFY(&a); [line 22, column 5]\n EXIT_SCOPE(n$8,n$9,a); [line 22, column 5]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_15" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_14" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_16" [label="16: DeclStmt \n n$12=_fun___variable_initialization(&result:int) assign_last [line 20, column 3]\n *&result:int=0 [line 20, column 3]\n EXIT_SCOPE(n$12); [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_16" [label="16: DeclStmt \n VARIABLE_DECLARED(result:int); [line 20, column 3]\n *&result:int=0 [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_16" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_4" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_17" [label="17: DeclStmt \n n$13=_fun___variable_initialization(&x:int) assign_last [line 19, column 3]\n *&x:int=10 [line 19, column 3]\n EXIT_SCOPE(n$13); [line 19, column 3]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_17" [label="17: DeclStmt \n VARIABLE_DECLARED(x:int); [line 19, column 3]\n *&x:int=10 [line 19, column 3]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_17" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_16" ; @@ -92,24 +92,24 @@ digraph cfg { "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_6" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_3" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_7" [label="7: DeclStmt \n n$3=_fun___variable_initialization(&a:int) assign_last [line 11, column 10]\n n$2=*&x:int [line 11, column 18]\n *&a:int=n$2 [line 11, column 10]\n EXIT_SCOPE(n$2,n$3); [line 11, column 10]\n " shape="box"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 11, column 10]\n n$2=*&x:int [line 11, column 18]\n *&a:int=n$2 [line 11, column 10]\n EXIT_SCOPE(n$2); [line 11, column 10]\n " shape="box"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_7" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_5" ; "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_7" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_6" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_8" [label="8: BinaryOperatorStmt: SubAssign \n n$5=*&x:int [line 13, column 5]\n *&x:int=(n$5 - 1) [line 13, column 5]\n EXIT_SCOPE(n$5); [line 13, column 5]\n APPLY_ABSTRACTION; [line 13, column 5]\n " shape="box"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_8" [label="8: BinaryOperatorStmt: SubAssign \n n$4=*&x:int [line 13, column 5]\n *&x:int=(n$4 - 1) [line 13, column 5]\n EXIT_SCOPE(n$4); [line 13, column 5]\n APPLY_ABSTRACTION; [line 13, column 5]\n " shape="box"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_8" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_4" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_9" [label="9: BinaryOperatorStmt: AddAssign \n n$6=*&a:int [line 12, column 15]\n n$7=*&result:int [line 12, column 5]\n *&result:int=(n$7 + n$6) [line 12, column 5]\n NULLIFY(&a); [line 12, column 5]\n EXIT_SCOPE(n$6,n$7,a); [line 12, column 5]\n " shape="box"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_9" [label="9: BinaryOperatorStmt: AddAssign \n n$5=*&a:int [line 12, column 15]\n n$6=*&result:int [line 12, column 5]\n *&result:int=(n$6 + n$5) [line 12, column 5]\n NULLIFY(&a); [line 12, column 5]\n EXIT_SCOPE(n$5,n$6,a); [line 12, column 5]\n " shape="box"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_9" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_8" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_10" [label="10: DeclStmt \n n$9=_fun___variable_initialization(&result:int) assign_last [line 10, column 3]\n *&result:int=0 [line 10, column 3]\n EXIT_SCOPE(n$9); [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_10" [label="10: DeclStmt \n VARIABLE_DECLARED(result:int); [line 10, column 3]\n *&result:int=0 [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_10" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_4" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_11" [label="11: DeclStmt \n n$10=_fun___variable_initialization(&x:int) assign_last [line 9, column 3]\n *&x:int=10 [line 9, column 3]\n EXIT_SCOPE(n$10); [line 9, column 3]\n " shape="box"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=10 [line 9, column 3]\n " shape="box"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_11" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_10" ; 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 4d67b4350..115c0b0c6 100644 --- a/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot @@ -26,14 +26,14 @@ digraph cfg { "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_1" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_4" ; -"npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_2" [label="2: Exit npe_call \n NULLIFY(&x); [line 16, column 1]\n " color=yellow style=filled] +"npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_2" [label="2: Exit npe_call \n " color=yellow style=filled] -"npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_3" [label="3: Return Stmt \n n$0=*&x:X* [line 15, column 10]\n _=*n$0:X [line 15, column 10]\n n$2=_fun_X::call(n$0:X*) [line 15, column 10]\n *&return:int=n$2 [line 15, column 3]\n EXIT_SCOPE(_,n$0,n$2,x); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_3" [label="3: Return Stmt \n n$0=*&x:X* [line 15, column 10]\n _=*n$0:X [line 15, column 10]\n n$2=_fun_X::call(n$0:X*) [line 15, column 10]\n *&return:int=n$2 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(_,n$0,n$2,x); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_3" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_2" ; -"npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&x:X*) assign_last [line 14, column 3]\n *&x:X*=null [line 14, column 3]\n EXIT_SCOPE(n$4); [line 14, column 3]\n " shape="box"] +"npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:X*); [line 14, column 3]\n *&x:X*=null [line 14, column 3]\n " shape="box"] "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_4" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/box.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/box.cpp.dot index f96f50c20..caa8165a1 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/box.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/box.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&r); [line 12, column 1]\n NULLIFY(&v); [line 12, column 1]\n NULLIFY(&p); [line 12, column 1]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&v); [line 12, column 1]\n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&p:int*) assign_last [line 11, column 3]\n *&p:int*=&v [line 11, column 3]\n EXIT_SCOPE(n$1,p,v); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 11, column 3]\n *&p:int*=&v [line 11, column 3]\n NULLIFY(&p); [line 11, column 3]\n EXIT_SCOPE(p,v); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&r:int&) assign_last [line 10, column 3]\n *&r:int&=&v [line 10, column 3]\n EXIT_SCOPE(n$2,r); [line 10, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 10, column 3]\n *&r:int&=&v [line 10, column 3]\n NULLIFY(&r); [line 10, column 3]\n EXIT_SCOPE(r); [line 10, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&v:int) assign_last [line 9, column 3]\n *&v:int=3 [line 9, column 3]\n EXIT_SCOPE(n$3); [line 9, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 9, column 3]\n *&v:int=3 [line 9, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/increment.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/increment.cpp.dot index e3d23c03d..aa24bc837 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/increment.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/increment.cpp.dot @@ -4,22 +4,22 @@ digraph cfg { "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_1" -> "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_6" ; -"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_2" [label="2: Exit using_ref \n NULLIFY(&q); [line 19, column 1]\n NULLIFY(&v); [line 19, column 1]\n NULLIFY(&vr); [line 19, column 1]\n NULLIFY(&r); [line 19, column 1]\n " color=yellow style=filled] +"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_2" [label="2: Exit using_ref \n NULLIFY(&v); [line 19, column 1]\n " color=yellow style=filled] -"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_3" [label="3: DeclStmt \n n$3=_fun___variable_initialization(&q:int&) assign_last [line 18, column 3]\n n$1=*&vr:int& [line 18, column 14]\n n$2=*n$1:int [line 18, column 12]\n *n$1:int=(n$2 - 1) [line 18, column 12]\n *&q:int&=n$1 [line 18, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,vr,q); [line 18, column 3]\n APPLY_ABSTRACTION; [line 18, column 3]\n " shape="box"] +"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_3" [label="3: DeclStmt \n VARIABLE_DECLARED(q:int&); [line 18, column 3]\n n$1=*&vr:int& [line 18, column 14]\n n$2=*n$1:int [line 18, column 12]\n *n$1:int=(n$2 - 1) [line 18, column 12]\n *&q:int&=n$1 [line 18, column 3]\n NULLIFY(&vr); [line 18, column 3]\n NULLIFY(&q); [line 18, column 3]\n EXIT_SCOPE(n$1,n$2,vr,q); [line 18, column 3]\n APPLY_ABSTRACTION; [line 18, column 3]\n " shape="box"] "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_3" -> "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_2" ; -"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&r:int&) assign_last [line 17, column 3]\n n$4=*&vr:int& [line 17, column 14]\n n$5=*n$4:int [line 17, column 12]\n *n$4:int=(n$5 + 1) [line 17, column 12]\n *&r:int&=n$4 [line 17, column 3]\n EXIT_SCOPE(n$4,n$5,n$6,r); [line 17, column 3]\n " shape="box"] +"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_4" [label="4: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 17, column 3]\n n$3=*&vr:int& [line 17, column 14]\n n$4=*n$3:int [line 17, column 12]\n *n$3:int=(n$4 + 1) [line 17, column 12]\n *&r:int&=n$3 [line 17, column 3]\n NULLIFY(&r); [line 17, column 3]\n EXIT_SCOPE(n$3,n$4,r); [line 17, column 3]\n " shape="box"] "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_4" -> "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_3" ; -"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&vr:int&) assign_last [line 16, column 3]\n *&vr:int&=&v [line 16, column 3]\n EXIT_SCOPE(n$7,v); [line 16, column 3]\n " shape="box"] +"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_5" [label="5: DeclStmt \n VARIABLE_DECLARED(vr:int&); [line 16, column 3]\n *&vr:int&=&v [line 16, column 3]\n EXIT_SCOPE(v); [line 16, column 3]\n " shape="box"] "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_5" -> "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_4" ; -"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_6" [label="6: DeclStmt \n n$8=_fun___variable_initialization(&v:int) assign_last [line 15, column 3]\n *&v:int=3 [line 15, column 3]\n EXIT_SCOPE(n$8); [line 15, column 3]\n " shape="box"] +"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_6" [label="6: DeclStmt \n VARIABLE_DECLARED(v:int); [line 15, column 3]\n *&v:int=3 [line 15, column 3]\n " shape="box"] "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_6" -> "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_5" ; @@ -27,18 +27,18 @@ digraph cfg { "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_1" -> "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_5" ; -"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_2" [label="2: Exit using_value \n NULLIFY(&r); [line 12, column 1]\n NULLIFY(&v); [line 12, column 1]\n NULLIFY(&q); [line 12, column 1]\n " color=yellow style=filled] +"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_2" [label="2: Exit using_value \n NULLIFY(&v); [line 12, column 1]\n " color=yellow style=filled] -"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&q:int&) assign_last [line 11, column 3]\n n$1=*&v:int [line 11, column 12]\n *&v:int=(n$1 - 1) [line 11, column 12]\n *&q:int&=&v [line 11, column 3]\n EXIT_SCOPE(n$1,n$2,q,v); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_3" [label="3: DeclStmt \n VARIABLE_DECLARED(q:int&); [line 11, column 3]\n n$1=*&v:int [line 11, column 12]\n *&v:int=(n$1 - 1) [line 11, column 12]\n *&q:int&=&v [line 11, column 3]\n NULLIFY(&q); [line 11, column 3]\n EXIT_SCOPE(n$1,q,v); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_3" -> "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_2" ; -"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&r:int&) assign_last [line 10, column 3]\n n$3=*&v:int [line 10, column 12]\n *&v:int=(n$3 + 1) [line 10, column 12]\n *&r:int&=&v [line 10, column 3]\n EXIT_SCOPE(n$3,n$4,r); [line 10, column 3]\n " shape="box"] +"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_4" [label="4: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 10, column 3]\n n$2=*&v:int [line 10, column 12]\n *&v:int=(n$2 + 1) [line 10, column 12]\n *&r:int&=&v [line 10, column 3]\n NULLIFY(&r); [line 10, column 3]\n EXIT_SCOPE(n$2,r); [line 10, column 3]\n " shape="box"] "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_4" -> "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_3" ; -"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&v:int) assign_last [line 9, column 3]\n *&v:int=3 [line 9, column 3]\n EXIT_SCOPE(n$5); [line 9, column 3]\n " shape="box"] +"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 9, column 3]\n *&v:int=3 [line 9, column 3]\n " shape="box"] "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_5" -> "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/init.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/init.cpp.dot index 507f9f270..9039cad6a 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/init.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_1" -> "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_5" ; -"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_2" [label="2: Exit init_from_ptr \n NULLIFY(&d); [line 24, column 1]\n NULLIFY(&p); [line 24, column 1]\n " color=yellow style=filled] +"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_2" [label="2: Exit init_from_ptr \n " color=yellow style=filled] -"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&p:int*) assign_last [line 23, column 3]\n n$1=*&par:int* [line 23, column 12]\n *&p:int*=n$1 [line 23, column 3]\n NULLIFY(&par); [line 23, column 3]\n EXIT_SCOPE(n$1,n$2,par,p); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 23, column 3]\n n$1=*&par:int* [line 23, column 12]\n *&p:int*=n$1 [line 23, column 3]\n NULLIFY(&par); [line 23, column 3]\n NULLIFY(&p); [line 23, column 3]\n EXIT_SCOPE(n$1,par,p); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_3" -> "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_2" ; -"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&d:int&) assign_last [line 22, column 3]\n n$3=*&par:int* [line 22, column 13]\n *&d:int&=n$3 [line 22, column 3]\n EXIT_SCOPE(n$3,n$4,d); [line 22, column 3]\n " shape="box"] +"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int&); [line 22, column 3]\n n$2=*&par:int* [line 22, column 13]\n *&d:int&=n$2 [line 22, column 3]\n NULLIFY(&d); [line 22, column 3]\n EXIT_SCOPE(n$2,d); [line 22, column 3]\n " shape="box"] "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_4" -> "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_3" ; -"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&v:int) assign_last [line 21, column 3]\n n$5=*&par:int* [line 21, column 12]\n n$6=*n$5:int [line 21, column 11]\n *&v:int=n$6 [line 21, column 3]\n NULLIFY(&v); [line 21, column 3]\n EXIT_SCOPE(n$5,n$6,n$7,v); [line 21, column 3]\n " shape="box"] +"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 21, column 3]\n n$3=*&par:int* [line 21, column 12]\n n$4=*n$3:int [line 21, column 11]\n *&v:int=n$4 [line 21, column 3]\n NULLIFY(&v); [line 21, column 3]\n EXIT_SCOPE(n$3,n$4,v); [line 21, column 3]\n " shape="box"] "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_5" -> "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_4" ; @@ -23,18 +23,18 @@ digraph cfg { "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_1" -> "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_5" ; -"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_2" [label="2: Exit init_from_ref \n NULLIFY(&d); [line 12, column 1]\n NULLIFY(&p); [line 12, column 1]\n " color=yellow style=filled] +"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_2" [label="2: Exit init_from_ref \n " color=yellow style=filled] -"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&p:int*) assign_last [line 11, column 3]\n n$1=*&par:int& [line 11, column 13]\n *&p:int*=n$1 [line 11, column 3]\n NULLIFY(&par); [line 11, column 3]\n EXIT_SCOPE(n$1,n$2,p,par); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 11, column 3]\n n$1=*&par:int& [line 11, column 13]\n *&p:int*=n$1 [line 11, column 3]\n NULLIFY(&p); [line 11, column 3]\n NULLIFY(&par); [line 11, column 3]\n EXIT_SCOPE(n$1,p,par); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_3" -> "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_2" ; -"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&d:int&) assign_last [line 10, column 3]\n n$3=*&par:int& [line 10, column 12]\n *&d:int&=n$3 [line 10, column 3]\n EXIT_SCOPE(n$3,n$4,d); [line 10, column 3]\n " shape="box"] +"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int&); [line 10, column 3]\n n$2=*&par:int& [line 10, column 12]\n *&d:int&=n$2 [line 10, column 3]\n NULLIFY(&d); [line 10, column 3]\n EXIT_SCOPE(n$2,d); [line 10, column 3]\n " shape="box"] "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_4" -> "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_3" ; -"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&v:int) assign_last [line 9, column 3]\n n$5=*&par:int& [line 9, column 11]\n n$6=*n$5:int [line 9, column 11]\n *&v:int=n$6 [line 9, column 3]\n NULLIFY(&v); [line 9, column 3]\n EXIT_SCOPE(n$5,n$6,n$7,v); [line 9, column 3]\n " shape="box"] +"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 9, column 3]\n n$3=*&par:int& [line 9, column 11]\n n$4=*n$3:int [line 9, column 11]\n *&v:int=n$4 [line 9, column 3]\n NULLIFY(&v); [line 9, column 3]\n EXIT_SCOPE(n$3,n$4,v); [line 9, column 3]\n " shape="box"] "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_5" -> "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_4" ; @@ -42,18 +42,18 @@ digraph cfg { "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_1" -> "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_5" ; -"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_2" [label="2: Exit init_from_val \n NULLIFY(&d); [line 18, column 1]\n NULLIFY(&par); [line 18, column 1]\n NULLIFY(&p); [line 18, column 1]\n " color=yellow style=filled] +"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_2" [label="2: Exit init_from_val \n NULLIFY(&par); [line 18, column 1]\n " color=yellow style=filled] -"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&p:int*) assign_last [line 17, column 3]\n *&p:int*=&par [line 17, column 3]\n EXIT_SCOPE(n$1,p,par); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 17, column 3]\n *&p:int*=&par [line 17, column 3]\n NULLIFY(&p); [line 17, column 3]\n EXIT_SCOPE(p,par); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_3" -> "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_2" ; -"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&d:int&) assign_last [line 16, column 3]\n *&d:int&=&par [line 16, column 3]\n EXIT_SCOPE(n$2,d); [line 16, column 3]\n " shape="box"] +"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int&); [line 16, column 3]\n *&d:int&=&par [line 16, column 3]\n NULLIFY(&d); [line 16, column 3]\n EXIT_SCOPE(d); [line 16, column 3]\n " shape="box"] "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_4" -> "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_3" ; -"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_5" [label="5: DeclStmt \n n$4=_fun___variable_initialization(&v:int) assign_last [line 15, column 3]\n n$3=*&par:int [line 15, column 11]\n *&v:int=n$3 [line 15, column 3]\n NULLIFY(&v); [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,v); [line 15, column 3]\n " shape="box"] +"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 15, column 3]\n n$1=*&par:int [line 15, column 11]\n *&v:int=n$1 [line 15, column 3]\n NULLIFY(&v); [line 15, column 3]\n EXIT_SCOPE(n$1,v); [line 15, column 3]\n " shape="box"] "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_5" -> "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot index fe61778fc..64eeb5316 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_2" [label="2: Exit access_ptr \n " color=yellow style=filled] -"access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_3" [label="3: DeclStmt \n n$4=_fun___variable_initialization(&c:int) assign_last [line 20, column 3]\n n$1=*&x:X* [line 20, column 11]\n _=*n$1:X [line 20, column 11]\n n$3=_fun_X::call(n$1:X*) [line 20, column 11]\n *&c:int=n$3 [line 20, column 3]\n NULLIFY(&c); [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(_,n$1,n$3,n$4,c,x); [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 20, column 3]\n n$1=*&x:X* [line 20, column 11]\n _=*n$1:X [line 20, column 11]\n n$3=_fun_X::call(n$1:X*) [line 20, column 11]\n *&c:int=n$3 [line 20, column 3]\n NULLIFY(&c); [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(_,n$1,n$3,c,x); [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] "access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_3" -> "access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_2" ; -"access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_4" [label="4: DeclStmt \n n$7=_fun___variable_initialization(&f:int) assign_last [line 19, column 3]\n n$5=*&x:X* [line 19, column 11]\n n$6=*n$5.f:int [line 19, column 11]\n *&f:int=n$6 [line 19, column 3]\n NULLIFY(&f); [line 19, column 3]\n EXIT_SCOPE(n$5,n$6,n$7,f); [line 19, column 3]\n " shape="box"] +"access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 19, column 3]\n n$4=*&x:X* [line 19, column 11]\n n$5=*n$4.f:int [line 19, column 11]\n *&f:int=n$5 [line 19, column 3]\n NULLIFY(&f); [line 19, column 3]\n EXIT_SCOPE(n$4,n$5,f); [line 19, column 3]\n " shape="box"] "access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_4" -> "access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_3" ; @@ -22,11 +22,11 @@ digraph cfg { "access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_2" [label="2: Exit access_ref \n " color=yellow style=filled] -"access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_3" [label="3: DeclStmt \n n$4=_fun___variable_initialization(&c:int) assign_last [line 15, column 3]\n n$1=*&x:X& [line 15, column 11]\n _=*n$1:X [line 15, column 11]\n n$3=_fun_X::call(n$1:X&) [line 15, column 11]\n *&c:int=n$3 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n NULLIFY(&c); [line 15, column 3]\n EXIT_SCOPE(_,n$1,n$3,n$4,x,c); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 15, column 3]\n n$1=*&x:X& [line 15, column 11]\n _=*n$1:X [line 15, column 11]\n n$3=_fun_X::call(n$1:X&) [line 15, column 11]\n *&c:int=n$3 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n NULLIFY(&c); [line 15, column 3]\n EXIT_SCOPE(_,n$1,n$3,x,c); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] "access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_3" -> "access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_2" ; -"access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_4" [label="4: DeclStmt \n n$7=_fun___variable_initialization(&f:int) assign_last [line 14, column 3]\n n$5=*&x:X& [line 14, column 11]\n n$6=*n$5.f:int [line 14, column 11]\n *&f:int=n$6 [line 14, column 3]\n NULLIFY(&f); [line 14, column 3]\n EXIT_SCOPE(n$5,n$6,n$7,f); [line 14, column 3]\n " shape="box"] +"access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 14, column 3]\n n$4=*&x:X& [line 14, column 11]\n n$5=*n$4.f:int [line 14, column 11]\n *&f:int=n$5 [line 14, column 3]\n NULLIFY(&f); [line 14, column 3]\n EXIT_SCOPE(n$4,n$5,f); [line 14, column 3]\n " shape="box"] "access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_4" -> "access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_3" ; 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 53fc24140..6d9250d6f 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 n$1=_fun___variable_initialization(&#GB$global:X) assign_last [line 13, column 1]\n n$0=_fun_X::X(&#GB$global:X*) [line 13, column 3]\n EXIT_SCOPE(n$0,n$1); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$global:X); [line 13, column 1]\n n$0=_fun_X::X(&#GB$global:X*) [line 13, column 3]\n EXIT_SCOPE(n$0); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -40,11 +40,11 @@ digraph cfg { "test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_2" [label="2: Exit test_ptr \n " color=yellow style=filled] -"test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_3" [label="3: DeclStmt \n n$4=_fun___variable_initialization(&c:int) assign_last [line 24, column 3]\n n$1=_fun_get_ptr() [line 24, column 11]\n _=*n$1:X [line 24, column 11]\n n$3=_fun_X::call(n$1:X*) [line 24, column 11]\n *&c:int=n$3 [line 24, column 3]\n NULLIFY(&c); [line 24, column 3]\n EXIT_SCOPE(_,n$1,n$3,n$4,c); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 24, column 3]\n n$1=_fun_get_ptr() [line 24, column 11]\n _=*n$1:X [line 24, column 11]\n n$3=_fun_X::call(n$1:X*) [line 24, column 11]\n *&c:int=n$3 [line 24, column 3]\n NULLIFY(&c); [line 24, column 3]\n EXIT_SCOPE(_,n$1,n$3,c); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] "test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_3" -> "test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_2" ; -"test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_4" [label="4: DeclStmt \n n$7=_fun___variable_initialization(&f:int) assign_last [line 23, column 3]\n n$5=_fun_get_ptr() [line 23, column 11]\n n$6=*n$5.f:int [line 23, column 11]\n *&f:int=n$6 [line 23, column 3]\n NULLIFY(&f); [line 23, column 3]\n EXIT_SCOPE(n$5,n$6,n$7,f); [line 23, column 3]\n " shape="box"] +"test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 23, column 3]\n n$4=_fun_get_ptr() [line 23, column 11]\n n$5=*n$4.f:int [line 23, column 11]\n *&f:int=n$5 [line 23, column 3]\n NULLIFY(&f); [line 23, column 3]\n EXIT_SCOPE(n$4,n$5,f); [line 23, column 3]\n " shape="box"] "test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_4" -> "test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_3" ; @@ -55,11 +55,11 @@ digraph cfg { "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_2" [label="2: Exit test_ref \n " color=yellow style=filled] -"test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_3" [label="3: DeclStmt \n n$4=_fun___variable_initialization(&c:int) assign_last [line 19, column 3]\n n$1=_fun_get_ref() [line 19, column 11]\n _=*n$1:X [line 19, column 11]\n n$3=_fun_X::call(n$1:X&) [line 19, column 11]\n *&c:int=n$3 [line 19, column 3]\n NULLIFY(&c); [line 19, column 3]\n EXIT_SCOPE(_,n$1,n$3,n$4,c); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 19, column 3]\n n$1=_fun_get_ref() [line 19, column 11]\n _=*n$1:X [line 19, column 11]\n n$3=_fun_X::call(n$1:X&) [line 19, column 11]\n *&c:int=n$3 [line 19, column 3]\n NULLIFY(&c); [line 19, column 3]\n EXIT_SCOPE(_,n$1,n$3,c); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_3" -> "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_2" ; -"test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_4" [label="4: DeclStmt \n n$7=_fun___variable_initialization(&f:int) assign_last [line 18, column 3]\n n$5=_fun_get_ref() [line 18, column 11]\n n$6=*n$5.f:int [line 18, column 11]\n *&f:int=n$6 [line 18, column 3]\n NULLIFY(&f); [line 18, column 3]\n EXIT_SCOPE(n$5,n$6,n$7,f); [line 18, column 3]\n " shape="box"] +"test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 18, column 3]\n n$4=_fun_get_ref() [line 18, column 11]\n n$5=*n$4.f:int [line 18, column 11]\n *&f:int=n$5 [line 18, column 3]\n NULLIFY(&f); [line 18, column 3]\n EXIT_SCOPE(n$4,n$5,f); [line 18, column 3]\n " shape="box"] "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_4" -> "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/nested_assignment.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/nested_assignment.cpp.dot index 12a759756..fff17f360 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/nested_assignment.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/nested_assignment.cpp.dot @@ -4,22 +4,22 @@ digraph cfg { "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_1" -> "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_6" ; -"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_2" [label="2: Exit crazy_nested \n NULLIFY(&ref_from_ref); [line 28, column 1]\n NULLIFY(&a); [line 28, column 1]\n NULLIFY(&ref_from_val); [line 28, column 1]\n " color=yellow style=filled] +"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_2" [label="2: Exit crazy_nested \n NULLIFY(&a); [line 28, column 1]\n " color=yellow style=filled] -"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_3" [label="3: DeclStmt \n n$3=_fun___variable_initialization(&ref_from_ref:int&) assign_last [line 27, column 3]\n n$1=*&ref_from_val:int& [line 27, column 23]\n *&b:int=5 [line 27, column 38]\n n$2=*&b:int [line 27, column 38]\n *n$1:int=n$2 [line 27, column 23]\n *&ref_from_ref:int&=n$1 [line 27, column 3]\n NULLIFY(&b); [line 27, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,b,ref_from_val,ref_from_ref); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ref_from_ref:int&); [line 27, column 3]\n n$1=*&ref_from_val:int& [line 27, column 23]\n *&b:int=5 [line 27, column 38]\n n$2=*&b:int [line 27, column 38]\n *n$1:int=n$2 [line 27, column 23]\n *&ref_from_ref:int&=n$1 [line 27, column 3]\n NULLIFY(&b); [line 27, column 3]\n NULLIFY(&ref_from_val); [line 27, column 3]\n NULLIFY(&ref_from_ref); [line 27, column 3]\n EXIT_SCOPE(n$1,n$2,b,ref_from_val,ref_from_ref); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_3" -> "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_2" ; -"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&ref_from_val:int&) assign_last [line 26, column 3]\n *&b:int=4 [line 26, column 27]\n n$4=*&b:int [line 26, column 27]\n *&a:int=n$4 [line 26, column 23]\n *&ref_from_val:int&=&a [line 26, column 3]\n NULLIFY(&b); [line 26, column 3]\n EXIT_SCOPE(n$4,n$5,b,a); [line 26, column 3]\n " shape="box"] +"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref_from_val:int&); [line 26, column 3]\n *&b:int=4 [line 26, column 27]\n n$3=*&b:int [line 26, column 27]\n *&a:int=n$3 [line 26, column 23]\n *&ref_from_val:int&=&a [line 26, column 3]\n NULLIFY(&b); [line 26, column 3]\n EXIT_SCOPE(n$3,b,a); [line 26, column 3]\n " shape="box"] "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_4" -> "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_3" ; -"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&b:int) assign_last [line 22, column 3]\n n$6=*&a:int [line 22, column 11]\n *&b:int=n$6 [line 22, column 3]\n NULLIFY(&b); [line 22, column 3]\n EXIT_SCOPE(n$6,n$7,b,a); [line 22, column 3]\n " shape="box"] +"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 22, column 3]\n n$4=*&a:int [line 22, column 11]\n *&b:int=n$4 [line 22, column 3]\n NULLIFY(&b); [line 22, column 3]\n EXIT_SCOPE(n$4,b,a); [line 22, column 3]\n " shape="box"] "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_5" -> "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_4" ; -"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_6" [label="6: DeclStmt \n n$8=_fun___variable_initialization(&a:int) assign_last [line 21, column 3]\n *&a:int=3 [line 21, column 3]\n EXIT_SCOPE(n$8); [line 21, column 3]\n " shape="box"] +"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 21, column 3]\n *&a:int=3 [line 21, column 3]\n " shape="box"] "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_6" -> "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_5" ; @@ -27,18 +27,18 @@ digraph cfg { "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_1" -> "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_5" ; -"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_2" [label="2: Exit nested \n NULLIFY(&a); [line 18, column 1]\n NULLIFY(&ref_from_ref); [line 18, column 1]\n NULLIFY(&ref_from_val); [line 18, column 1]\n " color=yellow style=filled] +"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_2" [label="2: Exit nested \n NULLIFY(&a); [line 18, column 1]\n " color=yellow style=filled] -"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&ref_from_ref:int&) assign_last [line 17, column 3]\n n$1=*&ref_from_val:int& [line 17, column 23]\n *n$1:int=6 [line 17, column 23]\n *&ref_from_ref:int&=n$1 [line 17, column 3]\n EXIT_SCOPE(n$1,n$2,ref_from_val,ref_from_ref); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ref_from_ref:int&); [line 17, column 3]\n n$1=*&ref_from_val:int& [line 17, column 23]\n *n$1:int=6 [line 17, column 23]\n *&ref_from_ref:int&=n$1 [line 17, column 3]\n NULLIFY(&ref_from_val); [line 17, column 3]\n NULLIFY(&ref_from_ref); [line 17, column 3]\n EXIT_SCOPE(n$1,ref_from_val,ref_from_ref); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_3" -> "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_2" ; -"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&ref_from_val:int&) assign_last [line 16, column 3]\n *&a:int=4 [line 16, column 23]\n *&ref_from_val:int&=&a [line 16, column 3]\n EXIT_SCOPE(n$3,a); [line 16, column 3]\n " shape="box"] +"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref_from_val:int&); [line 16, column 3]\n *&a:int=4 [line 16, column 23]\n *&ref_from_val:int&=&a [line 16, column 3]\n EXIT_SCOPE(a); [line 16, column 3]\n " shape="box"] "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_4" -> "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_3" ; -"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_5" [label="5: DeclStmt \n n$4=_fun___variable_initialization(&a:int) assign_last [line 15, column 3]\n *&a:int=3 [line 15, column 3]\n EXIT_SCOPE(n$4,a); [line 15, column 3]\n " shape="box"] +"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 15, column 3]\n *&a:int=3 [line 15, column 3]\n EXIT_SCOPE(a); [line 15, column 3]\n " shape="box"] "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_5" -> "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_4" ; @@ -46,18 +46,18 @@ digraph cfg { "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_1" -> "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_5" ; -"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_2" [label="2: Exit normal \n NULLIFY(&ref_from_val); [line 12, column 1]\n NULLIFY(&ref_from_ref); [line 12, column 1]\n NULLIFY(&a); [line 12, column 1]\n " color=yellow style=filled] +"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_2" [label="2: Exit normal \n NULLIFY(&a); [line 12, column 1]\n " color=yellow style=filled] -"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&ref_from_ref:int&) assign_last [line 11, column 3]\n n$1=*&ref_from_val:int& [line 11, column 23]\n *&ref_from_ref:int&=n$1 [line 11, column 3]\n EXIT_SCOPE(n$1,n$2,ref_from_ref,ref_from_val); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ref_from_ref:int&); [line 11, column 3]\n n$1=*&ref_from_val:int& [line 11, column 23]\n *&ref_from_ref:int&=n$1 [line 11, column 3]\n NULLIFY(&ref_from_ref); [line 11, column 3]\n NULLIFY(&ref_from_val); [line 11, column 3]\n EXIT_SCOPE(n$1,ref_from_ref,ref_from_val); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_3" -> "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_2" ; -"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&ref_from_val:int&) assign_last [line 10, column 3]\n *&ref_from_val:int&=&a [line 10, column 3]\n EXIT_SCOPE(n$3,a); [line 10, column 3]\n " shape="box"] +"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref_from_val:int&); [line 10, column 3]\n *&ref_from_val:int&=&a [line 10, column 3]\n EXIT_SCOPE(a); [line 10, column 3]\n " shape="box"] "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_4" -> "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_3" ; -"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_5" [label="5: DeclStmt \n n$4=_fun___variable_initialization(&a:int) assign_last [line 9, column 3]\n *&a:int=3 [line 9, column 3]\n EXIT_SCOPE(n$4); [line 9, column 3]\n " shape="box"] +"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=3 [line 9, column 3]\n " shape="box"] "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_5" -> "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_4" ; 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 34a9a4111..ef8d54789 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot @@ -15,7 +15,7 @@ digraph cfg { "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_4" -> "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_3" ; -"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_5" [label="5: DeclStmt \n n$8=_fun___variable_initialization(&i:item) assign_last [line 33, column 3]\n n$7=_fun_item::item(&i:item*) [line 33, column 8]\n EXIT_SCOPE(n$7,n$8); [line 33, column 8]\n " shape="box"] +"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:item); [line 33, column 3]\n n$7=_fun_item::item(&i:item*) [line 33, column 8]\n EXIT_SCOPE(n$7); [line 33, 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 43ec58e13..89e934387 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot @@ -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 n$6=_fun___variable_initialization(&r:reference_field::Ptr) assign_last [line 82, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 82, column 7]\n EXIT_SCOPE(n$5,n$6); [line 82, column 7]\n " shape="box"] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 82, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 82, column 7]\n EXIT_SCOPE(n$5); [line 82, 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 n$8=_fun___variable_initialization(&x:reference_field::X) assign_last [line 80, column 3]\n n$7=_fun_reference_field::X::X(&x:reference_field::X*) [line 80, column 5]\n EXIT_SCOPE(n$7,n$8); [line 80, column 5]\n " shape="box"] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 80, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 80, column 5]\n EXIT_SCOPE(n$6); [line 80, column 5]\n " shape="box"] "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_6" ; @@ -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 n$6=_fun___variable_initialization(&r:reference_field::Ptr) assign_last [line 90, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 90, column 7]\n EXIT_SCOPE(n$5,n$6); [line 90, column 7]\n " shape="box"] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 90, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 90, column 7]\n EXIT_SCOPE(n$5); [line 90, 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 n$8=_fun___variable_initialization(&x:reference_field::X) assign_last [line 88, column 3]\n n$7=_fun_reference_field::X::X(&x:reference_field::X*) [line 88, column 5]\n EXIT_SCOPE(n$7,n$8); [line 88, column 5]\n " shape="box"] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 88, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 88, column 5]\n EXIT_SCOPE(n$6); [line 88, column 5]\n " shape="box"] "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_6" ; @@ -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 n$6=_fun___variable_initialization(&r:reference_field::Ptr) assign_last [line 98, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 98, column 7]\n EXIT_SCOPE(n$5,n$6); [line 98, column 7]\n " shape="box"] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 98, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 98, column 7]\n EXIT_SCOPE(n$5); [line 98, 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 n$8=_fun___variable_initialization(&x:reference_field::X) assign_last [line 96, column 3]\n n$7=_fun_reference_field::X::X(&x:reference_field::X*) [line 96, column 5]\n EXIT_SCOPE(n$7,n$8); [line 96, column 5]\n " shape="box"] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 96, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 96, column 5]\n EXIT_SCOPE(n$6); [line 96, column 5]\n " shape="box"] "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_6" ; @@ -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 n$6=_fun___variable_initialization(&r:reference_field::Ptr) assign_last [line 106, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 106, column 7]\n EXIT_SCOPE(n$5,n$6); [line 106, column 7]\n " shape="box"] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 106, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 106, column 7]\n EXIT_SCOPE(n$5); [line 106, 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 n$8=_fun___variable_initialization(&x:reference_field::X) assign_last [line 104, column 3]\n n$7=_fun_reference_field::X::X(&x:reference_field::X*) [line 104, column 5]\n EXIT_SCOPE(n$7,n$8); [line 104, column 5]\n " shape="box"] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 104, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 104, column 5]\n EXIT_SCOPE(n$6); [line 104, column 5]\n " shape="box"] "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_6" ; @@ -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 n$6=_fun___variable_initialization(&r:reference_field::Ref) assign_last [line 49, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 49, column 7]\n EXIT_SCOPE(n$5,n$6); [line 49, column 7]\n " shape="box"] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 49, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 49, column 7]\n EXIT_SCOPE(n$5); [line 49, 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 n$8=_fun___variable_initialization(&x:reference_field::X) assign_last [line 47, column 3]\n n$7=_fun_reference_field::X::X(&x:reference_field::X*) [line 47, column 5]\n EXIT_SCOPE(n$7,n$8); [line 47, column 5]\n " shape="box"] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 47, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 47, column 5]\n EXIT_SCOPE(n$6); [line 47, column 5]\n " shape="box"] "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_6" ; @@ -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 n$6=_fun___variable_initialization(&r:reference_field::Ref) assign_last [line 57, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 57, column 7]\n EXIT_SCOPE(n$5,n$6); [line 57, column 7]\n " shape="box"] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 57, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 57, column 7]\n EXIT_SCOPE(n$5); [line 57, 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 n$8=_fun___variable_initialization(&x:reference_field::X) assign_last [line 55, column 3]\n n$7=_fun_reference_field::X::X(&x:reference_field::X*) [line 55, column 5]\n EXIT_SCOPE(n$7,n$8); [line 55, column 5]\n " shape="box"] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 55, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 55, column 5]\n EXIT_SCOPE(n$6); [line 55, column 5]\n " shape="box"] "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_6" ; @@ -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 n$6=_fun___variable_initialization(&r:reference_field::Ref) assign_last [line 65, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 65, column 7]\n EXIT_SCOPE(n$5,n$6); [line 65, column 7]\n " shape="box"] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 65, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 65, column 7]\n EXIT_SCOPE(n$5); [line 65, 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 n$8=_fun___variable_initialization(&x:reference_field::X) assign_last [line 63, column 3]\n n$7=_fun_reference_field::X::X(&x:reference_field::X*) [line 63, column 5]\n EXIT_SCOPE(n$7,n$8); [line 63, column 5]\n " shape="box"] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 63, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 63, column 5]\n EXIT_SCOPE(n$6); [line 63, column 5]\n " shape="box"] "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_6" ; @@ -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 n$6=_fun___variable_initialization(&r:reference_field::Ref) assign_last [line 73, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 73, column 7]\n EXIT_SCOPE(n$5,n$6); [line 73, column 7]\n " shape="box"] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 73, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 73, column 7]\n EXIT_SCOPE(n$5); [line 73, 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 n$8=_fun___variable_initialization(&x:reference_field::X) assign_last [line 71, column 3]\n n$7=_fun_reference_field::X::X(&x:reference_field::X*) [line 71, column 5]\n EXIT_SCOPE(n$7,n$8); [line 71, column 5]\n " shape="box"] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 71, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 71, column 5]\n EXIT_SCOPE(n$6); [line 71, column 5]\n " shape="box"] "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_6" ; @@ -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 n$5=_fun___variable_initialization(&r:reference_field::Val) assign_last [line 115, column 3]\n n$4=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 115, column 7]\n EXIT_SCOPE(n$4,n$5); [line 115, column 7]\n " shape="box"] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 115, column 3]\n n$4=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 115, column 7]\n EXIT_SCOPE(n$4); [line 115, 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 n$7=_fun___variable_initialization(&x:reference_field::X) assign_last [line 113, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 113, column 5]\n EXIT_SCOPE(n$6,n$7); [line 113, column 5]\n " shape="box"] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 113, column 3]\n n$5=_fun_reference_field::X::X(&x:reference_field::X*) [line 113, column 5]\n EXIT_SCOPE(n$5); [line 113, column 5]\n " shape="box"] "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_6" ; @@ -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 n$5=_fun___variable_initialization(&r:reference_field::Val) assign_last [line 123, column 3]\n n$4=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 123, column 7]\n EXIT_SCOPE(n$4,n$5); [line 123, column 7]\n " shape="box"] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 123, column 3]\n n$4=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 123, column 7]\n EXIT_SCOPE(n$4); [line 123, 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 n$7=_fun___variable_initialization(&x:reference_field::X) assign_last [line 121, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 121, column 5]\n EXIT_SCOPE(n$6,n$7); [line 121, column 5]\n " shape="box"] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 121, column 3]\n n$5=_fun_reference_field::X::X(&x:reference_field::X*) [line 121, column 5]\n EXIT_SCOPE(n$5); [line 121, column 5]\n " shape="box"] "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_6" ; @@ -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 n$6=_fun___variable_initialization(&r:reference_field::Val) assign_last [line 131, column 3]\n n$5=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 131, column 7]\n EXIT_SCOPE(n$5,n$6); [line 131, column 7]\n " shape="box"] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 131, column 3]\n n$5=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 131, column 7]\n EXIT_SCOPE(n$5); [line 131, 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 n$8=_fun___variable_initialization(&x:reference_field::X) assign_last [line 129, column 3]\n n$7=_fun_reference_field::X::X(&x:reference_field::X*) [line 129, column 5]\n EXIT_SCOPE(n$7,n$8); [line 129, column 5]\n " shape="box"] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 129, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 129, column 5]\n EXIT_SCOPE(n$6); [line 129, column 5]\n " shape="box"] "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_6" ; @@ -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 n$6=_fun___variable_initialization(&r:reference_field::Val) assign_last [line 139, column 3]\n n$5=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 139, column 7]\n EXIT_SCOPE(n$5,n$6); [line 139, column 7]\n " shape="box"] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 139, column 3]\n n$5=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 139, column 7]\n EXIT_SCOPE(n$5); [line 139, 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 n$8=_fun___variable_initialization(&x:reference_field::X) assign_last [line 137, column 3]\n n$7=_fun_reference_field::X::X(&x:reference_field::X*) [line 137, column 5]\n EXIT_SCOPE(n$7,n$8); [line 137, column 5]\n " shape="box"] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 137, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 137, column 5]\n EXIT_SCOPE(n$6); [line 137, column 5]\n " shape="box"] "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_6" ; 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 359def745..1d6e598c5 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 n$1=_fun___variable_initialization(&#GB$global:X) assign_last [line 27, column 1]\n n$0=_fun_X::X(&#GB$global:X*) [line 27, column 3]\n EXIT_SCOPE(n$0,n$1); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$global:X); [line 27, column 1]\n n$0=_fun_X::X(&#GB$global:X*) [line 27, column 3]\n EXIT_SCOPE(n$0); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, 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/reference_type_e2e.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp.dot index b4b429bc6..f938a83db 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 @@ -4,22 +4,22 @@ digraph cfg { "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_1" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_6" ; -"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_2" [label="2: Exit ptr_div0 \n NULLIFY(&p); [line 16, column 1]\n NULLIFY(&a); [line 16, column 1]\n " color=yellow style=filled] +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_2" [label="2: Exit ptr_div0 \n NULLIFY(&a); [line 16, column 1]\n " color=yellow style=filled] "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" [label="3: Return Stmt \n n$0=*&a:int [line 15, column 14]\n *&return:int=(1 / n$0) [line 15, column 3]\n EXIT_SCOPE(n$0,a); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_2" ; -"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&p:int* [line 14, column 4]\n *n$2:int=0 [line 14, column 3]\n EXIT_SCOPE(n$2,p); [line 14, column 3]\n " shape="box"] +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&p:int* [line 14, column 4]\n *n$2:int=0 [line 14, column 3]\n NULLIFY(&p); [line 14, column 3]\n EXIT_SCOPE(n$2,p); [line 14, column 3]\n " shape="box"] "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" ; -"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&p:int*) assign_last [line 13, column 3]\n *&p:int*=&a [line 13, column 3]\n EXIT_SCOPE(n$3); [line 13, column 3]\n " shape="box"] +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_5" [label="5: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 13, column 3]\n *&p:int*=&a [line 13, column 3]\n " shape="box"] "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_5" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" ; -"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_6" [label="6: DeclStmt \n n$4=_fun___variable_initialization(&a:int) assign_last [line 12, column 3]\n *&a:int=2 [line 12, column 3]\n EXIT_SCOPE(n$4); [line 12, column 3]\n " shape="box"] +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 12, column 3]\n *&a:int=2 [line 12, column 3]\n " shape="box"] "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_6" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_5" ; @@ -38,7 +38,7 @@ digraph cfg { "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" ; -"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&a:int) assign_last [line 19, column 3]\n *&a:int=2 [line 19, column 3]\n EXIT_SCOPE(n$3); [line 19, column 3]\n " shape="box"] +"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 19, column 3]\n *&a:int=2 [line 19, column 3]\n " shape="box"] "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_5" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" ; @@ -46,22 +46,22 @@ digraph cfg { "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_1" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_6" ; -"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_2" [label="2: Exit ptr_div0_function_temp_var \n NULLIFY(&r); [line 29, column 1]\n NULLIFY(&a); [line 29, column 1]\n " color=yellow style=filled] +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_2" [label="2: Exit ptr_div0_function_temp_var \n NULLIFY(&a); [line 29, column 1]\n " color=yellow style=filled] "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" [label="3: Return Stmt \n n$0=*&a:int [line 28, column 14]\n *&return:int=(1 / n$0) [line 28, column 3]\n EXIT_SCOPE(n$0,a); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] "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$2=*&r:int* [line 27, column 12]\n n$3=_fun_zero_ptr(n$2:int*) [line 27, column 3]\n EXIT_SCOPE(n$2,n$3,r); [line 27, column 3]\n " shape="box"] +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" [label="4: Call _fun_zero_ptr \n n$2=*&r:int* [line 27, column 12]\n n$3=_fun_zero_ptr(n$2:int*) [line 27, column 3]\n NULLIFY(&r); [line 27, column 3]\n EXIT_SCOPE(n$2,n$3,r); [line 27, column 3]\n " shape="box"] "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" ; -"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_5" [label="5: DeclStmt \n n$4=_fun___variable_initialization(&r:int*) assign_last [line 26, column 3]\n *&r:int*=&a [line 26, column 3]\n EXIT_SCOPE(n$4); [line 26, column 3]\n " shape="box"] +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:int*); [line 26, column 3]\n *&r:int*=&a [line 26, column 3]\n " shape="box"] "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_5" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" ; -"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_6" [label="6: DeclStmt \n n$5=_fun___variable_initialization(&a:int) assign_last [line 25, column 3]\n *&a:int=2 [line 25, column 3]\n EXIT_SCOPE(n$5); [line 25, column 3]\n " shape="box"] +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 25, column 3]\n *&a:int=2 [line 25, column 3]\n " shape="box"] "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_6" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_5" ; @@ -69,22 +69,22 @@ digraph cfg { "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_1" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_6" ; -"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_2" [label="2: Exit ref_div0 \n NULLIFY(&r); [line 36, column 1]\n NULLIFY(&a); [line 36, column 1]\n " color=yellow style=filled] +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_2" [label="2: Exit ref_div0 \n NULLIFY(&a); [line 36, column 1]\n " color=yellow style=filled] "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" [label="3: Return Stmt \n n$0=*&a:int [line 35, column 14]\n *&return:int=(1 / n$0) [line 35, column 3]\n EXIT_SCOPE(n$0,a); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_2" ; -"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&r:int& [line 34, column 3]\n *n$2:int=0 [line 34, column 3]\n EXIT_SCOPE(n$2,r); [line 34, column 3]\n " shape="box"] +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&r:int& [line 34, column 3]\n *n$2:int=0 [line 34, column 3]\n NULLIFY(&r); [line 34, column 3]\n EXIT_SCOPE(n$2,r); [line 34, column 3]\n " shape="box"] "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" ; -"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&r:int&) assign_last [line 33, column 3]\n *&r:int&=&a [line 33, column 3]\n EXIT_SCOPE(n$3); [line 33, column 3]\n " shape="box"] +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 33, column 3]\n *&r:int&=&a [line 33, column 3]\n " shape="box"] "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_5" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" ; -"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_6" [label="6: DeclStmt \n n$4=_fun___variable_initialization(&a:int) assign_last [line 32, column 3]\n *&a:int=2 [line 32, column 3]\n EXIT_SCOPE(n$4); [line 32, column 3]\n " shape="box"] +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 32, column 3]\n *&a:int=2 [line 32, column 3]\n " shape="box"] "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_6" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_5" ; @@ -103,7 +103,7 @@ digraph cfg { "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" ; -"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&a:int) assign_last [line 39, column 3]\n *&a:int=2 [line 39, column 3]\n EXIT_SCOPE(n$3); [line 39, column 3]\n " shape="box"] +"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 39, column 3]\n *&a:int=2 [line 39, column 3]\n " shape="box"] "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_5" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" ; @@ -111,22 +111,22 @@ digraph cfg { "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_1" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_6" ; -"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_2" [label="2: Exit ref_div0_function_temp_var \n NULLIFY(&r); [line 49, column 1]\n NULLIFY(&a); [line 49, column 1]\n " color=yellow style=filled] +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_2" [label="2: Exit ref_div0_function_temp_var \n NULLIFY(&a); [line 49, column 1]\n " color=yellow style=filled] "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" [label="3: Return Stmt \n n$0=*&a:int [line 48, column 14]\n *&return:int=(1 / n$0) [line 48, column 3]\n EXIT_SCOPE(n$0,a); [line 48, column 3]\n APPLY_ABSTRACTION; [line 48, column 3]\n " shape="box"] "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$2=*&r:int& [line 47, column 12]\n n$3=_fun_zero_ref(n$2:int&) [line 47, column 3]\n EXIT_SCOPE(n$2,n$3,r); [line 47, column 3]\n " shape="box"] +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" [label="4: Call _fun_zero_ref \n n$2=*&r:int& [line 47, column 12]\n n$3=_fun_zero_ref(n$2:int&) [line 47, column 3]\n NULLIFY(&r); [line 47, column 3]\n EXIT_SCOPE(n$2,n$3,r); [line 47, column 3]\n " shape="box"] "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" ; -"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_5" [label="5: DeclStmt \n n$4=_fun___variable_initialization(&r:int&) assign_last [line 46, column 3]\n *&r:int&=&a [line 46, column 3]\n EXIT_SCOPE(n$4); [line 46, column 3]\n " shape="box"] +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 46, column 3]\n *&r:int&=&a [line 46, column 3]\n " shape="box"] "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_5" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" ; -"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_6" [label="6: DeclStmt \n n$5=_fun___variable_initialization(&a:int) assign_last [line 45, column 3]\n *&a:int=2 [line 45, column 3]\n EXIT_SCOPE(n$5); [line 45, column 3]\n " shape="box"] +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 45, column 3]\n *&a:int=2 [line 45, column 3]\n " shape="box"] "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_6" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_5" ; @@ -134,30 +134,30 @@ digraph cfg { "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_1" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_8" ; -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_2" [label="2: Exit ref_div0_nested_assignment \n NULLIFY(&r2); [line 58, column 1]\n NULLIFY(&a); [line 58, column 1]\n NULLIFY(&r1); [line 58, column 1]\n " color=yellow style=filled] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_2" [label="2: Exit ref_div0_nested_assignment \n NULLIFY(&a); [line 58, column 1]\n " color=yellow style=filled] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_3" [label="3: Return Stmt \n n$0=*&a:int [line 57, column 14]\n *&return:int=(1 / n$0) [line 57, column 3]\n EXIT_SCOPE(n$0,a); [line 57, column 3]\n APPLY_ABSTRACTION; [line 57, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_3" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_2" ; -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&r2:int& [line 56, column 3]\n *n$2:int=0 [line 56, column 3]\n EXIT_SCOPE(n$2,r2); [line 56, column 3]\n " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&r2:int& [line 56, column 3]\n *n$2:int=0 [line 56, column 3]\n NULLIFY(&r2); [line 56, column 3]\n EXIT_SCOPE(n$2,r2); [line 56, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_3" ; -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&r2:int&) assign_last [line 55, column 3]\n n$3=*&r1:int& [line 55, column 13]\n *&b:int=1 [line 55, column 18]\n n$4=*&b:int [line 55, column 18]\n *n$3:int=n$4 [line 55, column 13]\n *&r2:int&=n$3 [line 55, column 3]\n NULLIFY(&b); [line 55, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,b,r1); [line 55, column 3]\n " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r2:int&); [line 55, column 3]\n n$3=*&r1:int& [line 55, column 13]\n *&b:int=1 [line 55, column 18]\n n$4=*&b:int [line 55, column 18]\n *n$3:int=n$4 [line 55, column 13]\n *&r2:int&=n$3 [line 55, column 3]\n NULLIFY(&b); [line 55, column 3]\n NULLIFY(&r1); [line 55, column 3]\n EXIT_SCOPE(n$3,n$4,b,r1); [line 55, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_5" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" ; -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_6" [label="6: DeclStmt \n n$6=_fun___variable_initialization(&r1:int&) assign_last [line 54, column 3]\n *&r1:int&=&a [line 54, column 3]\n EXIT_SCOPE(n$6); [line 54, column 3]\n " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_6" [label="6: DeclStmt \n VARIABLE_DECLARED(r1:int&); [line 54, column 3]\n *&r1:int&=&a [line 54, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_6" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_5" ; -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_7" [label="7: DeclStmt \n n$7=_fun___variable_initialization(&b:int) assign_last [line 53, column 3]\n *&b:int=3 [line 53, column 3]\n NULLIFY(&b); [line 53, column 3]\n EXIT_SCOPE(n$7,b); [line 53, column 3]\n " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_7" [label="7: DeclStmt \n VARIABLE_DECLARED(b:int); [line 53, column 3]\n *&b:int=3 [line 53, column 3]\n NULLIFY(&b); [line 53, column 3]\n EXIT_SCOPE(b); [line 53, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_7" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_6" ; -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_8" [label="8: DeclStmt \n n$8=_fun___variable_initialization(&a:int) assign_last [line 52, column 3]\n *&a:int=2 [line 52, column 3]\n EXIT_SCOPE(n$8); [line 52, column 3]\n " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 52, column 3]\n *&a:int=2 [line 52, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_8" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_7" ; @@ -165,30 +165,30 @@ digraph cfg { "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_1" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_8" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_2" [label="2: Exit ref_div1_nested_assignment \n NULLIFY(&r1); [line 67, column 1]\n NULLIFY(&r2); [line 67, column 1]\n NULLIFY(&a); [line 67, column 1]\n " color=yellow style=filled] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_2" [label="2: Exit ref_div1_nested_assignment \n NULLIFY(&a); [line 67, column 1]\n " color=yellow style=filled] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_3" [label="3: Return Stmt \n n$0=*&b:int [line 66, column 14]\n *&return:int=(1 / n$0) [line 66, column 3]\n NULLIFY(&b); [line 66, column 3]\n EXIT_SCOPE(n$0,b); [line 66, column 3]\n APPLY_ABSTRACTION; [line 66, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_3" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_2" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&r2:int& [line 65, column 3]\n *n$2:int=0 [line 65, column 3]\n EXIT_SCOPE(n$2,r2); [line 65, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&r2:int& [line 65, column 3]\n *n$2:int=0 [line 65, column 3]\n NULLIFY(&r2); [line 65, column 3]\n EXIT_SCOPE(n$2,r2); [line 65, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_3" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_5" [label="5: DeclStmt \n n$5=_fun___variable_initialization(&r2:int&) assign_last [line 64, column 3]\n n$3=*&r1:int& [line 64, column 13]\n *&b:int=1 [line 64, column 18]\n n$4=*&b:int [line 64, column 18]\n *n$3:int=n$4 [line 64, column 13]\n *&r2:int&=n$3 [line 64, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,r1); [line 64, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r2:int&); [line 64, column 3]\n n$3=*&r1:int& [line 64, column 13]\n *&b:int=1 [line 64, column 18]\n n$4=*&b:int [line 64, column 18]\n *n$3:int=n$4 [line 64, column 13]\n *&r2:int&=n$3 [line 64, column 3]\n NULLIFY(&r1); [line 64, column 3]\n EXIT_SCOPE(n$3,n$4,r1); [line 64, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_5" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_6" [label="6: DeclStmt \n n$6=_fun___variable_initialization(&r1:int&) assign_last [line 63, column 3]\n *&r1:int&=&a [line 63, column 3]\n EXIT_SCOPE(n$6,a); [line 63, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_6" [label="6: DeclStmt \n VARIABLE_DECLARED(r1:int&); [line 63, column 3]\n *&r1:int&=&a [line 63, column 3]\n EXIT_SCOPE(a); [line 63, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_6" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_5" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_7" [label="7: DeclStmt \n n$7=_fun___variable_initialization(&b:int) assign_last [line 62, column 3]\n *&b:int=3 [line 62, column 3]\n NULLIFY(&b); [line 62, column 3]\n EXIT_SCOPE(n$7,b); [line 62, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_7" [label="7: DeclStmt \n VARIABLE_DECLARED(b:int); [line 62, column 3]\n *&b:int=3 [line 62, column 3]\n NULLIFY(&b); [line 62, column 3]\n EXIT_SCOPE(b); [line 62, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_7" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_6" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_8" [label="8: DeclStmt \n n$8=_fun___variable_initialization(&a:int) assign_last [line 61, column 3]\n *&a:int=2 [line 61, column 3]\n EXIT_SCOPE(n$8); [line 61, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 61, column 3]\n *&a:int=2 [line 61, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_8" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_7" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp.dot index 08d454982..3a4f26257 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp.dot @@ -18,7 +18,7 @@ digraph cfg { "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_2" [label="2: Exit div0_function_param_cast \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 15, column 49]\n " color=yellow style=filled] -"div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_3" [label="3: Return Stmt \n n$1=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const ) assign_last [line 15, column 45]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:int=0 [line 15, column 45]\n n$2=_fun_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const &) [line 15, column 41]\n *&return:int=n$2 [line 15, column 34]\n EXIT_SCOPE(n$1,n$2,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 15, column 34]\n APPLY_ABSTRACTION; [line 15, column 34]\n " shape="box"] +"div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:int const ); [line 15, column 45]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:int=0 [line 15, column 45]\n n$1=_fun_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const &) [line 15, column 41]\n *&return:int=n$1 [line 15, column 34]\n EXIT_SCOPE(n$1,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 15, column 34]\n APPLY_ABSTRACTION; [line 15, column 34]\n " shape="box"] "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_3" -> "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_2" ; @@ -26,14 +26,14 @@ digraph cfg { "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_1" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" ; -"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_2" [label="2: Exit div0_init_expr \n NULLIFY(&a); [line 13, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 13, column 1]\n " color=yellow style=filled] +"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_2" [label="2: Exit div0_init_expr \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 13, column 1]\n " color=yellow style=filled] -"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" [label="3: Return Stmt \n n$0=*&a:int const & [line 12, column 14]\n n$1=_fun_div(n$0:int const &) [line 12, column 10]\n *&return:int=n$1 [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" [label="3: Return Stmt \n n$0=*&a:int const & [line 12, column 14]\n n$1=_fun_div(n$0:int const &) [line 12, column 10]\n *&return:int=n$1 [line 12, column 3]\n NULLIFY(&a); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_2" ; -"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&a:int const &) assign_last [line 11, column 3]\n n$4=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$3:int const ) assign_last [line 11, column 18]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:int=0 [line 11, column 18]\n *&a:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$3 [line 11, column 3]\n EXIT_SCOPE(n$4,n$5,0$?%__sil_tmpSIL_materialize_temp__n$3); [line 11, column 3]\n " shape="box"] +"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int const &); [line 11, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:int const ); [line 11, column 18]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:int=0 [line 11, column 18]\n *&a:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$3 [line 11, column 3]\n EXIT_SCOPE(0$?%__sil_tmpSIL_materialize_temp__n$3); [line 11, column 3]\n " shape="box"] "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" ; @@ -48,7 +48,7 @@ digraph cfg { "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_3" -> "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_2" ; -"div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 19, column 3]\n *&a:int=0 [line 19, column 3]\n EXIT_SCOPE(n$2); [line 19, column 3]\n " shape="box"] +"div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 19, column 3]\n *&a:int=0 [line 19, column 3]\n " shape="box"] "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_4" -> "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/unbox.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/unbox.cpp.dot index e5db22481..4c8d051b7 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/unbox.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/unbox.cpp.dot @@ -37,10 +37,10 @@ digraph cfg { "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_1" -> "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_7" ; -"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_2" [label="2: Exit unbox_ptr \n NULLIFY(&p); [line 32, column 1]\n NULLIFY(&a); [line 32, column 1]\n " color=yellow style=filled] +"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_2" [label="2: Exit unbox_ptr \n NULLIFY(&a); [line 32, column 1]\n " color=yellow style=filled] -"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_3" [label="3: Call _fun_fun_r \n n$1=*&p:int* [line 31, column 10]\n n$2=_fun_fun_r(n$1:int&) [line 31, column 3]\n EXIT_SCOPE(n$1,n$2,p); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] +"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_3" [label="3: Call _fun_fun_r \n n$1=*&p:int* [line 31, column 10]\n n$2=_fun_fun_r(n$1:int&) [line 31, column 3]\n NULLIFY(&p); [line 31, column 3]\n EXIT_SCOPE(n$1,n$2,p); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_3" -> "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_2" ; @@ -52,11 +52,11 @@ digraph cfg { "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_5" -> "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_4" ; -"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_6" [label="6: DeclStmt \n n$8=_fun___variable_initialization(&p:int*) assign_last [line 27, column 3]\n *&p:int*=&a [line 27, column 3]\n EXIT_SCOPE(n$8,a); [line 27, column 3]\n " shape="box"] +"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_6" [label="6: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 27, column 3]\n *&p:int*=&a [line 27, column 3]\n EXIT_SCOPE(a); [line 27, column 3]\n " shape="box"] "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_6" -> "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_5" ; -"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_7" [label="7: DeclStmt \n n$9=_fun___variable_initialization(&a:int) assign_last [line 26, column 3]\n *&a:int=3 [line 26, column 3]\n EXIT_SCOPE(n$9); [line 26, column 3]\n " shape="box"] +"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 26, column 3]\n *&a:int=3 [line 26, column 3]\n " shape="box"] "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_7" -> "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_6" ; @@ -64,10 +64,10 @@ digraph cfg { "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_1" -> "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_7" ; -"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_2" [label="2: Exit unbox_ref \n NULLIFY(&a); [line 22, column 1]\n NULLIFY(&r); [line 22, column 1]\n " color=yellow style=filled] +"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_2" [label="2: Exit unbox_ref \n NULLIFY(&a); [line 22, column 1]\n " color=yellow style=filled] -"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_3" [label="3: Call _fun_fun_r \n n$1=*&r:int& [line 21, column 9]\n n$2=_fun_fun_r(n$1:int&) [line 21, column 3]\n EXIT_SCOPE(n$1,n$2,r); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_3" [label="3: Call _fun_fun_r \n n$1=*&r:int& [line 21, column 9]\n n$2=_fun_fun_r(n$1:int&) [line 21, column 3]\n NULLIFY(&r); [line 21, column 3]\n EXIT_SCOPE(n$1,n$2,r); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_3" -> "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_2" ; @@ -79,11 +79,11 @@ digraph cfg { "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_5" -> "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_4" ; -"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_6" [label="6: DeclStmt \n n$8=_fun___variable_initialization(&r:int&) assign_last [line 17, column 3]\n *&r:int&=&a [line 17, column 3]\n EXIT_SCOPE(n$8,a); [line 17, column 3]\n " shape="box"] +"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_6" [label="6: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 17, column 3]\n *&r:int&=&a [line 17, column 3]\n EXIT_SCOPE(a); [line 17, column 3]\n " shape="box"] "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_6" -> "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_5" ; -"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_7" [label="7: DeclStmt \n n$9=_fun___variable_initialization(&a:int) assign_last [line 16, column 3]\n *&a:int=3 [line 16, column 3]\n EXIT_SCOPE(n$9); [line 16, column 3]\n " shape="box"] +"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 16, column 3]\n *&a:int=3 [line 16, column 3]\n " shape="box"] "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_7" -> "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_6" ; 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 2e841db23..d74c0c7d9 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot @@ -7,15 +7,15 @@ digraph cfg { "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_2" [label="2: Exit class_specialization::foo_int \n NULLIFY(&b); [line 34, column 1]\n " color=yellow style=filled] -"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&z:int) assign_last [line 33, column 3]\n n$1=*&b.x:int [line 33, column 15]\n *&z:int=(1 / n$1) [line 33, column 3]\n NULLIFY(&z); [line 33, column 3]\n EXIT_SCOPE(n$1,n$2,b,z); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z:int); [line 33, column 3]\n n$1=*&b.x:int [line 33, column 15]\n *&z:int=(1 / n$1) [line 33, column 3]\n NULLIFY(&z); [line 33, column 3]\n EXIT_SCOPE(n$1,b,z); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] "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 32, column 3]\n n$4=_fun_class_specialization::Derived::foo(&b:class_specialization::Derived&,0:int) [line 32, column 3]\n EXIT_SCOPE(_,n$4); [line 32, 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 32, column 3]\n n$3=_fun_class_specialization::Derived::foo(&b:class_specialization::Derived&,0:int) [line 32, column 3]\n EXIT_SCOPE(_,n$3); [line 32, 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 n$6=_fun___variable_initialization(&b:class_specialization::Derived) assign_last [line 31, column 3]\n n$5=_fun_class_specialization::Derived::Derived(&b:class_specialization::Derived*) [line 31, column 16]\n EXIT_SCOPE(n$5,n$6); [line 31, column 16]\n " shape="box"] +"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:class_specialization::Derived); [line 31, column 3]\n n$4=_fun_class_specialization::Derived::Derived(&b:class_specialization::Derived*) [line 31, column 16]\n EXIT_SCOPE(n$4); [line 31, column 16]\n " shape="box"] "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_5" -> "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_4" ; @@ -26,15 +26,15 @@ digraph cfg { "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_2" [label="2: Exit class_specialization::foo_intptr \n NULLIFY(&b); [line 28, column 1]\n " color=yellow style=filled] -"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_3" [label="3: DeclStmt \n n$3=_fun___variable_initialization(&x:int) assign_last [line 27, column 3]\n n$1=*&b.x:int* [line 27, column 12]\n n$2=*n$1:int [line 27, column 11]\n *&x:int=n$2 [line 27, column 3]\n NULLIFY(&x); [line 27, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,b,x); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_3" [label="3: DeclStmt \n VARIABLE_DECLARED(x:int); [line 27, column 3]\n n$1=*&b.x:int* [line 27, column 12]\n n$2=*n$1:int [line 27, column 11]\n *&x:int=n$2 [line 27, column 3]\n NULLIFY(&x); [line 27, column 3]\n EXIT_SCOPE(n$1,n$2,b,x); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] "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 26, column 3]\n n$5=_fun_class_specialization::Derived::foo2(&b:class_specialization::Derived&,null:int*) [line 26, column 3]\n EXIT_SCOPE(_,n$5); [line 26, 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 26, column 3]\n n$4=_fun_class_specialization::Derived::foo2(&b:class_specialization::Derived&,null:int*) [line 26, column 3]\n EXIT_SCOPE(_,n$4); [line 26, 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 n$7=_fun___variable_initialization(&b:class_specialization::Derived) assign_last [line 25, column 3]\n n$6=_fun_class_specialization::Derived::Derived(&b:class_specialization::Derived*) [line 25, column 17]\n EXIT_SCOPE(n$6,n$7); [line 25, column 17]\n " shape="box"] +"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:class_specialization::Derived); [line 25, column 3]\n n$5=_fun_class_specialization::Derived::Derived(&b:class_specialization::Derived*) [line 25, column 17]\n EXIT_SCOPE(n$5); [line 25, column 17]\n " shape="box"] "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_5" -> "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot index 4fcd185a4..984b9c180 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 n$3=_fun___variable_initialization(&x:function::X1) assign_last [line 35, column 3]\n n$2=_fun_function::X1::X1(&x:function::X1*) [line 35, column 5]\n EXIT_SCOPE(n$2,n$3); [line 35, column 5]\n " shape="box"] +"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:function::X1); [line 35, column 3]\n n$2=_fun_function::X1::X1(&x:function::X1*) [line 35, column 5]\n EXIT_SCOPE(n$2); [line 35, 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 n$3=_fun___variable_initialization(&x:function::X3) assign_last [line 35, column 3]\n n$2=_fun_function::X3::X3(&x:function::X3*) [line 35, column 5]\n EXIT_SCOPE(n$2,n$3); [line 35, column 5]\n " shape="box"] +"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:function::X3); [line 35, column 3]\n n$2=_fun_function::X3::X3(&x:function::X3*) [line 35, column 5]\n EXIT_SCOPE(n$2); [line 35, 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 n$4=_fun___variable_initialization(&x3:function::X3) assign_last [line 57, column 3]\n n$3=_fun_function::X3::X3(&x3:function::X3*) [line 57, column 6]\n EXIT_SCOPE(n$3,n$4); [line 57, column 6]\n " shape="box"] +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:function::X3); [line 57, column 3]\n n$3=_fun_function::X3::X3(&x3:function::X3*) [line 57, column 6]\n EXIT_SCOPE(n$3); [line 57, 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 n$6=_fun___variable_initialization(&x1:function::X1) assign_last [line 56, column 3]\n n$5=_fun_function::X1::X1(&x1:function::X1*) [line 56, column 6]\n EXIT_SCOPE(n$5,n$6); [line 56, column 6]\n " shape="box"] +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:function::X1); [line 56, column 3]\n n$4=_fun_function::X1::X1(&x1:function::X1*) [line 56, column 6]\n EXIT_SCOPE(n$4); [line 56, 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 n$4=_fun___variable_initialization(&x3:function::X3) assign_last [line 63, column 3]\n n$3=_fun_function::X3::X3(&x3:function::X3*) [line 63, column 6]\n EXIT_SCOPE(n$3,n$4); [line 63, column 6]\n " shape="box"] +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:function::X3); [line 63, column 3]\n n$3=_fun_function::X3::X3(&x3:function::X3*) [line 63, column 6]\n EXIT_SCOPE(n$3); [line 63, 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 n$6=_fun___variable_initialization(&x1:function::X1) assign_last [line 62, column 3]\n n$5=_fun_function::X1::X1(&x1:function::X1*) [line 62, column 6]\n EXIT_SCOPE(n$5,n$6); [line 62, column 6]\n " shape="box"] +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:function::X1); [line 62, column 3]\n n$4=_fun_function::X1::X1(&x1:function::X1*) [line 62, column 6]\n EXIT_SCOPE(n$4); [line 62, 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 cf6af6515..80e746fcf 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 n$4=_fun___variable_initialization(&g:method::Getter) assign_last [line 39, column 3]\n n$3=_fun_method::Getter::Getter(&g:method::Getter*) [line 39, column 10]\n EXIT_SCOPE(n$3,n$4); [line 39, column 10]\n " shape="box"] +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::Getter); [line 39, column 3]\n n$3=_fun_method::Getter::Getter(&g:method::Getter*) [line 39, column 10]\n EXIT_SCOPE(n$3); [line 39, 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 n$6=_fun___variable_initialization(&x2:method::X2) assign_last [line 38, column 3]\n n$5=_fun_method::X2::X2(&x2:method::X2*) [line 38, column 6]\n EXIT_SCOPE(n$5,n$6); [line 38, column 6]\n " shape="box"] +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 38, column 3]\n n$4=_fun_method::X2::X2(&x2:method::X2*) [line 38, column 6]\n EXIT_SCOPE(n$4); [line 38, 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 n$4=_fun___variable_initialization(&g:method::GetterTempl) assign_last [line 52, column 3]\n n$3=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 52, column 19]\n EXIT_SCOPE(n$3,n$4); [line 52, column 19]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 52, column 3]\n n$3=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 52, column 19]\n EXIT_SCOPE(n$3); [line 52, 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 n$6=_fun___variable_initialization(&x3:method::X3) assign_last [line 51, column 3]\n n$5=_fun_method::X3::X3(&x3:method::X3*) [line 51, column 6]\n EXIT_SCOPE(n$5,n$6); [line 51, column 6]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x3:method::X3); [line 51, column 3]\n n$4=_fun_method::X3::X3(&x3:method::X3*) [line 51, column 6]\n EXIT_SCOPE(n$4); [line 51, 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 n$8=_fun___variable_initialization(&x2:method::X2) assign_last [line 50, column 3]\n n$7=_fun_method::X2::X2(&x2:method::X2*) [line 50, column 6]\n EXIT_SCOPE(n$7,n$8); [line 50, column 6]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 50, column 3]\n n$5=_fun_method::X2::X2(&x2:method::X2*) [line 50, column 6]\n EXIT_SCOPE(n$5); [line 50, 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 n$4=_fun___variable_initialization(&g:method::GetterTempl) assign_last [line 59, column 3]\n n$3=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 59, column 19]\n EXIT_SCOPE(n$3,n$4); [line 59, column 19]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 59, column 3]\n n$3=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 59, column 19]\n EXIT_SCOPE(n$3); [line 59, 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 n$6=_fun___variable_initialization(&x2_2:method::X2) assign_last [line 58, column 3]\n n$5=_fun_method::X2::X2(&x2_2:method::X2*) [line 58, column 6]\n EXIT_SCOPE(n$5,n$6); [line 58, column 6]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2_2:method::X2); [line 58, column 3]\n n$4=_fun_method::X2::X2(&x2_2:method::X2*) [line 58, column 6]\n EXIT_SCOPE(n$4); [line 58, 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 n$8=_fun___variable_initialization(&x2_1:method::X2) assign_last [line 57, column 3]\n n$7=_fun_method::X2::X2(&x2_1:method::X2*) [line 57, column 6]\n EXIT_SCOPE(n$7,n$8); [line 57, column 6]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2_1:method::X2); [line 57, column 3]\n n$5=_fun_method::X2::X2(&x2_1:method::X2*) [line 57, column 6]\n EXIT_SCOPE(n$5); [line 57, 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 n$4=_fun___variable_initialization(&g:method::Getter) assign_last [line 45, column 3]\n n$3=_fun_method::Getter::Getter(&g:method::Getter*) [line 45, column 10]\n EXIT_SCOPE(n$3,n$4); [line 45, column 10]\n " shape="box"] +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::Getter); [line 45, column 3]\n n$3=_fun_method::Getter::Getter(&g:method::Getter*) [line 45, column 10]\n EXIT_SCOPE(n$3); [line 45, 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 n$6=_fun___variable_initialization(&x1:method::X1) assign_last [line 44, column 3]\n n$5=_fun_method::X1::X1(&x1:method::X1*) [line 44, column 6]\n EXIT_SCOPE(n$5,n$6); [line 44, column 6]\n " shape="box"] +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:method::X1); [line 44, column 3]\n n$4=_fun_method::X1::X1(&x1:method::X1*) [line 44, column 6]\n EXIT_SCOPE(n$4); [line 44, 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 n$4=_fun___variable_initialization(&g:method::GetterTempl) assign_last [line 66, column 3]\n n$3=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 66, column 19]\n EXIT_SCOPE(n$3,n$4); [line 66, column 19]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 66, column 3]\n n$3=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 66, column 19]\n EXIT_SCOPE(n$3); [line 66, 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 n$6=_fun___variable_initialization(&x2:method::X2) assign_last [line 65, column 3]\n n$5=_fun_method::X2::X2(&x2:method::X2*) [line 65, column 6]\n EXIT_SCOPE(n$5,n$6); [line 65, column 6]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 65, column 3]\n n$4=_fun_method::X2::X2(&x2:method::X2*) [line 65, column 6]\n EXIT_SCOPE(n$4); [line 65, 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 n$8=_fun___variable_initialization(&x1:method::X1) assign_last [line 64, column 3]\n n$7=_fun_method::X1::X1(&x1:method::X1*) [line 64, column 6]\n EXIT_SCOPE(n$7,n$8); [line 64, column 6]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:method::X1); [line 64, column 3]\n n$5=_fun_method::X1::X1(&x1:method::X1*) [line 64, column 6]\n EXIT_SCOPE(n$5); [line 64, 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 n$4=_fun___variable_initialization(&g:method::GetterTempl) assign_last [line 73, column 3]\n n$3=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 73, column 19]\n EXIT_SCOPE(n$3,n$4); [line 73, column 19]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 73, column 3]\n n$3=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 73, column 19]\n EXIT_SCOPE(n$3); [line 73, 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 n$6=_fun___variable_initialization(&x1_2:method::X1) assign_last [line 72, column 3]\n n$5=_fun_method::X1::X1(&x1_2:method::X1*) [line 72, column 6]\n EXIT_SCOPE(n$5,n$6); [line 72, column 6]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1_2:method::X1); [line 72, column 3]\n n$4=_fun_method::X1::X1(&x1_2:method::X1*) [line 72, column 6]\n EXIT_SCOPE(n$4); [line 72, 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 n$8=_fun___variable_initialization(&x1_1:method::X1) assign_last [line 71, column 3]\n n$7=_fun_method::X1::X1(&x1_1:method::X1*) [line 71, column 6]\n EXIT_SCOPE(n$7,n$8); [line 71, column 6]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1_1:method::X1); [line 71, column 3]\n n$5=_fun_method::X1::X1(&x1_1:method::X1*) [line 71, column 6]\n EXIT_SCOPE(n$5); [line 71, 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/templates/sizeof_pack.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot index f0e518afb..bd834af0d 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot @@ -1,13 +1,13 @@ /* @generated */ digraph cfg { -"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_1" [label="1: Start __infer_globals_initializer_test\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:int const 0$?%__sil_tmpSIL_materialize_temp__n$2:int const 0$?%__sil_tmpSIL_materialize_temp__n$4:int const \n " color=yellow style=filled] +"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_1" [label="1: Start __infer_globals_initializer_test\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:int const 0$?%__sil_tmpSIL_materialize_temp__n$1:int const 0$?%__sil_tmpSIL_materialize_temp__n$2:int const \n " color=yellow style=filled] "__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_1" -> "__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" ; -"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_2" [label="2: Exit __infer_globals_initializer_test \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 21, column 50]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 21, column 50]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 21, column 50]\n " color=yellow style=filled] +"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_2" [label="2: Exit __infer_globals_initializer_test \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 21, column 50]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 21, column 50]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 21, column 50]\n " color=yellow style=filled] -"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" [label="3: DeclStmt \n n$7=_fun___variable_initialization(&#GB$test:int) assign_last [line 21, column 1]\n n$1=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const ) assign_last [line 21, column 43]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:int=0 [line 21, column 43]\n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$2:int const ) assign_last [line 21, column 46]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=0 [line 21, column 46]\n n$5=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$4:int const ) assign_last [line 21, column 49]\n *&0$?%__sil_tmpSIL_materialize_temp__n$4:int=0 [line 21, column 49]\n n$6=_fun_hash_combine_generic(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const &,&0$?%__sil_tmpSIL_materialize_temp__n$2:int const &,&0$?%__sil_tmpSIL_materialize_temp__n$4:int const &) [line 21, column 12]\n *&#GB$test:int=n$6 [line 21, column 1]\n EXIT_SCOPE(n$1,n$3,n$5,n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$4,0$?%__sil_tmpSIL_materialize_temp__n$0,0$?%__sil_tmpSIL_materialize_temp__n$2); [line 21, column 1]\n APPLY_ABSTRACTION; [line 21, column 1]\n " shape="box"] +"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$test:int); [line 21, column 1]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:int const ); [line 21, column 43]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:int=0 [line 21, column 43]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:int const ); [line 21, column 46]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:int=0 [line 21, column 46]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 21, column 49]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=0 [line 21, column 49]\n n$3=_fun_hash_combine_generic(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const &,&0$?%__sil_tmpSIL_materialize_temp__n$1:int const &,&0$?%__sil_tmpSIL_materialize_temp__n$2:int const &) [line 21, column 12]\n *&#GB$test:int=n$3 [line 21, column 1]\n EXIT_SCOPE(n$3,0$?%__sil_tmpSIL_materialize_temp__n$0,0$?%__sil_tmpSIL_materialize_temp__n$2,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 21, column 1]\n APPLY_ABSTRACTION; [line 21, column 1]\n " shape="box"] "__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" -> "__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_2" ; @@ -38,7 +38,7 @@ digraph cfg { "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_7" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_2" ; -"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" [label="8: DeclStmt \n n$9=_fun___variable_initialization(&seed:int) assign_last [line 14, column 3]\n n$6=*&t:int const & [line 14, column 27]\n n$7=*n$6:int [line 14, column 27]\n n$8=_fun_MyHasher::hash(n$7:int) [line 14, column 14]\n *&seed:int=n$8 [line 14, column 3]\n NULLIFY(&t); [line 14, column 3]\n EXIT_SCOPE(n$6,n$7,n$8,n$9,t); [line 14, column 3]\n " shape="box"] +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" [label="8: DeclStmt \n VARIABLE_DECLARED(seed:int); [line 14, column 3]\n n$6=*&t:int const & [line 14, column 27]\n n$7=*n$6:int [line 14, column 27]\n n$8=_fun_MyHasher::hash(n$7:int) [line 14, column 14]\n *&seed:int=n$8 [line 14, column 3]\n NULLIFY(&t); [line 14, column 3]\n EXIT_SCOPE(n$6,n$7,n$8,t); [line 14, column 3]\n " shape="box"] "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_5" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/casts.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/casts.cpp.dot index 80905d4e0..6bf4c0871 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/casts.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/casts.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "functional_cast#14011367992313068291.82cd85208f04494c7a6533d123f52fe0_2" [label="2: Exit functional_cast \n " color=yellow style=filled] -"functional_cast#14011367992313068291.82cd85208f04494c7a6533d123f52fe0_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&a:int) assign_last [line 13, column 26]\n *&a:int=(2 + 3.4) [line 13, column 26]\n NULLIFY(&a); [line 13, column 26]\n EXIT_SCOPE(n$1,a); [line 13, column 26]\n APPLY_ABSTRACTION; [line 13, column 26]\n " shape="box"] +"functional_cast#14011367992313068291.82cd85208f04494c7a6533d123f52fe0_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:int); [line 13, column 26]\n *&a:int=(2 + 3.4) [line 13, column 26]\n NULLIFY(&a); [line 13, column 26]\n EXIT_SCOPE(a); [line 13, column 26]\n APPLY_ABSTRACTION; [line 13, column 26]\n " shape="box"] "functional_cast#14011367992313068291.82cd85208f04494c7a6533d123f52fe0_3" -> "functional_cast#14011367992313068291.82cd85208f04494c7a6533d123f52fe0_2" ; @@ -18,7 +18,7 @@ digraph cfg { "stat_cast#12446126613472042601.03b0c783caaf8ed84eb6e909b7645c57_2" [label="2: Exit stat_cast \n " color=yellow style=filled] -"stat_cast#12446126613472042601.03b0c783caaf8ed84eb6e909b7645c57_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&la:long long) assign_last [line 10, column 3]\n n$1=*&a:int [line 10, column 41]\n *&la:long long=n$1 [line 10, column 3]\n NULLIFY(&a); [line 10, column 3]\n NULLIFY(&la); [line 10, column 3]\n EXIT_SCOPE(n$1,n$2,a,la); [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"stat_cast#12446126613472042601.03b0c783caaf8ed84eb6e909b7645c57_3" [label="3: DeclStmt \n VARIABLE_DECLARED(la:long long); [line 10, column 3]\n n$1=*&a:int [line 10, column 41]\n *&la:long long=n$1 [line 10, column 3]\n NULLIFY(&a); [line 10, column 3]\n NULLIFY(&la); [line 10, column 3]\n EXIT_SCOPE(n$1,a,la); [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] "stat_cast#12446126613472042601.03b0c783caaf8ed84eb6e909b7645c57_3" -> "stat_cast#12446126613472042601.03b0c783caaf8ed84eb6e909b7645c57_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot index f2ab1cd8d..34933ce70 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot @@ -15,19 +15,19 @@ digraph cfg { "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_4" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_3" ; -"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&cx:int const ) assign_last [line 16, column 3]\n *&cx:int=0 [line 16, column 3]\n EXIT_SCOPE(n$3); [line 16, column 3]\n " shape="box"] +"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(cx:int const ); [line 16, column 3]\n *&cx:int=0 [line 16, column 3]\n " shape="box"] "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_5" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_4" ; -"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_6" [label="6: Call _fun_const_in_param2 \n n$4=_fun_const_in_param2(&x:int*) [line 14, column 3]\n EXIT_SCOPE(n$4,x); [line 14, column 3]\n " shape="box"] +"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_6" [label="6: Call _fun_const_in_param2 \n n$3=_fun_const_in_param2(&x:int*) [line 14, column 3]\n EXIT_SCOPE(n$3,x); [line 14, column 3]\n " shape="box"] "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_6" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_5" ; -"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_7" [label="7: Call _fun_const_in_param1 \n n$5=_fun_const_in_param1(&x:int*) [line 13, column 3]\n EXIT_SCOPE(n$5); [line 13, column 3]\n " shape="box"] +"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_7" [label="7: Call _fun_const_in_param1 \n n$4=_fun_const_in_param1(&x:int*) [line 13, column 3]\n EXIT_SCOPE(n$4); [line 13, column 3]\n " shape="box"] "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_7" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_6" ; -"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_8" [label="8: DeclStmt \n n$6=_fun___variable_initialization(&x:int) assign_last [line 12, column 3]\n *&x:int=1 [line 12, column 3]\n EXIT_SCOPE(n$6); [line 12, column 3]\n " shape="box"] +"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x:int); [line 12, column 3]\n *&x:int=1 [line 12, column 3]\n " shape="box"] "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_8" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_7" ; @@ -35,14 +35,14 @@ digraph cfg { "call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_1" -> "call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_4" ; -"call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_2" [label="2: Exit call_const_params_with_pointer1 \n NULLIFY(&p); [line 25, column 1]\n " color=yellow style=filled] +"call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_2" [label="2: Exit call_const_params_with_pointer1 \n " color=yellow style=filled] -"call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_3" [label="3: Call _fun_const_in_param1 \n n$1=*&p:int* [line 24, column 19]\n n$2=_fun_const_in_param1(n$1:int*) [line 24, column 3]\n EXIT_SCOPE(n$1,n$2,p); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_3" [label="3: Call _fun_const_in_param1 \n n$1=*&p:int* [line 24, column 19]\n n$2=_fun_const_in_param1(n$1:int*) [line 24, column 3]\n NULLIFY(&p); [line 24, column 3]\n EXIT_SCOPE(n$1,n$2,p); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] "call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_3" -> "call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_2" ; -"call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&p:int*) assign_last [line 23, column 3]\n *&p:int*=null [line 23, column 3]\n EXIT_SCOPE(n$3); [line 23, column 3]\n " shape="box"] +"call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 23, column 3]\n *&p:int*=null [line 23, column 3]\n " shape="box"] "call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_4" -> "call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_3" ; @@ -50,14 +50,14 @@ digraph cfg { "call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_1" -> "call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_4" ; -"call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_2" [label="2: Exit call_const_params_with_pointer2 \n NULLIFY(&p); [line 29, column 1]\n " color=yellow style=filled] +"call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_2" [label="2: Exit call_const_params_with_pointer2 \n " color=yellow style=filled] -"call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_3" [label="3: Call _fun_const_in_param2 \n n$1=*&p:int* [line 28, column 19]\n n$2=_fun_const_in_param2(n$1:int*) [line 28, column 3]\n EXIT_SCOPE(n$1,n$2,p); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_3" [label="3: Call _fun_const_in_param2 \n n$1=*&p:int* [line 28, column 19]\n n$2=_fun_const_in_param2(n$1:int*) [line 28, column 3]\n NULLIFY(&p); [line 28, column 3]\n EXIT_SCOPE(n$1,n$2,p); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] "call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_3" -> "call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_2" ; -"call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&p:int*) assign_last [line 27, column 3]\n *&p:int*=null [line 27, column 3]\n EXIT_SCOPE(n$3); [line 27, column 3]\n " shape="box"] +"call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 27, column 3]\n *&p:int*=null [line 27, column 3]\n " shape="box"] "call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_4" -> "call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_3" ; @@ -65,14 +65,14 @@ digraph cfg { "call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_1" -> "call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_4" ; -"call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_2" [label="2: Exit call_const_params_with_pointer3 \n NULLIFY(&cp); [line 34, column 1]\n " color=yellow style=filled] +"call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_2" [label="2: Exit call_const_params_with_pointer3 \n " color=yellow style=filled] -"call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_3" [label="3: Call _fun_const_in_param2 \n n$1=*&cp:int* [line 33, column 19]\n n$2=_fun_const_in_param2(n$1:int*) [line 33, column 3]\n EXIT_SCOPE(n$1,n$2,cp); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_3" [label="3: Call _fun_const_in_param2 \n n$1=*&cp:int* [line 33, column 19]\n n$2=_fun_const_in_param2(n$1:int*) [line 33, column 3]\n NULLIFY(&cp); [line 33, column 3]\n EXIT_SCOPE(n$1,n$2,cp); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] "call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_3" -> "call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_2" ; -"call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&cp:int* const ) assign_last [line 32, column 3]\n *&cp:int* const =null [line 32, column 3]\n EXIT_SCOPE(n$3); [line 32, column 3]\n " shape="box"] +"call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(cp:int* const ); [line 32, column 3]\n *&cp:int* const =null [line 32, column 3]\n " shape="box"] "call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_4" -> "call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot index a38e82474..94e4463dd 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_1" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_2" [label="2: Exit call_static_methods \n NULLIFY(&b); [line 31, column 1]\n NULLIFY(&s2); [line 31, column 1]\n NULLIFY(&s1); [line 31, column 1]\n " color=yellow style=filled] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_2" [label="2: Exit call_static_methods \n " color=yellow style=filled] -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_3" [label="3: Call _fun_Sub::fun_redefine \n n$1=*&s2:Sub* [line 30, column 3]\n _=*n$1:Sub [line 30, column 3]\n n$3=_fun_Sub::fun_redefine(n$1:Sub*) [line 30, column 3]\n EXIT_SCOPE(_,n$1,n$3,s2); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_3" [label="3: Call _fun_Sub::fun_redefine \n n$1=*&s2:Sub* [line 30, column 3]\n _=*n$1:Sub [line 30, column 3]\n n$3=_fun_Sub::fun_redefine(n$1:Sub*) [line 30, column 3]\n NULLIFY(&s2); [line 30, column 3]\n EXIT_SCOPE(_,n$1,n$3,s2); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_3" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_2" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_4" [label="4: Call _fun_Base::fun_redefine \n n$4=*&s1:Base* [line 29, column 3]\n _=*n$4:Base [line 29, column 3]\n n$6=_fun_Base::fun_redefine(n$4:Base*) [line 29, column 3]\n EXIT_SCOPE(_,n$4,n$6,s1); [line 29, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_4" [label="4: Call _fun_Base::fun_redefine \n n$4=*&s1:Base* [line 29, column 3]\n _=*n$4:Base [line 29, column 3]\n n$6=_fun_Base::fun_redefine(n$4:Base*) [line 29, column 3]\n NULLIFY(&s1); [line 29, column 3]\n EXIT_SCOPE(_,n$4,n$6,s1); [line 29, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_4" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_3" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_5" [label="5: Call _fun_Base::fun_redefine \n n$7=*&b:Base* [line 28, column 3]\n _=*n$7:Base [line 28, column 3]\n n$9=_fun_Base::fun_redefine(n$7:Base*) [line 28, column 3]\n EXIT_SCOPE(_,n$7,n$9,b); [line 28, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_5" [label="5: Call _fun_Base::fun_redefine \n n$7=*&b:Base* [line 28, column 3]\n _=*n$7:Base [line 28, column 3]\n n$9=_fun_Base::fun_redefine(n$7:Base*) [line 28, column 3]\n NULLIFY(&b); [line 28, column 3]\n EXIT_SCOPE(_,n$7,n$9,b); [line 28, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_5" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_4" ; @@ -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$21=_fun___variable_initialization(&s2:Sub*) assign_last [line 22, column 3]\n n$19=_fun___new(sizeof(t=Sub):unsigned long) [line 22, column 13]\n n$20=_fun_Sub::Sub(n$19:Sub*) [line 22, column 17]\n *&s2:Sub*=n$19 [line 22, column 3]\n EXIT_SCOPE(n$19,n$20,n$21); [line 22, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" [label="9: DeclStmt \n VARIABLE_DECLARED(s2:Sub*); [line 22, column 3]\n n$19=_fun___new(sizeof(t=Sub):unsigned long) [line 22, column 13]\n n$20=_fun_Sub::Sub(n$19:Sub*) [line 22, column 17]\n *&s2:Sub*=n$19 [line 22, column 3]\n EXIT_SCOPE(n$19,n$20); [line 22, 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$24=_fun___variable_initialization(&s1:Base*) assign_last [line 21, column 3]\n n$22=_fun___new(sizeof(t=Sub):unsigned long) [line 21, column 14]\n n$23=_fun_Sub::Sub(n$22:Sub*) [line 21, column 18]\n *&s1:Sub*=n$22 [line 21, column 3]\n EXIT_SCOPE(n$22,n$23,n$24); [line 21, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" [label="10: DeclStmt \n VARIABLE_DECLARED(s1:Base*); [line 21, column 3]\n n$21=_fun___new(sizeof(t=Sub):unsigned long) [line 21, column 14]\n n$22=_fun_Sub::Sub(n$21:Sub*) [line 21, column 18]\n *&s1:Sub*=n$21 [line 21, column 3]\n EXIT_SCOPE(n$21,n$22); [line 21, 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$27=_fun___variable_initialization(&b:Base*) assign_last [line 20, column 3]\n n$25=_fun___new(sizeof(t=Base):unsigned long) [line 20, column 13]\n n$26=_fun_Base::Base(n$25:Base*) [line 20, column 17]\n *&b:Base*=n$25 [line 20, column 3]\n EXIT_SCOPE(n$25,n$26,n$27); [line 20, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" [label="11: DeclStmt \n VARIABLE_DECLARED(b:Base*); [line 20, column 3]\n n$23=_fun___new(sizeof(t=Base):unsigned long) [line 20, column 13]\n n$24=_fun_Base::Base(n$23:Base*) [line 20, column 17]\n *&b:Base*=n$23 [line 20, column 3]\n EXIT_SCOPE(n$23,n$24); [line 20, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" ; 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 9284dfba6..d9725865b 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 26, column 37]\n " color=yellow style=filled] -"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const ) assign_last [line 26, column 27]\n n$2=_fun_inheritance_casts::getA(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) assign_last [line 26, column 27]\n n$4=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 26, column 23]\n *&return:int=n$4 [line 26, column 16]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 26, column 16]\n APPLY_ABSTRACTION; [line 26, column 16]\n " shape="box"] +"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const ); [line 26, column 27]\n n$2=_fun_inheritance_casts::getA(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) assign_last [line 26, column 27]\n n$3=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 26, column 23]\n *&return:int=n$3 [line 26, column 16]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 26, column 16]\n APPLY_ABSTRACTION; [line 26, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 30, column 37]\n " color=yellow style=filled] -"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const ) assign_last [line 30, column 27]\n n$2=_fun_inheritance_casts::getB(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) assign_last [line 30, column 27]\n n$4=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 30, column 23]\n *&return:int=n$4 [line 30, column 16]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 30, column 16]\n APPLY_ABSTRACTION; [line 30, column 16]\n " shape="box"] +"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const ); [line 30, column 27]\n n$2=_fun_inheritance_casts::getB(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) assign_last [line 30, column 27]\n n$3=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 30, column 23]\n *&return:int=n$3 [line 30, column 16]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 30, column 16]\n APPLY_ABSTRACTION; [line 30, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 28, column 37]\n " color=yellow style=filled] -"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const ) assign_last [line 28, column 27]\n n$2=_fun_inheritance_casts::getA(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) assign_last [line 28, column 27]\n n$4=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 28, column 23]\n *&return:int=n$4 [line 28, column 16]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 28, column 16]\n APPLY_ABSTRACTION; [line 28, column 16]\n " shape="box"] +"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const ); [line 28, column 27]\n n$2=_fun_inheritance_casts::getA(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) assign_last [line 28, column 27]\n n$3=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 28, column 23]\n *&return:int=n$3 [line 28, column 16]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 28, column 16]\n APPLY_ABSTRACTION; [line 28, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 32, column 37]\n " color=yellow style=filled] -"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const ) assign_last [line 32, column 27]\n n$2=_fun_inheritance_casts::getB(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) assign_last [line 32, column 27]\n n$4=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 32, column 23]\n *&return:int=n$4 [line 32, column 16]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 32, column 16]\n APPLY_ABSTRACTION; [line 32, column 16]\n " shape="box"] +"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const ); [line 32, column 27]\n n$2=_fun_inheritance_casts::getB(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) assign_last [line 32, column 27]\n n$3=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 32, column 23]\n *&return:int=n$3 [line 32, column 16]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 32, column 16]\n APPLY_ABSTRACTION; [line 32, column 16]\n " shape="box"] "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" -> "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_2" ; @@ -70,7 +70,7 @@ digraph cfg { "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_3" ; -"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&x:inheritance_casts::A) assign_last [line 19, column 3]\n n$6=_fun_inheritance_casts::A::A(&x:inheritance_casts::A*) [line 19, column 5]\n EXIT_SCOPE(n$6,n$7); [line 19, column 5]\n " shape="box"] +"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:inheritance_casts::A); [line 19, column 3]\n n$6=_fun_inheritance_casts::A::A(&x:inheritance_casts::A*) [line 19, column 5]\n EXIT_SCOPE(n$6); [line 19, column 5]\n " shape="box"] "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" ; @@ -89,7 +89,7 @@ digraph cfg { "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_3" ; -"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&x:inheritance_casts::B) assign_last [line 14, column 3]\n n$6=_fun_inheritance_casts::B::B(&x:inheritance_casts::B*) [line 14, column 5]\n EXIT_SCOPE(n$6,n$7); [line 14, column 5]\n " shape="box"] +"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:inheritance_casts::B); [line 14, column 3]\n n$6=_fun_inheritance_casts::B::B(&x:inheritance_casts::B*) [line 14, column 5]\n EXIT_SCOPE(n$6); [line 14, column 5]\n " shape="box"] "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot index 3384c9034..af5dc91ce 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot @@ -53,18 +53,18 @@ digraph cfg { "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_1" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" ; -"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_2" [label="2: Exit div0_cast \n NULLIFY(&b); [line 39, column 1]\n " color=yellow style=filled] +"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_2" [label="2: Exit div0_cast \n " color=yellow style=filled] -"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 38, column 14]\n n$1=*n$0.b1:int [line 38, column 14]\n *&return:int=(1 / n$1) [line 38, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="box"] +"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 38, column 14]\n n$1=*n$0.b1:int [line 38, column 14]\n *&return:int=(1 / n$1) [line 38, column 3]\n NULLIFY(&b); [line 38, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="box"] "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_3" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_2" ; -"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&b:Base1*) assign_last [line 37, column 3]\n n$3=*&s:Sub* [line 37, column 14]\n *&b:Sub*=n$3 [line 37, column 3]\n NULLIFY(&s); [line 37, column 3]\n EXIT_SCOPE(n$3,n$4,s); [line 37, column 3]\n " shape="box"] +"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 37, column 3]\n n$3=*&s:Sub* [line 37, column 14]\n *&b:Sub*=n$3 [line 37, column 3]\n NULLIFY(&s); [line 37, column 3]\n EXIT_SCOPE(n$3,s); [line 37, column 3]\n " shape="box"] "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_3" ; -"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 36, column 3]\n *n$5.b1:int=0 [line 36, column 3]\n EXIT_SCOPE(n$5); [line 36, column 3]\n " shape="box"] +"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 36, column 3]\n *n$4.b1:int=0 [line 36, column 3]\n EXIT_SCOPE(n$4); [line 36, column 3]\n " shape="box"] "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" ; @@ -72,18 +72,18 @@ digraph cfg { "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_1" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" ; -"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_2" [label="2: Exit div0_cast_ref \n NULLIFY(&b); [line 45, column 1]\n " color=yellow style=filled] +"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_2" [label="2: Exit div0_cast_ref \n " color=yellow style=filled] -"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_3" [label="3: Return Stmt \n n$0=*&b:Base1& [line 44, column 14]\n n$1=*n$0.b1:int [line 44, column 14]\n *&return:int=(1 / n$1) [line 44, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] +"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_3" [label="3: Return Stmt \n n$0=*&b:Base1& [line 44, column 14]\n n$1=*n$0.b1:int [line 44, column 14]\n *&return:int=(1 / n$1) [line 44, column 3]\n NULLIFY(&b); [line 44, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_3" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_2" ; -"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&b:Base1&) assign_last [line 43, column 3]\n n$3=*&s:Sub& [line 43, column 14]\n *&b:Sub&=n$3 [line 43, column 3]\n NULLIFY(&s); [line 43, column 3]\n EXIT_SCOPE(n$3,n$4,s); [line 43, column 3]\n " shape="box"] +"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:Base1&); [line 43, column 3]\n n$3=*&s:Sub& [line 43, column 14]\n *&b:Sub&=n$3 [line 43, column 3]\n NULLIFY(&s); [line 43, column 3]\n EXIT_SCOPE(n$3,s); [line 43, column 3]\n " shape="box"] "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_3" ; -"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&s:Sub& [line 42, column 3]\n *n$5.b1:int=0 [line 42, column 3]\n EXIT_SCOPE(n$5); [line 42, column 3]\n " shape="box"] +"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&s:Sub& [line 42, column 3]\n *n$4.b1:int=0 [line 42, column 3]\n EXIT_SCOPE(n$4); [line 42, column 3]\n " shape="box"] "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" ; @@ -140,18 +140,18 @@ digraph cfg { "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_1" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" ; -"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_2" [label="2: Exit div1_cast \n NULLIFY(&b); [line 68, column 1]\n " color=yellow style=filled] +"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_2" [label="2: Exit div1_cast \n " color=yellow style=filled] -"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 67, column 14]\n n$1=*n$0.b1:int [line 67, column 14]\n *&return:int=(1 / n$1) [line 67, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 67, column 3]\n APPLY_ABSTRACTION; [line 67, column 3]\n " shape="box"] +"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 67, column 14]\n n$1=*n$0.b1:int [line 67, column 14]\n *&return:int=(1 / n$1) [line 67, column 3]\n NULLIFY(&b); [line 67, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 67, column 3]\n APPLY_ABSTRACTION; [line 67, column 3]\n " shape="box"] "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_3" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_2" ; -"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&b:Base1*) assign_last [line 66, column 3]\n n$3=*&s:Sub* [line 66, column 14]\n *&b:Sub*=n$3 [line 66, column 3]\n NULLIFY(&s); [line 66, column 3]\n EXIT_SCOPE(n$3,n$4,s); [line 66, column 3]\n " shape="box"] +"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 66, column 3]\n n$3=*&s:Sub* [line 66, column 14]\n *&b:Sub*=n$3 [line 66, column 3]\n NULLIFY(&s); [line 66, column 3]\n EXIT_SCOPE(n$3,s); [line 66, column 3]\n " shape="box"] "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_3" ; -"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 65, column 3]\n *n$5.b1:int=1 [line 65, column 3]\n EXIT_SCOPE(n$5); [line 65, column 3]\n " shape="box"] +"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 65, column 3]\n *n$4.b1:int=1 [line 65, column 3]\n EXIT_SCOPE(n$4); [line 65, column 3]\n " shape="box"] "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot index 6d06a532f..aeaf2ac1a 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot @@ -11,7 +11,7 @@ digraph cfg { "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_2" ; -"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&v:int) assign_last [line 28, column 3]\n n$2=*&x:X& [line 28, column 11]\n n$3=_fun_operator*(n$2:X&,0:int) [line 28, column 11]\n *&v:int=n$3 [line 28, column 3]\n NULLIFY(&x); [line 28, column 3]\n EXIT_SCOPE(n$2,n$3,n$4,x); [line 28, column 3]\n " shape="box"] +"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 28, column 3]\n n$2=*&x:X& [line 28, column 11]\n n$3=_fun_operator*(n$2:X&,0:int) [line 28, column 11]\n *&v:int=n$3 [line 28, column 3]\n NULLIFY(&x); [line 28, column 3]\n EXIT_SCOPE(n$2,n$3,x); [line 28, column 3]\n " shape="box"] "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" ; @@ -37,7 +37,7 @@ digraph cfg { "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_2" ; -"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&v:int) assign_last [line 34, column 3]\n n$2=*&x:X& [line 34, column 11]\n _=*n$2:X [line 34, column 11]\n n$4=_fun_X::operator[](n$2:X&,0:int) [line 34, column 11]\n *&v:int=n$4 [line 34, column 3]\n NULLIFY(&x); [line 34, column 3]\n EXIT_SCOPE(_,n$2,n$4,n$5,x); [line 34, column 3]\n " shape="box"] +"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 34, column 3]\n n$2=*&x:X& [line 34, column 11]\n _=*n$2:X [line 34, column 11]\n n$4=_fun_X::operator[](n$2:X&,0:int) [line 34, column 11]\n *&v:int=n$4 [line 34, column 3]\n NULLIFY(&x); [line 34, column 3]\n EXIT_SCOPE(_,n$2,n$4,x); [line 34, column 3]\n " shape="box"] "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" ; @@ -52,7 +52,7 @@ digraph cfg { "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_2" ; -"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&v:int) assign_last [line 20, column 3]\n n$3=*&x:X& [line 20, column 11]\n n$4=_fun_X::operator[](n$3:X&,0:int) [line 20, column 11]\n *&v:int=n$4 [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,x); [line 20, column 3]\n " shape="box"] +"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 20, column 3]\n n$3=*&x:X& [line 20, column 11]\n n$4=_fun_X::operator[](n$3:X&,0:int) [line 20, column 11]\n *&v:int=n$4 [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(n$3,n$4,x); [line 20, column 3]\n " shape="box"] "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" ; 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 a33886233..50d7f57bc 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot @@ -15,7 +15,7 @@ digraph cfg { "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_3" ; -"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&x:return_struct::X) assign_last [line 20, column 3]\n n$6=_fun_return_struct::X::X(&x:return_struct::X*) [line 20, column 5]\n EXIT_SCOPE(n$6,n$7); [line 20, column 5]\n " shape="box"] +"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 20, column 3]\n n$6=_fun_return_struct::X::X(&x:return_struct::X*) [line 20, column 5]\n EXIT_SCOPE(n$6); [line 20, column 5]\n " shape="box"] "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" ; @@ -30,7 +30,7 @@ digraph cfg { "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 n$9=_fun___variable_initialization(&x:return_struct::X) assign_last [line 26, column 3]\n n$7=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ) assign_last [line 26, column 9]\n n$6=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 26, column 9]\n n$8=_fun_return_struct::X::X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const &) [line 26, column 9]\n EXIT_SCOPE(n$6,n$7,n$8,n$9,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 26, column 9]\n " shape="box"] +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 26, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ); [line 26, column 9]\n n$6=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 26, column 9]\n n$7=_fun_return_struct::X::X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const &) [line 26, column 9]\n EXIT_SCOPE(n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 26, column 9]\n " shape="box"] "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" ; @@ -45,22 +45,22 @@ digraph cfg { "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 n$9=_fun___variable_initialization(&x:return_struct::X) assign_last [line 38, column 3]\n n$7=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ) assign_last [line 38, column 9]\n n$6=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 38, column 9]\n n$8=_fun_return_struct::X::X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const &) [line 38, column 9]\n EXIT_SCOPE(n$6,n$7,n$8,n$9,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 38, column 9]\n " shape="box"] +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 38, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ); [line 38, column 9]\n n$6=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 38, column 9]\n n$7=_fun_return_struct::X::X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const &) [line 38, column 9]\n EXIT_SCOPE(n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 38, 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$6:return_struct::X \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$5:return_struct::X \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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 33, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$6); [line 33, column 1]\n " color=yellow style=filled] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_2" [label="2: Exit return_struct::get_field_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 33, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 33, column 1]\n " color=yellow style=filled] -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X) assign_last [line 32, column 14]\n n$2=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 32, column 14]\n n$4=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 32, column 14]\n *&return:int=(1 / n$4) [line 32, column 3]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 32, column 3]\n APPLY_ABSTRACTION; [line 32, column 3]\n " shape="box"] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 32, column 14]\n n$2=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 32, column 14]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 32, column 14]\n *&return:int=(1 / n$3) [line 32, column 3]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 32, column 3]\n APPLY_ABSTRACTION; [line 32, 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 n$9=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$6:return_struct::X) assign_last [line 31, column 3]\n n$8=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$6:return_struct::X*) assign_last [line 31, column 3]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$6:return_struct::X [line 31, column 3]\n n$11=_fun_return_struct::X::skip(&0$?%__sil_tmpSIL_materialize_temp__n$6:return_struct::X&) [line 31, column 3]\n EXIT_SCOPE(_,n$8,n$9,n$11,0$?%__sil_tmpSIL_materialize_temp__n$6); [line 31, column 3]\n " shape="box"] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" [label="4: Call _fun_return_struct::X::skip \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:return_struct::X); [line 31, column 3]\n n$7=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$5:return_struct::X*) assign_last [line 31, column 3]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:return_struct::X [line 31, column 3]\n n$9=_fun_return_struct::X::skip(&0$?%__sil_tmpSIL_materialize_temp__n$5:return_struct::X&) [line 31, column 3]\n EXIT_SCOPE(_,n$7,n$9,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 31, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 42, column 45]\n " color=yellow style=filled] -"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X) assign_last [line 42, column 35]\n n$2=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 42, column 35]\n n$4=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 42, column 35]\n *&return:int=(1 / n$4) [line 42, column 24]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 42, column 24]\n APPLY_ABSTRACTION; [line 42, column 24]\n " shape="box"] +"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 42, column 35]\n n$2=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 42, column 35]\n n$3=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 42, column 35]\n *&return:int=(1 / n$3) [line 42, column 24]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 42, column 24]\n APPLY_ABSTRACTION; [line 42, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 46]\n " color=yellow style=filled] -"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X) assign_last [line 35, column 32]\n n$2=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 35, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 35, column 32]\n n$5=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 35, column 32]\n *&return:int=n$5 [line 35, column 25]\n EXIT_SCOPE(_,n$2,n$3,n$5,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 25]\n APPLY_ABSTRACTION; [line 35, column 25]\n " shape="box"] +"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 35, column 32]\n n$2=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 35, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 35, column 32]\n n$4=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 35, column 32]\n *&return:int=n$4 [line 35, column 25]\n EXIT_SCOPE(_,n$2,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 25]\n APPLY_ABSTRACTION; [line 35, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 44, column 46]\n " color=yellow style=filled] -"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X) assign_last [line 44, column 32]\n n$2=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 44, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 44, column 32]\n n$5=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 44, column 32]\n *&return:int=n$5 [line 44, column 25]\n EXIT_SCOPE(_,n$2,n$3,n$5,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 44, column 25]\n APPLY_ABSTRACTION; [line 44, column 25]\n " shape="box"] +"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 44, column 32]\n n$2=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 44, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 44, column 32]\n n$4=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 44, column 32]\n *&return:int=n$4 [line 44, column 25]\n EXIT_SCOPE(_,n$2,n$4,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 44, column 25]\n APPLY_ABSTRACTION; [line 44, 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 dc9af9507..60d0c52d6 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 n$8=_fun___variable_initialization(&x:struct_forward_declare::X) assign_last [line 46, column 3]\n n$7=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 46, column 5]\n EXIT_SCOPE(n$7,n$8); [line 46, column 5]\n " shape="box"] +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:struct_forward_declare::X); [line 46, column 3]\n n$7=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 46, column 5]\n EXIT_SCOPE(n$7); [line 46, 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 n$4=_fun___variable_initialization(&x:struct_forward_declare::X) assign_last [line 35, column 3]\n n$3=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 35, column 5]\n EXIT_SCOPE(n$3,n$4); [line 35, column 5]\n " shape="box"] +"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_forward_declare::X); [line 35, column 3]\n n$3=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 35, column 5]\n EXIT_SCOPE(n$3); [line 35, 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 n$4=_fun___variable_initialization(&z:struct_forward_declare::Z) assign_last [line 56, column 3]\n n$3=_fun_struct_forward_declare::Z::Z(&z:struct_forward_declare::Z*) [line 56, column 5]\n EXIT_SCOPE(n$3,n$4); [line 56, column 5]\n " shape="box"] +"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(z:struct_forward_declare::Z); [line 56, column 3]\n n$3=_fun_struct_forward_declare::Z::Z(&z:struct_forward_declare::Z*) [line 56, column 5]\n EXIT_SCOPE(n$3); [line 56, column 5]\n " shape="box"] "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_4" ; @@ -112,10 +112,10 @@ digraph cfg { "fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_1" -> "fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_3" ; -"fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_2" [label="2: Exit struct_forward_declare::fun_with_Z \n NULLIFY(&z2); [line 24, column 38]\n " color=yellow style=filled] +"fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_2" [label="2: Exit struct_forward_declare::fun_with_Z \n " color=yellow style=filled] -"fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&z2:struct_forward_declare::Z*) assign_last [line 24, column 26]\n n$1=*&z1:struct_forward_declare::Z* [line 24, column 34]\n *&z2:struct_forward_declare::Z*=n$1 [line 24, column 26]\n NULLIFY(&z1); [line 24, column 26]\n EXIT_SCOPE(n$1,n$2,z2,z1); [line 24, column 26]\n APPLY_ABSTRACTION; [line 24, column 26]\n " shape="box"] +"fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:struct_forward_declare::Z*); [line 24, column 26]\n n$1=*&z1:struct_forward_declare::Z* [line 24, column 34]\n *&z2:struct_forward_declare::Z*=n$1 [line 24, column 26]\n NULLIFY(&z2); [line 24, column 26]\n NULLIFY(&z1); [line 24, column 26]\n EXIT_SCOPE(n$1,z2,z1); [line 24, column 26]\n APPLY_ABSTRACTION; [line 24, column 26]\n " shape="box"] "fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_3" -> "fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_2" ; 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 2ad35dca0..611f93991 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 @@ -11,11 +11,11 @@ digraph cfg { "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 n$7=_fun___variable_initialization(&y:struct_pass_by_value::Y) assign_last [line 41, column 3]\n n$6=_fun_struct_pass_by_value::Y::Y(&y:struct_pass_by_value::Y*,&x:struct_pass_by_value::X&) [line 41, column 5]\n EXIT_SCOPE(n$6,n$7); [line 41, column 5]\n " shape="box"] +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:struct_pass_by_value::Y); [line 41, column 3]\n n$6=_fun_struct_pass_by_value::Y::Y(&y:struct_pass_by_value::Y*,&x:struct_pass_by_value::X&) [line 41, column 5]\n EXIT_SCOPE(n$6); [line 41, 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 n$9=_fun___variable_initialization(&x:struct_pass_by_value::X) assign_last [line 40, column 3]\n n$8=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 40, column 5]\n EXIT_SCOPE(n$8,n$9); [line 40, column 5]\n " shape="box"] +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 40, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 40, column 5]\n EXIT_SCOPE(n$7); [line 40, column 5]\n " shape="box"] "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" ; @@ -45,7 +45,7 @@ digraph cfg { "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 n$8=_fun___variable_initialization(&x:struct_pass_by_value::X) assign_last [line 46, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 46, column 5]\n EXIT_SCOPE(n$7,n$8); [line 46, column 5]\n " shape="box"] +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 46, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 46, column 5]\n EXIT_SCOPE(n$7); [line 46, 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" ; @@ -64,7 +64,7 @@ digraph cfg { "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 n$8=_fun___variable_initialization(&x:struct_pass_by_value::X) assign_last [line 52, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,1:int) [line 52, column 5]\n EXIT_SCOPE(n$7,n$8); [line 52, column 5]\n " shape="box"] +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 52, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,1:int) [line 52, column 5]\n EXIT_SCOPE(n$7); [line 52, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 43]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$0); [line 35, column 43]\n " color=yellow style=filled] -"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X) assign_last [line 35, column 36]\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 35, column 36]\n n$4=_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 35, column 36]\n n$5=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 35, column 30]\n *&return:int=(1 / n$5) [line 35, column 19]\n EXIT_SCOPE(n$2,n$3,n$4,n$5,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 19]\n APPLY_ABSTRACTION; [line 35, column 19]\n " shape="box"] +"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X); [line 35, column 36]\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 35, 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 35, 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 35, column 30]\n *&return:int=(1 / n$4) [line 35, column 19]\n EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 19]\n APPLY_ABSTRACTION; [line 35, 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 NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 37, column 43]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$0); [line 37, column 43]\n " color=yellow style=filled] -"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" [label="3: Return Stmt \n n$3=_fun___variable_initialization(&0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X) assign_last [line 37, column 36]\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 37, column 36]\n n$4=_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$5=_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$5) [line 37, column 19]\n EXIT_SCOPE(n$2,n$3,n$4,n$5,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 37, column 19]\n APPLY_ABSTRACTION; [line 37, column 19]\n " shape="box"] +"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:struct_pass_by_value::X); [line 37, column 36]\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 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 EXIT_SCOPE(n$2,n$3,n$4,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 37, column 19]\n APPLY_ABSTRACTION; [line 37, column 19]\n " shape="box"] "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" -> "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_2" ; @@ -112,7 +112,7 @@ digraph cfg { "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 n$7=_fun___variable_initialization(&x:struct_pass_by_value::X) assign_last [line 26, column 3]\n n$6=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 26, column 5]\n EXIT_SCOPE(n$6,n$7); [line 26, column 5]\n " shape="box"] +"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 26, column 3]\n n$6=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 26, column 5]\n EXIT_SCOPE(n$6); [line 26, column 5]\n " shape="box"] "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" ; @@ -127,7 +127,7 @@ digraph cfg { "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 n$7=_fun___variable_initialization(&x:struct_pass_by_value::X) assign_last [line 31, column 3]\n n$6=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,1:int) [line 31, column 5]\n EXIT_SCOPE(n$6,n$7); [line 31, column 5]\n " shape="box"] +"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 31, column 3]\n n$6=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,1:int) [line 31, column 5]\n EXIT_SCOPE(n$6); [line 31, column 5]\n " shape="box"] "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" ; diff --git a/infer/tests/codetoanalyze/objc/errors/issues.exp b/infer/tests/codetoanalyze/objc/errors/issues.exp index 8b66f9ee3..be2787534 100644 --- a/infer/tests/codetoanalyze/objc/errors/issues.exp +++ b/infer/tests/codetoanalyze/objc/errors/issues.exp @@ -4,9 +4,9 @@ codetoanalyze/objc/errors/global_const/global_const.m, SimpleRoot::doSomethingOk codetoanalyze/objc/errors/initialization/compound_literal.c, init_with_compound_literal, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure init_with_compound_literal()] codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleStaticVar.m, RetainCSV::foo, 13, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure foo,Executing synthesized setter setHandler:] codetoanalyze/objc/errors/npe/null_returned_by_method.m, NullReturnedByMethodA::test1, 1, NULL_DEREFERENCE, B5, ERROR, [start of procedure test1,start of procedure test,return from a call to NullReturnedByMethodA::test] -codetoanalyze/objc/errors/procdescs/main.c, ProcdescMain, 5, MEMORY_LEAK, no_bucket, ERROR, [start of procedure ProcdescMain(),Skipping plusX:andY:: method has no implementation,return from a call to ProcdescMain] -codetoanalyze/objc/errors/procdescs/main.c, call_nslog, 5, MEMORY_LEAK, no_bucket, ERROR, [start of procedure call_nslog(),Skipping NSLog(): method has no implementation,return from a call to call_nslog] -codetoanalyze/objc/errors/property/main.c, property_main, 5, MEMORY_LEAK, no_bucket, ERROR, [start of procedure property_main(),Skipping aProperty: method has no implementation,return from a call to property_main] +codetoanalyze/objc/errors/procdescs/main.c, ProcdescMain, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure ProcdescMain(),Skipping plusX:andY:: method has no implementation] +codetoanalyze/objc/errors/procdescs/main.c, call_nslog, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure call_nslog(),Skipping NSLog(): method has no implementation] +codetoanalyze/objc/errors/property/main.c, property_main, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure property_main(),Skipping aProperty: method has no implementation] codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder::FBAudioInputCallbackChain:, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure FBAudioInputCallbackChain:,Executing synthesized getter recorder Message recordState with receiver nil returns nil.] codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder::FBAudioInputCallbackChain:, 2, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure FBAudioInputCallbackChain:,Message recorder with receiver nil returns nil. Message recordState with receiver nil returns nil.] codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder::FBAudioInputCallbackField, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure FBAudioInputCallbackField,Message recordState with receiver nil returns nil.] @@ -19,7 +19,7 @@ codetoanalyze/objc/shared/block/BlockVar.m, BlockVar::capturedNullDeref, 5, NULL codetoanalyze/objc/shared/block/BlockVar.m, BlockVar::navigateToURLInBackground, 8, NULL_DEREFERENCE, B1, ERROR, [start of procedure navigateToURLInBackground,start of procedure block,start of procedure test,return from a call to BlockVar::test,return from a call to objc_blockBlockVar::navigateToURLInBackground_1,Taking true branch] codetoanalyze/objc/shared/block/block.m, main1, 30, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure main1(),start of procedure block,start of procedure block,return from a call to objc_blockobjc_blockmain1_2_3,return from a call to objc_blockmain1_2,start of procedure block,return from a call to objc_blockmain1_1] codetoanalyze/objc/shared/block/block_no_args.m, My_manager::m, 10, NULL_DEREFERENCE, B1, ERROR, [start of procedure m,start of procedure block,return from a call to objc_blockMy_manager::m_1,Taking true branch] -codetoanalyze/objc/shared/category_procdesc/main.c, CategoryProcdescMain, 5, MEMORY_LEAK, no_bucket, ERROR, [start of procedure CategoryProcdescMain(),Skipping performDaysWork: method has no implementation,return from a call to CategoryProcdescMain] +codetoanalyze/objc/shared/category_procdesc/main.c, CategoryProcdescMain, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure CategoryProcdescMain(),Skipping performDaysWork: method has no implementation] codetoanalyze/objc/shared/field_superclass/SuperExample.m, ASuper::init, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure init] codetoanalyze/objc/errors/blocks_in_heap/BlockInHeap.m, block_in_heap_executed_after_bi_abduction_ok_test, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure block_in_heap_executed_after_bi_abduction_ok_test(),start of procedure block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle(),start of procedure assign_block_to_ivar,Executing synthesized setter setHandler:,return from a call to BlockInHeap::assign_block_to_ivar,Executing synthesized getter handler,start of procedure block,return from a call to objc_blockBlockInHeap::assign_block_to_ivar_1,return from a call to block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle,Taking true branch] codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee::initWithName:andAge:andEducation:, 3, NULL_TEST_AFTER_DEREFERENCE, no_bucket, WARNING, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person::initWithName:andAge:,Taking false branch] @@ -72,9 +72,9 @@ codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZer codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero2, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure shouldThrowDivideByZero2(),start of procedure init,return from a call to Base::init,start of procedure returnsZero2(),Taking false branch,return from a call to returnsZero2] codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero3, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure shouldThrowDivideByZero3(),start of procedure init,return from a call to Derived::init,Taking true branch] codetoanalyze/objc/errors/variadic_methods/premature_nil_termination.m, PrematureNilTermA::nilInArrayWithObjects, 5, PREMATURE_NIL_TERMINATION_ARGUMENT, B1, ERROR, [start of procedure nilInArrayWithObjects] -codetoanalyze/objc/errors/memory_leaks_benchmark/CoreVideoExample.m, CoreVideoExample::cvpixelbuffer_not_released_leak, 2, MEMORY_LEAK, no_bucket, ERROR, [start of procedure cvpixelbuffer_not_released_leak,return from a call to CoreVideoExample::cvpixelbuffer_not_released_leak] -codetoanalyze/objc/errors/memory_leaks_benchmark/NSData_models_tests.m, NSData_models_tests::macForIV:, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure macForIV:,return from a call to NSData_models_tests::macForIV:] -codetoanalyze/objc/errors/memory_leaks_benchmark/NSString_models_tests.m, StringInitA::hexStringValue, 16, MEMORY_LEAK, no_bucket, ERROR, [start of procedure hexStringValue,Skipping CFStringCreateWithBytesNoCopy(): method has no implementation,Taking false branch,return from a call to StringInitA::hexStringValue] +codetoanalyze/objc/errors/memory_leaks_benchmark/CoreVideoExample.m, CoreVideoExample::cvpixelbuffer_not_released_leak, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure cvpixelbuffer_not_released_leak] +codetoanalyze/objc/errors/memory_leaks_benchmark/NSData_models_tests.m, NSData_models_tests::macForIV:, 2, MEMORY_LEAK, no_bucket, ERROR, [start of procedure macForIV:] +codetoanalyze/objc/errors/memory_leaks_benchmark/NSString_models_tests.m, StringInitA::hexStringValue, 11, MEMORY_LEAK, no_bucket, ERROR, [start of procedure hexStringValue,Skipping CFStringCreateWithBytesNoCopy(): method has no implementation,Taking false branch] codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleLength3.m, strongcycle, 6, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure strongcycle(),Executing synthesized setter setB:,Executing synthesized setter setC:,Executing synthesized setter setA:] codetoanalyze/objc/errors/npe/Fraction.m, test_virtual_call, 7, NULL_DEREFERENCE, B1, ERROR, [start of procedure test_virtual_call(),start of procedure setNumerator:,return from a call to Fraction::setNumerator:,start of procedure getNumerator,return from a call to Fraction::getNumerator,Taking true branch] codetoanalyze/objc/errors/npe/Npe_with_equal_names.m, EqualNamesTest, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure EqualNamesTest(),start of procedure meth,return from a call to EqualNamesA::meth] @@ -91,9 +91,9 @@ codetoanalyze/objc/errors/npe/dynamic_dispatch.m, DynamicDispatchMain::npe_bad, codetoanalyze/objc/errors/npe/dynamic_dispatch.m, objc_blockDynamicDispatchMain::dispatch_async_block_npe_bad_1, 3, NULL_DEREFERENCE, B5, ERROR, [start of procedure block,start of procedure get_ddclass_from:,start of procedure get_ddclass,return from a call to PInstance::get_ddclass,return from a call to DynamicDispatchMain::get_ddclass_from:] codetoanalyze/objc/errors/npe/ivar_blocks.m, MyClass::ivar_npe, 1, IVAR_NOT_NULL_CHECKED, B1, WARNING, [start of procedure ivar_npe] codetoanalyze/objc/errors/npe/skip_method_with_nil_object.m, SkipMethodNilA::testBug:, 6, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure testBug:,Message get_a with receiver nil returns nil.,Message skip_method with receiver nil returns nil.,Taking false branch] -codetoanalyze/objc/errors/property/main.c, property_main, 5, MEMORY_LEAK, no_bucket, ERROR, [start of procedure property_main(),Skipping aProperty: method has no implementation,return from a call to property_main] +codetoanalyze/objc/errors/property/main.c, property_main, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure property_main(),Skipping aProperty: method has no implementation] codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, ProcessContentsOfFile, 35, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure ProcessContentsOfFile(),Taking false branch,Skipping dispatch_get_global_queue(): method has no implementation,Skipping dispatch_source_create(): method has no implementation,Taking false branch,Skipping dispatch_source_set_event_handler(): method has no implementation,Skipping dispatch_source_set_cancel_handler(): method has no implementation] -codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, objc_blockProcessContentsOfFile_2, 15, MEMORY_LEAK, no_bucket, ERROR, [start of procedure block,Skipping dispatch_source_get_data(): method has no implementation,Taking true branch,Skipping MyProcessFileData(): method has no implementation,Taking false branch,return from a call to objc_blockProcessContentsOfFile_2] +codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, objc_blockProcessContentsOfFile_2, 6, MEMORY_LEAK, no_bucket, ERROR, [start of procedure block,Skipping dispatch_source_get_data(): method has no implementation,Taking true branch,Skipping MyProcessFileData(): method has no implementation] codetoanalyze/objc/errors/resource_leaks/ResourceLeakExample.m, NSFileHandle::fileHandleForLoggingAtPath:mode:, 9, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileHandleForLoggingAtPath:mode:,Taking true branch,Skipping fileSystemRepresentation: method has no implementation,Taking false branch,Taking true branch,Skipping autorelease: no implementation found for method declared in Objective-C protocol] codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A::test1:, 2, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure test1:,Message child with receiver nil returns nil.] codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A::test3:, 1, PARAMETER_NOT_NULL_CHECKED, B1, WARNING, [start of procedure test3:] @@ -101,11 +101,11 @@ codetoanalyze/objc/shared/annotations/nullable_annotations.m, User::otherUserNam codetoanalyze/objc/shared/annotations/nullable_annotations.m, npe_property_nullable, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure npe_property_nullable(),Skipping child: method has no implementation] codetoanalyze/objc/shared/annotations/nullable_annotations_fields.m, A::nullable_field, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure nullable_field,Skipping getA(): method has no implementation] codetoanalyze/objc/shared/block/dispatch.m, DispatchA::dispatch_a_block_variable_from_macro_delivers_initialised_object, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure dispatch_a_block_variable_from_macro_delivers_initialised_object,start of procedure dispatch_a_block_variable_from_macro,Skipping _dispatch_once(): empty list of specs,return from a call to DispatchA::dispatch_a_block_variable_from_macro] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::blockCapturedVarLeak, 7, MEMORY_LEAK, no_bucket, ERROR, [start of procedure blockCapturedVarLeak,start of procedure block,return from a call to objc_blockMemoryLeakExample::blockCapturedVarLeak_1,return from a call to MemoryLeakExample::blockCapturedVarLeak] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::blockCapturedVarLeak, 6, MEMORY_LEAK, no_bucket, ERROR, [start of procedure blockCapturedVarLeak,start of procedure block,return from a call to objc_blockMemoryLeakExample::blockCapturedVarLeak_1] codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::createCloseCrossGlyph:, 2, MEMORY_LEAK, no_bucket, ERROR, [start of procedure createCloseCrossGlyph:,Skipping CGRectGetHeight(): method has no implementation] codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::measureFrameSizeForText, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure measureFrameSizeForText] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::regularLeak, 4, MEMORY_LEAK, no_bucket, ERROR, [start of procedure regularLeak,return from a call to MemoryLeakExample::regularLeak] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::test, 4, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test,Executing synthesized getter backgroundCoveringView Message bounds with receiver nil returns nil.,Executing synthesized getter backgroundCoveringView Message layer with receiver nil returns nil. Message setShadowPath: with receiver nil returns nil.,return from a call to MemoryLeakExample::test] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::regularLeak, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure regularLeak] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::test, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test,Skipping bounds: method has no implementation,Skipping setShadowPath:: method has no implementation] codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::test1:, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test1:] codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::test2:, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test2:] codetoanalyze/objc/shared/npe/Available_expr.m, Available_expr::test_no_bug, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure test_no_bug,Taking true branch] 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 34824d697..479b8e53f 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot @@ -19,18 +19,18 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&a); [line 66, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] "main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 65, column 3]\n APPLY_ABSTRACTION; [line 65, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:A* [line 63, column 11]\n n$1=_fun_foo(n$0:A*) [line 63, column 7]\n *&a:A*=n$1 [line 63, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 63, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:A* [line 63, column 11]\n n$1=_fun_foo(n$0:A*) [line 63, column 7]\n *&a:A*=n$1 [line 63, column 3]\n NULLIFY(&a); [line 63, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 63, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&a:A*) assign_last [line 61, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 61, column 10]\n *&a:A*=n$2 [line 61, column 3]\n EXIT_SCOPE(n$2,n$3); [line 61, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:A*); [line 61, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 61, column 10]\n *&a:A*=n$2 [line 61, column 3]\n EXIT_SCOPE(n$2); [line 61, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot index 3235bf88e..01929271b 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot @@ -15,10 +15,10 @@ digraph cfg { "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_1" -> "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_3" ; -"objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_2" [label="2: Exit objc_blockA::test2_3 \n NULLIFY(&p); [line 40, column 3]\n " color=yellow style=filled] +"objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_2" [label="2: Exit objc_blockA::test2_3 \n " color=yellow style=filled] -"objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_3" [label="3: DeclStmt \n n$9=_fun___variable_initialization(&p:objc_object*) assign_last [line 39, column 5]\n n$8=*&#GB$A::test2.sharedInstance:objc_object* [line 39, column 12]\n *&p:objc_object*=n$8 [line 39, column 5]\n EXIT_SCOPE(n$8,n$9,p); [line 39, column 5]\n APPLY_ABSTRACTION; [line 39, column 5]\n " shape="box"] +"objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:objc_object*); [line 39, column 5]\n n$8=*&#GB$A::test2.sharedInstance:objc_object* [line 39, column 12]\n *&p:objc_object*=n$8 [line 39, column 5]\n NULLIFY(&p); [line 39, column 5]\n EXIT_SCOPE(n$8,p); [line 39, column 5]\n APPLY_ABSTRACTION; [line 39, column 5]\n " shape="box"] "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_3" -> "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_2" ; @@ -29,7 +29,7 @@ digraph cfg { "objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_2" [label="2: Exit objc_blockA::test3_4 \n " color=yellow style=filled] -"objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_3" [label="3: UnaryOperator \n n$14=*&#GB$A::test3.i:int [line 50, column 5]\n *&#GB$A::test3.i:int=(n$14 + 1) [line 50, column 5]\n EXIT_SCOPE(n$14); [line 50, column 5]\n APPLY_ABSTRACTION; [line 50, column 5]\n " shape="box"] +"objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_3" [label="3: UnaryOperator \n n$13=*&#GB$A::test3.i:int [line 50, column 5]\n *&#GB$A::test3.i:int=(n$13 + 1) [line 50, column 5]\n EXIT_SCOPE(n$13); [line 50, column 5]\n APPLY_ABSTRACTION; [line 50, column 5]\n " shape="box"] "objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_3" -> "objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_2" ; @@ -81,11 +81,11 @@ digraph cfg { "test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" ; -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" [label="4: Call (_fun_objc_blockA::test2_3) \n n$10=(_fun_objc_blockA::test2_3)() [line 37, column 3]\n EXIT_SCOPE(n$10); [line 37, 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 37, column 3]\n EXIT_SCOPE(n$9); [line 37, 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$11=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 36, column 21]\n n$12=_fun_NSBundleResourceRequest::init(n$11:A*) virtual [line 36, column 20]\n *&#GB$A::test2.sharedInstance:objc_object*=n$12 [line 36, column 3]\n EXIT_SCOPE(n$11,n$12); [line 36, 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 36, column 21]\n n$11=_fun_NSBundleResourceRequest::init(n$10:A*) virtual [line 36, column 20]\n *&#GB$A::test2.sharedInstance:objc_object*=n$11 [line 36, column 3]\n EXIT_SCOPE(n$10,n$11); [line 36, 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$13=*&#GB$A::test3.i:int [line 53, column 10]\n *&return:int=n$13 [line 53, column 3]\n EXIT_SCOPE(n$13); [line 53, column 3]\n APPLY_ABSTRACTION; [line 53, column 3]\n " shape="box"] +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" [label="3: Return Stmt \n n$12=*&#GB$A::test3.i:int [line 53, column 10]\n *&return:int=n$12 [line 53, column 3]\n EXIT_SCOPE(n$12); [line 53, column 3]\n APPLY_ABSTRACTION; [line 53, 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 n$15=(_fun_objc_blockA::test3_4)() [line 48, column 3]\n EXIT_SCOPE(n$15); [line 48, 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 48, column 3]\n EXIT_SCOPE(n$14); [line 48, column 3]\n " shape="box"] "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot index e1026691f..c63165ec5 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot @@ -4,14 +4,14 @@ digraph cfg { "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_1" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" ; -"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_2" [label="2: Exit Boxing::getBool \n NULLIFY(&n); [line 37, column 1]\n " color=yellow style=filled] +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_2" [label="2: Exit Boxing::getBool \n " color=yellow style=filled] -"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" [label="3: Return Stmt \n n$18=_fun_NSNumber::numberWithBool:(1:_Bool) [line 36, column 10]\n *&return:NSNumber*=n$18 [line 36, column 3]\n EXIT_SCOPE(n$18); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" [label="3: Return Stmt \n n$12=_fun_NSNumber::numberWithBool:(1:_Bool) [line 36, column 10]\n *&return:NSNumber*=n$12 [line 36, column 3]\n EXIT_SCOPE(n$12); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_2" ; -"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" [label="4: DeclStmt \n n$20=_fun___variable_initialization(&n:NSNumber*) assign_last [line 35, column 3]\n n$19=_fun_NSNumber::numberWithBool:(1:_Bool) [line 35, column 17]\n *&n:NSNumber*=n$19 [line 35, column 3]\n EXIT_SCOPE(n$19,n$20,n); [line 35, column 3]\n " shape="box"] +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 35, column 3]\n n$13=_fun_NSNumber::numberWithBool:(1:_Bool) [line 35, column 17]\n *&n:NSNumber*=n$13 [line 35, column 3]\n NULLIFY(&n); [line 35, column 3]\n EXIT_SCOPE(n$13,n); [line 35, column 3]\n " shape="box"] "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" ; @@ -19,14 +19,14 @@ digraph cfg { "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_1" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" ; -"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_2" [label="2: Exit Boxing::getDouble \n NULLIFY(&n); [line 32, column 1]\n " color=yellow style=filled] +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_2" [label="2: Exit Boxing::getDouble \n " color=yellow style=filled] -"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" [label="3: Return Stmt \n n$15=_fun_NSNumber::numberWithDouble:(1.5:double) [line 31, column 10]\n *&return:NSNumber*=n$15 [line 31, column 3]\n EXIT_SCOPE(n$15); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" [label="3: Return Stmt \n n$10=_fun_NSNumber::numberWithDouble:(1.5:double) [line 31, column 10]\n *&return:NSNumber*=n$10 [line 31, column 3]\n EXIT_SCOPE(n$10); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_2" ; -"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" [label="4: DeclStmt \n n$17=_fun___variable_initialization(&n:NSNumber*) assign_last [line 30, column 3]\n n$16=_fun_NSNumber::numberWithDouble:(1.5:double) [line 30, column 17]\n *&n:NSNumber*=n$16 [line 30, column 3]\n EXIT_SCOPE(n$16,n$17,n); [line 30, column 3]\n " shape="box"] +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 30, column 3]\n n$11=_fun_NSNumber::numberWithDouble:(1.5:double) [line 30, column 17]\n *&n:NSNumber*=n$11 [line 30, column 3]\n NULLIFY(&n); [line 30, column 3]\n EXIT_SCOPE(n$11,n); [line 30, column 3]\n " shape="box"] "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" ; @@ -34,14 +34,14 @@ digraph cfg { "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_1" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" ; -"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_2" [label="2: Exit Boxing::getFloat \n NULLIFY(&n); [line 27, column 1]\n " color=yellow style=filled] +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_2" [label="2: Exit Boxing::getFloat \n " color=yellow style=filled] -"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" [label="3: Return Stmt \n n$12=_fun_NSNumber::numberWithFloat:(1.5:float) [line 26, column 10]\n *&return:NSNumber*=n$12 [line 26, column 3]\n EXIT_SCOPE(n$12); [line 26, column 3]\n APPLY_ABSTRACTION; [line 26, column 3]\n " shape="box"] +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" [label="3: Return Stmt \n n$8=_fun_NSNumber::numberWithFloat:(1.5:float) [line 26, column 10]\n *&return:NSNumber*=n$8 [line 26, column 3]\n EXIT_SCOPE(n$8); [line 26, column 3]\n APPLY_ABSTRACTION; [line 26, column 3]\n " shape="box"] "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_2" ; -"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" [label="4: DeclStmt \n n$14=_fun___variable_initialization(&n:NSNumber*) assign_last [line 25, column 3]\n n$13=_fun_NSNumber::numberWithFloat:(1.5:float) [line 25, column 17]\n *&n:NSNumber*=n$13 [line 25, column 3]\n EXIT_SCOPE(n$13,n$14,n); [line 25, column 3]\n " shape="box"] +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 25, column 3]\n n$9=_fun_NSNumber::numberWithFloat:(1.5:float) [line 25, column 17]\n *&n:NSNumber*=n$9 [line 25, column 3]\n NULLIFY(&n); [line 25, column 3]\n EXIT_SCOPE(n$9,n); [line 25, column 3]\n " shape="box"] "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" ; @@ -49,14 +49,14 @@ digraph cfg { "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_1" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" ; -"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_2" [label="2: Exit Boxing::getInt \n NULLIFY(&n); [line 22, column 1]\n " color=yellow style=filled] +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_2" [label="2: Exit Boxing::getInt \n " color=yellow style=filled] -"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" [label="3: Return Stmt \n n$9=_fun_NSNumber::numberWithInt:(5:int) [line 21, column 10]\n *&return:NSNumber*=n$9 [line 21, column 3]\n EXIT_SCOPE(n$9); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" [label="3: Return Stmt \n n$6=_fun_NSNumber::numberWithInt:(5:int) [line 21, column 10]\n *&return:NSNumber*=n$6 [line 21, column 3]\n EXIT_SCOPE(n$6); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_2" ; -"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" [label="4: DeclStmt \n n$11=_fun___variable_initialization(&n:NSNumber*) assign_last [line 20, column 3]\n n$10=_fun_NSNumber::numberWithInt:(5:int) [line 20, column 17]\n *&n:NSNumber*=n$10 [line 20, column 3]\n EXIT_SCOPE(n$10,n$11,n); [line 20, column 3]\n " shape="box"] +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 20, column 3]\n n$7=_fun_NSNumber::numberWithInt:(5:int) [line 20, column 17]\n *&n:NSNumber*=n$7 [line 20, column 3]\n NULLIFY(&n); [line 20, column 3]\n EXIT_SCOPE(n$7,n); [line 20, column 3]\n " shape="box"] "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" ; @@ -64,22 +64,22 @@ digraph cfg { "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_1" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_6" ; -"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_2" [label="2: Exit Boxing::getIntExp \n NULLIFY(&n); [line 17, column 1]\n " color=yellow style=filled] +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_2" [label="2: Exit Boxing::getIntExp \n " color=yellow style=filled] "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" [label="3: Return Stmt \n n$0=*&x:int [line 16, column 12]\n n$1=*&y:int [line 16, column 16]\n n$2=_fun_NSNumber::numberWithInt:((n$0 + n$1):int) [line 16, column 10]\n *&return:NSNumber*=n$2 [line 16, column 3]\n NULLIFY(&x); [line 16, column 3]\n NULLIFY(&y); [line 16, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,x,y); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_2" ; -"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&n:NSNumber*) assign_last [line 15, column 3]\n n$3=*&x:int [line 15, column 41]\n n$4=*&y:int [line 15, column 45]\n n$5=_fun_NSNumber::numberWithInt:((n$3 + n$4):int) [line 15, column 17]\n *&n:NSNumber*=n$5 [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,n$6,n); [line 15, column 3]\n " shape="box"] +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 15, column 3]\n n$3=*&x:int [line 15, column 41]\n n$4=*&y:int [line 15, column 45]\n n$5=_fun_NSNumber::numberWithInt:((n$3 + n$4):int) [line 15, column 17]\n *&n:NSNumber*=n$5 [line 15, column 3]\n NULLIFY(&n); [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,n); [line 15, column 3]\n " shape="box"] "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" ; -"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&y:int) assign_last [line 14, column 3]\n *&y:int=5 [line 14, column 3]\n EXIT_SCOPE(n$7); [line 14, column 3]\n " shape="box"] +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:int); [line 14, column 3]\n *&y:int=5 [line 14, column 3]\n " shape="box"] "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_5" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" ; -"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_6" [label="6: DeclStmt \n n$8=_fun___variable_initialization(&x:int) assign_last [line 13, column 3]\n *&x:int=4 [line 13, column 3]\n EXIT_SCOPE(n$8); [line 13, column 3]\n " shape="box"] +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int); [line 13, column 3]\n *&x:int=4 [line 13, column 3]\n " shape="box"] "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_6" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_5" ; @@ -87,14 +87,14 @@ digraph cfg { "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_1" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" ; -"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_2" [label="2: Exit Boxing::getS \n NULLIFY(&s); [line 43, column 1]\n " color=yellow style=filled] +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_2" [label="2: Exit Boxing::getS \n " color=yellow style=filled] -"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" [label="3: Return Stmt \n n$22=_fun_NSString::stringWithUTF8String:((char const *)\"hello world\":char const *) [line 41, column 10]\n *&return:NSString*=n$22 [line 41, column 3]\n EXIT_SCOPE(n$22); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" [label="3: Return Stmt \n n$15=_fun_NSString::stringWithUTF8String:((char const *)\"hello world\":char const *) [line 41, column 10]\n *&return:NSString*=n$15 [line 41, column 3]\n EXIT_SCOPE(n$15); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_2" ; -"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" [label="4: DeclStmt \n n$25=_fun___variable_initialization(&s:NSString*) assign_last [line 40, column 3]\n n$23=_fun_strdup((char const *)\"hello world\":char const *) [line 40, column 19]\n n$24=_fun_NSString::stringWithUTF8String:((char const *)n$23:char const *) [line 40, column 17]\n *&s:NSString*=n$24 [line 40, column 3]\n EXIT_SCOPE(n$23,n$24,n$25,s); [line 40, column 3]\n " shape="box"] +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 40, column 3]\n n$16=_fun_strdup((char const *)\"hello world\":char const *) [line 40, column 19]\n n$17=_fun_NSString::stringWithUTF8String:((char const *)n$16:char const *) [line 40, column 17]\n *&s:NSString*=n$17 [line 40, column 3]\n NULLIFY(&s); [line 40, column 3]\n EXIT_SCOPE(n$16,n$17,s); [line 40, column 3]\n " shape="box"] "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot index d9f089199..ffb269051 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot @@ -4,7 +4,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&germanCars); [line 29, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] "main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] @@ -24,7 +24,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 != null), false); [line 24, column 3]\n NULLIFY(&item); [line 24, column 3]\n EXIT_SCOPE(n$0,item,germanCars); [line 24, column 3]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 != null), false); [line 24, column 3]\n NULLIFY(&item); [line 24, column 3]\n NULLIFY(&germanCars); [line 24, column 3]\n EXIT_SCOPE(n$0,item,germanCars); [line 24, column 3]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -44,7 +44,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n n$18=_fun___variable_initialization(&germanCars:NSArray*) assign_last [line 14, column 3]\n n$16=_fun_NSString::stringWithUTF8String:(\"Mercedes-Benz\":char* const ) [line 15, column 5]\n n$11=_fun_NSString::stringWithUTF8String:(\"BMW\":char* const ) [line 16, column 5]\n n$12=_fun_NSString::stringWithUTF8String:(\"Porsche\":char* const ) [line 17, column 5]\n n$13=_fun_NSString::stringWithUTF8String:(\"Opel\":char* const ) [line 18, column 5]\n n$14=_fun_NSString::stringWithUTF8String:(\"Volkswagen\":char* const ) [line 19, column 5]\n n$15=_fun_NSString::stringWithUTF8String:(\"Audi\":char* const ) [line 20, column 5]\n n$17=_fun_NSArray::arrayWithObjects:count:(n$16: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 14, column 25]\n *&germanCars:NSArray*=n$17 [line 14, column 3]\n EXIT_SCOPE(n$11,n$12,n$13,n$14,n$15,n$16,n$17,n$18); [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(germanCars:NSArray*); [line 14, column 3]\n n$16=_fun_NSString::stringWithUTF8String:(\"Mercedes-Benz\":char* const ) [line 15, column 5]\n n$11=_fun_NSString::stringWithUTF8String:(\"BMW\":char* const ) [line 16, column 5]\n n$12=_fun_NSString::stringWithUTF8String:(\"Porsche\":char* const ) [line 17, column 5]\n n$13=_fun_NSString::stringWithUTF8String:(\"Opel\":char* const ) [line 18, column 5]\n n$14=_fun_NSString::stringWithUTF8String:(\"Volkswagen\":char* const ) [line 19, column 5]\n n$15=_fun_NSString::stringWithUTF8String:(\"Audi\":char* const ) [line 20, column 5]\n n$17=_fun_NSArray::arrayWithObjects:count:(n$16: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 14, column 25]\n *&germanCars:NSArray*=n$17 [line 14, column 3]\n EXIT_SCOPE(n$11,n$12,n$13,n$14,n$15,n$16,n$17); [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot index 0d844cec8..ae7641641 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot @@ -4,14 +4,14 @@ digraph cfg { "get_array.bca6b16c85e5b8ba530f380271b2ec79_1" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_4" ; -"get_array.bca6b16c85e5b8ba530f380271b2ec79_2" [label="2: Exit get_array \n NULLIFY(&animals); [line 13, column 1]\n " color=yellow style=filled] +"get_array.bca6b16c85e5b8ba530f380271b2ec79_2" [label="2: Exit get_array \n " color=yellow style=filled] "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" [label="3: Return Stmt \n n$1=_fun_NSString::stringWithUTF8String:(\"cat\":char* const ) [line 12, column 13]\n n$0=_fun_NSString::stringWithUTF8String:(\"dog\":char* const ) [line 12, column 21]\n n$2=_fun_NSArray::arrayWithObjects:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 12, column 10]\n *&return:NSArray*=n$2 [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_2" ; -"get_array.bca6b16c85e5b8ba530f380271b2ec79_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&animals:NSArray*) assign_last [line 11, column 3]\n n$4=_fun_NSString::stringWithUTF8String:(\"cat\":char* const ) [line 11, column 48]\n n$3=_fun_NSString::stringWithUTF8String:(\"dog\":char* const ) [line 11, column 56]\n n$5=_fun_NSArray::arrayWithObjects:(n$4:objc_object*,n$3:NSString*,null:void*) [line 11, column 22]\n *&animals:NSArray*=n$5 [line 11, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,n$6,animals); [line 11, column 3]\n " shape="box"] +"get_array.bca6b16c85e5b8ba530f380271b2ec79_4" [label="4: DeclStmt \n VARIABLE_DECLARED(animals:NSArray*); [line 11, column 3]\n n$4=_fun_NSString::stringWithUTF8String:(\"cat\":char* const ) [line 11, column 48]\n n$3=_fun_NSString::stringWithUTF8String:(\"dog\":char* const ) [line 11, column 56]\n n$5=_fun_NSArray::arrayWithObjects:(n$4:objc_object*,n$3:NSString*,null:void*) [line 11, column 22]\n *&animals:NSArray*=n$5 [line 11, column 3]\n NULLIFY(&animals); [line 11, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,animals); [line 11, column 3]\n " shape="box"] "get_array.bca6b16c85e5b8ba530f380271b2ec79_4" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot b/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot index 5c3733d3c..e7fba3490 100644 --- a/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot @@ -4,14 +4,14 @@ digraph cfg { "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_1" -> "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_4" ; -"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_2" [label="2: Exit ExceptionExample::test \n NULLIFY(&s); [line 23, column 1]\n " color=yellow style=filled] +"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_2" [label="2: Exit ExceptionExample::test \n " color=yellow style=filled] "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" [label="3: Message Call: description \n n$0=*&self:ExceptionExample* [line 21, column 6]\n n$1=_fun_NSObject::description(n$0:ExceptionExample*) [line 21, column 5]\n NULLIFY(&self); [line 21, column 5]\n EXIT_SCOPE(n$0,n$1,self); [line 21, column 5]\n APPLY_ABSTRACTION; [line 21, column 5]\n " shape="box"] "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" -> "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_2" ; -"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&s:NSString*) assign_last [line 18, column 5]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 18, column 19]\n *&s:NSString*=n$3 [line 18, column 5]\n EXIT_SCOPE(n$3,n$4,s); [line 18, column 5]\n " shape="box"] +"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 18, column 5]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 18, column 19]\n *&s:NSString*=n$3 [line 18, column 5]\n NULLIFY(&s); [line 18, column 5]\n EXIT_SCOPE(n$3,s); [line 18, column 5]\n " shape="box"] "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_4" -> "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" ; @@ -19,7 +19,7 @@ digraph cfg { "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_1" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_8" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_2" [label="2: Exit ExceptionExample::test1 \n NULLIFY(&s); [line 34, column 1]\n " color=yellow style=filled] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_2" [label="2: Exit ExceptionExample::test1 \n " color=yellow style=filled] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" [label="3: + \n " ] @@ -30,19 +30,19 @@ digraph cfg { "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_4" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_2" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" [label="5: Prune (true branch, if) \n n$5=*&s:NSString* [line 27, column 7]\n PRUNE(n$5, true); [line 27, column 7]\n EXIT_SCOPE(n$5,s); [line 27, column 7]\n " shape="invhouse"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" [label="5: Prune (true branch, if) \n n$4=*&s:NSString* [line 27, column 7]\n PRUNE(n$4, true); [line 27, column 7]\n NULLIFY(&s); [line 27, column 7]\n EXIT_SCOPE(n$4,s); [line 27, column 7]\n " shape="invhouse"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_6" [label="6: Prune (false branch, if) \n n$5=*&s:NSString* [line 27, column 7]\n PRUNE(!n$5, false); [line 27, column 7]\n EXIT_SCOPE(n$5,s); [line 27, column 7]\n APPLY_ABSTRACTION; [line 27, column 7]\n " shape="invhouse"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_6" [label="6: Prune (false branch, if) \n n$4=*&s:NSString* [line 27, column 7]\n PRUNE(!n$4, false); [line 27, column 7]\n NULLIFY(&s); [line 27, column 7]\n EXIT_SCOPE(n$4,s); [line 27, column 7]\n APPLY_ABSTRACTION; [line 27, column 7]\n " shape="invhouse"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_6" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" [label="7: ObjCCPPThrow \n n$7=_fun_NSString::stringWithUTF8String:(\"Something is not right exception\":char* const ) [line 29, column 27]\n n$6=_fun_NSString::stringWithUTF8String:(\"Can't perform this operation because of this or that\":char* const ) [line 31, column 24]\n n$8=_fun_NSException::exceptionWithName:reason:userInfo:(n$7:NSString*,n$6:NSString*,null:NSDictionary*) [line 28, column 12]\n n$9=_fun___infer_objc_cpp_throw(n$8:NSException*) [line 28, column 5]\n EXIT_SCOPE(n$6,n$7,n$8,n$9); [line 28, column 5]\n APPLY_ABSTRACTION; [line 28, column 5]\n " shape="box"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" [label="7: ObjCCPPThrow \n n$6=_fun_NSString::stringWithUTF8String:(\"Something is not right exception\":char* const ) [line 29, column 27]\n n$5=_fun_NSString::stringWithUTF8String:(\"Can't perform this operation because of this or that\":char* const ) [line 31, column 24]\n n$7=_fun_NSException::exceptionWithName:reason:userInfo:(n$6:NSString*,n$5:NSString*,null:NSDictionary*) [line 28, column 12]\n n$8=_fun___infer_objc_cpp_throw(n$7:NSException*) [line 28, column 5]\n EXIT_SCOPE(n$5,n$6,n$7,n$8); [line 28, column 5]\n APPLY_ABSTRACTION; [line 28, 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$13=_fun___variable_initialization(&s:NSString*) assign_last [line 26, column 3]\n n$12=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 26, column 17]\n *&s:NSString*=n$12 [line 26, column 3]\n EXIT_SCOPE(n$12,n$13); [line 26, column 3]\n " shape="box"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_8" [label="8: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 26, column 3]\n n$11=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 26, column 17]\n *&s:NSString*=n$11 [line 26, column 3]\n EXIT_SCOPE(n$11); [line 26, column 3]\n " shape="box"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_8" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot b/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot index 31ddccb31..ac9b3a4e5 100644 --- a/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot @@ -40,7 +40,7 @@ digraph cfg { "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" [label="11: DeclStmt \n n$10=_fun___variable_initialization(&size:int) assign_last [line 20, column 3]\n *&size:int=0 [line 20, column 3]\n EXIT_SCOPE(n$10); [line 20, column 3]\n " shape="box"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" [label="11: DeclStmt \n VARIABLE_DECLARED(size:int); [line 20, column 3]\n *&size:int=0 [line 20, column 3]\n " shape="box"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" ; @@ -48,39 +48,39 @@ digraph cfg { "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_1" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_10" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_2" [label="2: Exit A::fast_loop_no_crash \n NULLIFY(&obj); [line 41, column 1]\n " color=yellow style=filled] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_2" [label="2: Exit A::fast_loop_no_crash \n " color=yellow style=filled] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_3" [label="3: + \n " ] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_3" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_4" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_4" [label="4: BinaryOperatorStmt: NE \n n$21=*&obj:objc_object* [line 38, column 3]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_4" [label="4: BinaryOperatorStmt: NE \n n$18=*&obj:objc_object* [line 38, column 3]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_4" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_5" ; "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_4" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_6" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_5" [label="5: Prune (true branch, while) \n PRUNE((n$21 != null), true); [line 38, column 3]\n EXIT_SCOPE(n$21); [line 38, column 3]\n " shape="invhouse"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_5" [label="5: Prune (true branch, while) \n PRUNE((n$18 != null), true); [line 38, column 3]\n EXIT_SCOPE(n$18); [line 38, column 3]\n " shape="invhouse"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_5" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_6" [label="6: Prune (false branch, while) \n PRUNE(!(n$21 != null), false); [line 38, column 3]\n EXIT_SCOPE(n$21,obj); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="invhouse"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_6" [label="6: Prune (false branch, while) \n PRUNE(!(n$18 != null), false); [line 38, column 3]\n NULLIFY(&obj); [line 38, column 3]\n EXIT_SCOPE(n$18,obj); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="invhouse"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_6" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_2" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" [label="7: BinaryOperatorStmt: Assign \n n$22=*&self:A* [line 38, column 15]\n n$23=*n$22.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$24=_fun_NSEnumerator::nextObject(n$23:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$24 [line 38, column 3]\n EXIT_SCOPE(n$22,n$23,n$24); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" [label="7: BinaryOperatorStmt: Assign \n n$19=*&self:A* [line 38, column 15]\n n$20=*n$19.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$21=_fun_NSEnumerator::nextObject(n$20:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$21 [line 38, column 3]\n EXIT_SCOPE(n$19,n$20,n$21); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_3" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" [label="8: Message Call: copy \n n$25=*&obj:objc_object* [line 39, column 6]\n n$26=_fun_NSObject::copy(n$25:objc_object*) virtual [line 39, column 5]\n EXIT_SCOPE(n$25,n$26,obj); [line 39, column 5]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" [label="8: Message Call: copy \n n$22=*&obj:objc_object* [line 39, column 6]\n n$23=_fun_NSObject::copy(n$22:objc_object*) virtual [line 39, column 5]\n NULLIFY(&obj); [line 39, column 5]\n EXIT_SCOPE(n$22,n$23,obj); [line 39, column 5]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" [label="9: BinaryOperatorStmt: Assign \n n$28=*&self:A* [line 38, column 15]\n n$29=*n$28.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$30=_fun_NSEnumerator::nextObject(n$29:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$30 [line 38, column 3]\n EXIT_SCOPE(n$28,n$29,n$30); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" [label="9: BinaryOperatorStmt: Assign \n n$25=*&self:A* [line 38, column 15]\n n$26=*n$25.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$27=_fun_NSEnumerator::nextObject(n$26:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$27 [line 38, column 3]\n EXIT_SCOPE(n$25,n$26,n$27); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_3" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_10" [label="10: DeclStmt \n n$31=_fun___variable_initialization(&obj:objc_object*) assign_last [line 37, column 3]\n *&obj:objc_object*=null [line 37, column 3]\n EXIT_SCOPE(n$31,obj); [line 37, column 3]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_10" [label="10: DeclStmt \n VARIABLE_DECLARED(obj:objc_object*); [line 37, column 3]\n *&obj:objc_object*=null [line 37, column 3]\n NULLIFY(&obj); [line 37, column 3]\n EXIT_SCOPE(obj); [line 37, column 3]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_10" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" ; @@ -88,10 +88,10 @@ digraph cfg { "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_1" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_10" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_2" [label="2: Exit A::while_loop: \n NULLIFY(&item); [line 34, column 1]\n " color=yellow style=filled] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_2" [label="2: Exit A::while_loop: \n " color=yellow style=filled] -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" [label="3: Return Stmt \n n$11=*&size:int [line 33, column 10]\n *&return:int=n$11 [line 33, column 3]\n NULLIFY(&size); [line 33, column 3]\n EXIT_SCOPE(n$11,size); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" [label="3: Return Stmt \n n$10=*&size:int [line 33, column 10]\n *&return:int=n$10 [line 33, column 3]\n NULLIFY(&size); [line 33, column 3]\n EXIT_SCOPE(n$10,size); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_2" ; @@ -99,28 +99,28 @@ digraph cfg { "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" [label="5: BinaryOperatorStmt: Assign \n n$12=*&items:NSArray* [line 30, column 19]\n n$13=_fun_NSArray::objectAtIndex:(n$12:NSArray*,(unsigned long)3:unsigned long) virtual [line 30, column 18]\n *&item:NSArray*=n$13 [line 30, column 11]\n n$14=*&item:NSArray* [line 30, column 11]\n EXIT_SCOPE(n$12,n$13); [line 30, column 11]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" [label="5: BinaryOperatorStmt: Assign \n n$11=*&items:NSArray* [line 30, column 19]\n n$12=_fun_NSArray::objectAtIndex:(n$11:NSArray*,(unsigned long)3:unsigned long) virtual [line 30, column 18]\n *&item:NSArray*=n$12 [line 30, column 11]\n n$13=*&item:NSArray* [line 30, column 11]\n EXIT_SCOPE(n$11,n$12); [line 30, column 11]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" ; "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" [label="6: Prune (true branch, while) \n PRUNE(n$14, true); [line 30, column 11]\n EXIT_SCOPE(n$14); [line 30, column 11]\n " shape="invhouse"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" [label="6: Prune (true branch, while) \n PRUNE(n$13, true); [line 30, column 11]\n EXIT_SCOPE(n$13); [line 30, column 11]\n " shape="invhouse"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" [label="7: Prune (false branch, while) \n PRUNE(!n$14, false); [line 30, column 11]\n EXIT_SCOPE(n$14,item); [line 30, column 11]\n " shape="invhouse"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" [label="7: Prune (false branch, while) \n PRUNE(!n$13, false); [line 30, column 11]\n NULLIFY(&item); [line 30, column 11]\n EXIT_SCOPE(n$13,item); [line 30, column 11]\n " shape="invhouse"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" [label="8: BinaryOperatorStmt: AddAssign \n n$15=*&item:NSArray* [line 31, column 14]\n n$16=_fun_NSArray::count(n$15:NSArray*) [line 31, column 13]\n n$17=*&size:int [line 31, column 5]\n *&size:int=(n$17 + n$16) [line 31, column 5]\n EXIT_SCOPE(n$15,n$16,n$17,item); [line 31, column 5]\n APPLY_ABSTRACTION; [line 31, column 5]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" [label="8: BinaryOperatorStmt: AddAssign \n n$14=*&item:NSArray* [line 31, column 14]\n n$15=_fun_NSArray::count(n$14:NSArray*) [line 31, column 13]\n n$16=*&size:int [line 31, column 5]\n *&size:int=(n$16 + n$15) [line 31, column 5]\n NULLIFY(&item); [line 31, column 5]\n EXIT_SCOPE(n$14,n$15,n$16,item); [line 31, column 5]\n APPLY_ABSTRACTION; [line 31, column 5]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_9" [label="9: DeclStmt \n n$19=_fun___variable_initialization(&item:NSArray*) assign_last [line 29, column 3]\n *&item:NSArray*=null [line 29, column 3]\n EXIT_SCOPE(n$19,item); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_9" [label="9: DeclStmt \n VARIABLE_DECLARED(item:NSArray*); [line 29, column 3]\n *&item:NSArray*=null [line 29, column 3]\n NULLIFY(&item); [line 29, column 3]\n EXIT_SCOPE(item); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_9" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_10" [label="10: DeclStmt \n n$20=_fun___variable_initialization(&size:int) assign_last [line 28, column 3]\n *&size:int=0 [line 28, column 3]\n EXIT_SCOPE(n$20); [line 28, column 3]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_10" [label="10: DeclStmt \n VARIABLE_DECLARED(size:int); [line 28, column 3]\n *&size:int=0 [line 28, column 3]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_10" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_9" ; 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 3bde631d2..3ca090612 100644 --- a/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot @@ -4,14 +4,14 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&honda); [line 15, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] "main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 14, column 3]\n APPLY_ABSTRACTION; [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"%d\":char* const ) [line 13, column 9]\n n$1=*&honda:Car* [line 13, column 16]\n n$2=_fun_Car::running(n$1:Car*) [line 13, column 22]\n n$3=_fun_NSLog(n$0:objc_object*,n$2:int) [line 13, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,honda); [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"%d\":char* const ) [line 13, column 9]\n n$1=*&honda:Car* [line 13, column 16]\n n$2=_fun_Car::running(n$1:Car*) [line 13, column 22]\n n$3=_fun_NSLog(n$0:objc_object*,n$2:int) [line 13, column 3]\n NULLIFY(&honda); [line 13, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,honda); [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -19,7 +19,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n n$8=_fun___variable_initialization(&honda:Car*) assign_last [line 11, column 3]\n n$6=_fun___objc_alloc_no_fail(sizeof(t=Car):unsigned long) [line 11, column 17]\n n$7=_fun_NSObject::init(n$6:Car*) virtual [line 11, column 16]\n *&honda:Car*=n$7 [line 11, column 3]\n EXIT_SCOPE(n$6,n$7,n$8); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n VARIABLE_DECLARED(honda:Car*); [line 11, column 3]\n n$6=_fun___objc_alloc_no_fail(sizeof(t=Car):unsigned long) [line 11, column 17]\n n$7=_fun_NSObject::init(n$6:Car*) virtual [line 11, column 16]\n *&honda:Car*=n$7 [line 11, column 3]\n EXIT_SCOPE(n$6,n$7); [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot b/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot index e22f66eb4..d4b9b531f 100644 --- a/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot @@ -53,11 +53,11 @@ digraph cfg { "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_13" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_2" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_14" [label="14: DeclStmt \n n$8=_fun___variable_initialization(&j:int) assign_last [line 18, column 3]\n *&j:int=0 [line 18, column 3]\n EXIT_SCOPE(n$8); [line 18, column 3]\n " shape="box"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_14" [label="14: DeclStmt \n VARIABLE_DECLARED(j:int); [line 18, column 3]\n *&j:int=0 [line 18, column 3]\n " shape="box"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_14" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_10" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_15" [label="15: DeclStmt \n n$9=_fun___variable_initialization(&i:int) assign_last [line 17, column 3]\n *&i:int=0 [line 17, column 3]\n EXIT_SCOPE(n$9); [line 17, column 3]\n " shape="box"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_15" [label="15: DeclStmt \n VARIABLE_DECLARED(i:int); [line 17, column 3]\n *&i:int=0 [line 17, column 3]\n " shape="box"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_15" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_14" ; 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 5995de43b..e15c8d6cd 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot @@ -4,7 +4,7 @@ digraph cfg { "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_1" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" ; -"class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_2" [label="2: Exit class_method_in_conditional \n NULLIFY(&c); [line 108, column 1]\n " color=yellow style=filled] +"class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_2" [label="2: Exit class_method_in_conditional \n " color=yellow style=filled] "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_3" [label="3: Return Stmt \n *&return:_Bool=0 [line 107, column 3]\n APPLY_ABSTRACTION; [line 107, column 3]\n " shape="box"] @@ -27,7 +27,7 @@ digraph cfg { "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_7" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_2" ; -"class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" [label="8: DeclStmt \n n$4=_fun___variable_initialization(&c:objc_class*) assign_last [line 103, column 3]\n n$3=_fun_foo() [line 103, column 13]\n *&c:objc_class*=n$3 [line 103, column 3]\n EXIT_SCOPE(n$3,n$4,c); [line 103, column 3]\n " shape="box"] +"class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" [label="8: DeclStmt \n VARIABLE_DECLARED(c:objc_class*); [line 103, column 3]\n n$3=_fun_foo() [line 103, column 13]\n *&c:objc_class*=n$3 [line 103, column 3]\n NULLIFY(&c); [line 103, column 3]\n EXIT_SCOPE(n$3,c); [line 103, column 3]\n " shape="box"] "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_5" ; @@ -61,18 +61,18 @@ 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 n$19=_fun_C::test_class() [line 82, column 3]\n EXIT_SCOPE(n$19); [line 82, column 3]\n APPLY_ABSTRACTION; [line 82, column 3]\n " shape="box"] +"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" [label="3: Message Call: test_class \n n$18=_fun_C::test_class() [line 82, column 3]\n EXIT_SCOPE(n$18); [line 82, column 3]\n APPLY_ABSTRACTION; [line 82, column 3]\n " shape="box"] "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" -> "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_1" [label="1: Start A::class_method_fst_arg_of_class_method_inside_instance_method\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$31:NSBundle* stringsBundlePath:NSString* \n " color=yellow style=filled] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_1" [label="1: Start A::class_method_fst_arg_of_class_method_inside_instance_method\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle* stringsBundlePath:NSString* \n " color=yellow style=filled] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_1" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_2" [label="2: Exit A::class_method_fst_arg_of_class_method_inside_instance_method \n NULLIFY(&stringsBundlePath); [line 121, column 1]\n " color=yellow style=filled] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_2" [label="2: Exit A::class_method_fst_arg_of_class_method_inside_instance_method \n " color=yellow style=filled] -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" [label="3: Return Stmt \n n$28=*&#GB$A::class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle* [line 120, column 10]\n *&return:NSBundle*=n$28 [line 120, column 3]\n EXIT_SCOPE(n$28); [line 120, column 3]\n APPLY_ABSTRACTION; [line 120, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" [label="3: Return Stmt \n n$27=*&#GB$A::class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle* [line 120, column 10]\n *&return:NSBundle*=n$27 [line 120, column 3]\n EXIT_SCOPE(n$27); [line 120, column 3]\n APPLY_ABSTRACTION; [line 120, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_2" ; @@ -80,32 +80,32 @@ digraph cfg { "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_4" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_5" [label="5: Prune (true branch, boolean exp) \n PRUNE(n$30, true); [line 119, column 12]\n " shape="invhouse"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_5" [label="5: Prune (true branch, boolean exp) \n PRUNE(n$29, true); [line 119, column 12]\n " shape="invhouse"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_5" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_7" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!n$30, false); [line 119, column 12]\n EXIT_SCOPE(n$30); [line 119, column 12]\n " shape="invhouse"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!n$29, false); [line 119, column 12]\n EXIT_SCOPE(n$29); [line 119, column 12]\n " shape="invhouse"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_6" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$31:NSBundle*=n$30 [line 119, column 12]\n EXIT_SCOPE(n$30); [line 119, column 12]\n APPLY_ABSTRACTION; [line 119, column 12]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle*=n$29 [line 119, column 12]\n EXIT_SCOPE(n$29); [line 119, column 12]\n APPLY_ABSTRACTION; [line 119, column 12]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_7" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_4" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" [label="8: ConditionalStmt Branch \n n$32=_fun_NSBundle::mainBundle() [line 119, column 59]\n *&0$?%__sil_tmpSIL_temp_conditional___n$31:NSBundle*=n$32 [line 119, column 12]\n EXIT_SCOPE(n$32); [line 119, column 12]\n APPLY_ABSTRACTION; [line 119, column 12]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" [label="8: ConditionalStmt Branch \n n$31=_fun_NSBundle::mainBundle() [line 119, column 59]\n *&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle*=n$31 [line 119, column 12]\n EXIT_SCOPE(n$31); [line 119, column 12]\n APPLY_ABSTRACTION; [line 119, column 12]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_4" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" [label="9: BinaryConditionalStmt Init \n n$29=*&stringsBundlePath:NSString* [line 119, column 37]\n n$30=_fun_NSBundle::bundleWithPath:(n$29:NSString*) [line 119, column 12]\n EXIT_SCOPE(n$29,stringsBundlePath); [line 119, column 12]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" [label="9: BinaryConditionalStmt Init \n n$28=*&stringsBundlePath:NSString* [line 119, column 37]\n n$29=_fun_NSBundle::bundleWithPath:(n$28:NSString*) [line 119, column 12]\n NULLIFY(&stringsBundlePath); [line 119, column 12]\n EXIT_SCOPE(n$28,stringsBundlePath); [line 119, column 12]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_5" ; "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_6" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" [label="10: BinaryOperatorStmt: Assign \n n$33=*&0$?%__sil_tmpSIL_temp_conditional___n$31:NSBundle* [line 119, column 12]\n *&#GB$A::class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle*=n$33 [line 119, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$31); [line 119, column 3]\n EXIT_SCOPE(n$33,0$?%__sil_tmpSIL_temp_conditional___n$31); [line 119, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" [label="10: BinaryOperatorStmt: Assign \n n$32=*&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle* [line 119, column 12]\n *&#GB$A::class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle*=n$32 [line 119, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$30); [line 119, column 3]\n EXIT_SCOPE(n$32,0$?%__sil_tmpSIL_temp_conditional___n$30); [line 119, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" [label="11: DeclStmt \n n$38=_fun___variable_initialization(&stringsBundlePath:NSString*) assign_last [line 116, column 3]\n n$36=_fun_NSBundle::bundleForClass:(sizeof(t=B):unsigned long) [line 117, column 8]\n n$34=_fun_NSString::stringWithUTF8String:(\"Strings\":char* const ) [line 117, column 60]\n n$35=_fun_NSString::stringWithUTF8String:(\"bundle\":char* const ) [line 118, column 60]\n n$37=_fun_NSBundle::pathForResource:ofType:(n$36:NSBundle*,n$34:NSString*,n$35:NSString*) virtual [line 117, column 7]\n *&stringsBundlePath:NSString*=n$37 [line 116, column 3]\n EXIT_SCOPE(n$34,n$35,n$36,n$37,n$38); [line 116, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" [label="11: DeclStmt \n VARIABLE_DECLARED(stringsBundlePath:NSString*); [line 116, column 3]\n n$35=_fun_NSBundle::bundleForClass:(sizeof(t=B):unsigned long) [line 117, column 8]\n n$33=_fun_NSString::stringWithUTF8String:(\"Strings\":char* const ) [line 117, column 60]\n n$34=_fun_NSString::stringWithUTF8String:(\"bundle\":char* const ) [line 118, column 60]\n n$36=_fun_NSBundle::pathForResource:ofType:(n$35:NSBundle*,n$33:NSString*,n$34:NSString*) virtual [line 117, column 7]\n *&stringsBundlePath:NSString*=n$36 [line 116, column 3]\n EXIT_SCOPE(n$33,n$34,n$35,n$36); [line 116, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" ; @@ -131,16 +131,16 @@ digraph cfg { "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_4" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_2" ; -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_5" [label="5: BinaryOperatorStmt: NE \n n$24=*sizeof(t=A):objc_class* [line 94, column 7]\n n$25=*&c:objc_class* [line 94, column 15]\n NULLIFY(&c); [line 94, column 15]\n EXIT_SCOPE(c); [line 94, column 15]\n " shape="box"] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_5" [label="5: BinaryOperatorStmt: NE \n n$23=*sizeof(t=A):objc_class* [line 94, column 7]\n n$24=*&c:objc_class* [line 94, column 15]\n NULLIFY(&c); [line 94, column 15]\n EXIT_SCOPE(c); [line 94, column 15]\n " shape="box"] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_5" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_6" ; "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_5" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_7" ; -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_6" [label="6: Prune (true branch, if) \n PRUNE((n$24 != n$25), true); [line 94, column 7]\n EXIT_SCOPE(n$24,n$25); [line 94, column 7]\n " shape="invhouse"] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_6" [label="6: Prune (true branch, if) \n PRUNE((n$23 != n$24), true); [line 94, column 7]\n EXIT_SCOPE(n$23,n$24); [line 94, column 7]\n " shape="invhouse"] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_6" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_8" ; -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$24 != n$25), false); [line 94, column 7]\n EXIT_SCOPE(n$24,n$25); [line 94, column 7]\n " shape="invhouse"] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$23 != n$24), false); [line 94, column 7]\n EXIT_SCOPE(n$23,n$24); [line 94, column 7]\n " shape="invhouse"] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_7" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_9" ; @@ -203,7 +203,7 @@ digraph cfg { "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_2" [label="2: Exit A::class_method_fst_arg_of_class_method \n " color=yellow style=filled] -"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" [label="3: Return Stmt \n n$27=_fun_NSBundle::bundleForClass:(sizeof(t=A):unsigned long) [line 111, column 10]\n *&return:NSBundle*=n$27 [line 111, column 3]\n EXIT_SCOPE(n$27); [line 111, column 3]\n APPLY_ABSTRACTION; [line 111, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" [label="3: Return Stmt \n n$26=_fun_NSBundle::bundleForClass:(sizeof(t=A):unsigned long) [line 111, column 10]\n *&return:NSBundle*=n$26 [line 111, column 3]\n EXIT_SCOPE(n$26); [line 111, column 3]\n APPLY_ABSTRACTION; [line 111, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" -> "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_2" ; @@ -214,7 +214,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$20=*&self:A* [line 86, column 3]\n n$21=_fun_NSObject::init(n$20:A*) [line 86, column 3]\n NULLIFY(&self); [line 86, column 3]\n EXIT_SCOPE(n$20,n$21,self); [line 86, column 3]\n APPLY_ABSTRACTION; [line 86, column 3]\n " shape="box"] +"init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" [label="3: Message Call: init \n n$19=*&self:A* [line 86, column 3]\n n$20=_fun_NSObject::init(n$19:A*) [line 86, column 3]\n NULLIFY(&self); [line 86, column 3]\n EXIT_SCOPE(n$19,n$20,self); [line 86, column 3]\n APPLY_ABSTRACTION; [line 86, column 3]\n " shape="box"] "init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" -> "init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" ; @@ -225,7 +225,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$23=_fun_NSStringFromClass(sizeof(t=A):unsigned long) [line 90, column 10]\n *&return:NSString*=n$23 [line 90, column 3]\n EXIT_SCOPE(n$23); [line 90, column 3]\n APPLY_ABSTRACTION; [line 90, column 3]\n " shape="box"] +"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" [label="3: Return Stmt \n n$22=_fun_NSStringFromClass(sizeof(t=A):unsigned long) [line 90, column 10]\n *&return:NSString*=n$22 [line 90, column 3]\n EXIT_SCOPE(n$22); [line 90, column 3]\n APPLY_ABSTRACTION; [line 90, column 3]\n " shape="box"] "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" -> "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_2" ; @@ -233,14 +233,14 @@ digraph cfg { "t#A#instance.e31b9a7bced712626784e2860af1a31b_1" -> "t#A#instance.e31b9a7bced712626784e2860af1a31b_4" ; -"t#A#instance.e31b9a7bced712626784e2860af1a31b_2" [label="2: Exit A::t \n NULLIFY(&b); [line 75, column 1]\n " color=yellow style=filled] +"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 n$12=_fun_B::b_m() [line 74, column 3]\n EXIT_SCOPE(n$12); [line 74, column 3]\n APPLY_ABSTRACTION; [line 74, 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$15=_fun___variable_initialization(&b:B*) assign_last [line 73, column 3]\n n$13=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 73, column 10]\n n$14=_fun_NSObject::init(n$13:B*) virtual [line 73, column 10]\n *&b:B*=n$14 [line 73, column 3]\n EXIT_SCOPE(n$13,n$14,n$15,b); [line 73, column 3]\n " shape="box"] +"t#A#instance.e31b9a7bced712626784e2860af1a31b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B*); [line 73, column 3]\n n$13=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 73, column 10]\n n$14=_fun_NSObject::init(n$13:B*) virtual [line 73, column 10]\n *&b:B*=n$14 [line 73, column 3]\n NULLIFY(&b); [line 73, column 3]\n EXIT_SCOPE(n$13,n$14,b); [line 73, column 3]\n " shape="box"] "t#A#instance.e31b9a7bced712626784e2860af1a31b_4" -> "t#A#instance.e31b9a7bced712626784e2860af1a31b_3" ; @@ -258,7 +258,7 @@ digraph cfg { "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_2" [label="2: Exit A::use_class_in_other_ways: \n " color=yellow style=filled] -"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" [label="3: Return Stmt \n n$17=*&object:B* [line 78, column 11]\n n$18=_fun_B::isC:(n$17:B*,sizeof(t=A):unsigned long) virtual [line 78, column 10]\n *&return:_Bool=n$18 [line 78, column 3]\n NULLIFY(&object); [line 78, column 3]\n EXIT_SCOPE(n$17,n$18,object); [line 78, column 3]\n APPLY_ABSTRACTION; [line 78, column 3]\n " shape="box"] +"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" [label="3: Return Stmt \n n$16=*&object:B* [line 78, column 11]\n n$17=_fun_B::isC:(n$16:B*,sizeof(t=A):unsigned long) virtual [line 78, column 10]\n *&return:_Bool=n$17 [line 78, column 3]\n NULLIFY(&object); [line 78, column 3]\n EXIT_SCOPE(n$16,n$17,object); [line 78, column 3]\n APPLY_ABSTRACTION; [line 78, column 3]\n " shape="box"] "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" -> "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_2" ; 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 4862c0556..03bf4e69e 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot @@ -4,10 +4,10 @@ digraph cfg { "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_1" -> "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_3" ; -"aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_2" [label="2: Exit MyClass::aClassMethod \n NULLIFY(&myClass); [line 20, column 1]\n " color=yellow style=filled] +"aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_2" [label="2: Exit MyClass::aClassMethod \n " color=yellow style=filled] -"aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&myClass:MyClass*) assign_last [line 19, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=MyClass):unsigned long) [line 19, column 22]\n *&myClass:MyClass*=n$0 [line 19, column 3]\n EXIT_SCOPE(n$0,n$1,myClass); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_3" [label="3: DeclStmt \n VARIABLE_DECLARED(myClass:MyClass*); [line 19, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=MyClass):unsigned long) [line 19, column 22]\n *&myClass:MyClass*=n$0 [line 19, column 3]\n NULLIFY(&myClass); [line 19, column 3]\n EXIT_SCOPE(n$0,myClass); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_3" -> "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_2" ; @@ -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 n$3=_fun_MyClass::aClassMethod() [line 27, column 3]\n EXIT_SCOPE(n$3); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" [label="3: Message Call: aClassMethod \n n$2=_fun_MyClass::aClassMethod() [line 27, column 3]\n EXIT_SCOPE(n$2); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, 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 n$2=_fun_MyClass::aClassMethod() [line 23, column 3]\n EXIT_SCOPE(n$2); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" [label="3: Message Call: aClassMethod \n n$1=_fun_MyClass::aClassMethod() [line 23, column 3]\n EXIT_SCOPE(n$1); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, 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$4=*&self:MyClass* [line 35, column 4]\n n$5=_fun_MyClass::getX(n$4:MyClass*) virtual [line 35, column 3]\n NULLIFY(&self); [line 35, column 3]\n EXIT_SCOPE(n$4,n$5,self); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" [label="3: Message Call: getX \n n$3=*&self:MyClass* [line 35, column 4]\n n$4=_fun_MyClass::getX(n$3:MyClass*) virtual [line 35, column 3]\n NULLIFY(&self); [line 35, column 3]\n EXIT_SCOPE(n$3,n$4,self); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" -> "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot b/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot index c1258eeea..740a4bdba 100644 --- a/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_2" [label="2: Exit __infer_globals_initializer_lastName \n " color=yellow style=filled] -"__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&#GB$lastName:NSString*) assign_last [line 10, column 1]\n n$0=_fun_NSString::stringWithUTF8String:(\"Rodriguez\":char* const ) [line 10, column 22]\n *&#GB$lastName:NSString*=n$0 [line 10, column 1]\n EXIT_SCOPE(n$0,n$1); [line 10, column 1]\n APPLY_ABSTRACTION; [line 10, column 1]\n " shape="box"] +"__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$lastName:NSString*); [line 10, column 1]\n n$0=_fun_NSString::stringWithUTF8String:(\"Rodriguez\":char* const ) [line 10, column 22]\n *&#GB$lastName:NSString*=n$0 [line 10, column 1]\n EXIT_SCOPE(n$0); [line 10, column 1]\n APPLY_ABSTRACTION; [line 10, column 1]\n " shape="box"] "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" -> "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot b/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot index 5da1d0fb0..51cbefaab 100644 --- a/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot @@ -4,14 +4,14 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&lastName); [line 13, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] "main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$1=_fun___variable_initialization(&lastName:NSString*) assign_last [line 11, column 3]\n n$0=_fun_NSString::stringWithUTF8String:(\"Rodriguez\":char* const ) [line 11, column 24]\n *&lastName:NSString*=n$0 [line 11, column 3]\n EXIT_SCOPE(n$0,n$1,lastName); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lastName:NSString*); [line 11, column 3]\n n$0=_fun_NSString::stringWithUTF8String:(\"Rodriguez\":char* const ) [line 11, column 24]\n *&lastName:NSString*=n$0 [line 11, column 3]\n NULLIFY(&lastName); [line 11, column 3]\n EXIT_SCOPE(n$0,lastName); [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot b/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot index 9f36ebf90..a3a96f21f 100644 --- a/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot @@ -11,7 +11,7 @@ digraph cfg { "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_2" ; -"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&subclassNumber:int) assign_last [line 15, column 3]\n n$1=*&self:MySubclass* [line 15, column 24]\n n$2=_fun_MyClass::myNumber(n$1:MySubclass*) [line 15, column 24]\n *&subclassNumber:int=(n$2 + 1) [line 15, column 3]\n NULLIFY(&self); [line 15, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,self); [line 15, column 3]\n " shape="box"] +"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" [label="4: DeclStmt \n VARIABLE_DECLARED(subclassNumber:int); [line 15, column 3]\n n$1=*&self:MySubclass* [line 15, column 24]\n n$2=_fun_MyClass::myNumber(n$1:MySubclass*) [line 15, column 24]\n *&subclassNumber:int=(n$2 + 1) [line 15, column 3]\n NULLIFY(&self); [line 15, column 3]\n EXIT_SCOPE(n$1,n$2,self); [line 15, column 3]\n " shape="box"] "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot b/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot index 31b2ff26c..0058e80de 100644 --- a/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot @@ -4,14 +4,14 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&a); [line 13, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] "main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&a:A*) assign_last [line 11, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 11, column 11]\n n$1=_fun_NSObject::init(n$0:A*) virtual [line 11, column 10]\n *&a:A*=n$1 [line 11, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,a); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:A*); [line 11, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 11, column 11]\n n$1=_fun_NSObject::init(n$0:A*) virtual [line 11, column 10]\n *&a:A*=n$1 [line 11, column 3]\n NULLIFY(&a); [line 11, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/synchronizedStmt/sync.m.dot b/infer/tests/codetoanalyze/objc/frontend/synchronizedStmt/sync.m.dot index 473b098db..51564b881 100644 --- a/infer/tests/codetoanalyze/objc/frontend/synchronizedStmt/sync.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/synchronizedStmt/sync.m.dot @@ -19,11 +19,11 @@ digraph cfg { "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_5" -> "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_4" ; -"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_6" [label="6: DeclStmt \n n$5=_fun___variable_initialization(&x:int) assign_last [line 24, column 5]\n *&x:int=0 [line 24, column 5]\n EXIT_SCOPE(n$5); [line 24, column 5]\n " shape="box"] +"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int); [line 24, column 5]\n *&x:int=0 [line 24, column 5]\n " shape="box"] "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_6" -> "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_5" ; -"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_7" [label="7: Call _fun___set_locked_attribute \n n$6=*&anObj:objc_object* [line 19, column 17]\n n$7=_fun___set_locked_attribute(n$6:objc_object*) [line 19, column 3]\n EXIT_SCOPE(n$6,n$7); [line 19, column 3]\n " shape="box"] +"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_7" [label="7: Call _fun___set_locked_attribute \n n$5=*&anObj:objc_object* [line 19, column 17]\n n$6=_fun___set_locked_attribute(n$5:objc_object*) [line 19, column 3]\n EXIT_SCOPE(n$5,n$6); [line 19, column 3]\n " shape="box"] "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_7" -> "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_6" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/types/attributes.m.dot b/infer/tests/codetoanalyze/objc/frontend/types/attributes.m.dot index 1c6ec7661..e2d1bc6eb 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/attributes.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/attributes.m.dot @@ -4,30 +4,30 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&aStdRef); [line 41, column 1]\n NULLIFY(&aStrongRef); [line 41, column 1]\n NULLIFY(&aWeakRef); [line 41, column 1]\n NULLIFY(&anAutoRelRef); [line 41, column 1]\n NULLIFY(&anUnsafeUnretRef); [line 41, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] "main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&aStdRef:A* [line 37, column 22]\n *&anUnsafeUnretRef:A*=n$0 [line 37, column 3]\n EXIT_SCOPE(n$0,anUnsafeUnretRef,aStdRef); [line 37, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&aStdRef:A* [line 37, column 22]\n *&anUnsafeUnretRef:A*=n$0 [line 37, column 3]\n NULLIFY(&anUnsafeUnretRef); [line 37, column 3]\n NULLIFY(&aStdRef); [line 37, column 3]\n EXIT_SCOPE(n$0,anUnsafeUnretRef,aStdRef); [line 37, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&aStdRef:A* [line 35, column 18]\n *&anAutoRelRef:A*=n$1 [line 35, column 3]\n EXIT_SCOPE(n$1,anAutoRelRef); [line 35, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&aStdRef:A* [line 35, column 18]\n *&anAutoRelRef:A*=n$1 [line 35, column 3]\n NULLIFY(&anAutoRelRef); [line 35, column 3]\n EXIT_SCOPE(n$1,anAutoRelRef); [line 35, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&aStdRef:A* [line 33, column 14]\n *&aWeakRef:A*=n$2 [line 33, column 3]\n EXIT_SCOPE(n$2,aWeakRef); [line 33, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&aStdRef:A* [line 33, column 14]\n *&aWeakRef:A*=n$2 [line 33, column 3]\n NULLIFY(&aWeakRef); [line 33, column 3]\n EXIT_SCOPE(n$2,aWeakRef); [line 33, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&aStrongRef:A*=null [line 31, column 3]\n EXIT_SCOPE(aStrongRef); [line 31, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&aStrongRef:A*=null [line 31, column 3]\n NULLIFY(&aStrongRef); [line 31, column 3]\n EXIT_SCOPE(aStrongRef); [line 31, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$3=*&aStrongRef:A* [line 29, column 13]\n *&aStdRef:A*=n$3 [line 29, column 3]\n EXIT_SCOPE(n$3,aStrongRef); [line 29, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$3=*&aStrongRef:A* [line 29, column 13]\n *&aStdRef:A*=n$3 [line 29, column 3]\n NULLIFY(&aStrongRef); [line 29, column 3]\n EXIT_SCOPE(n$3,aStrongRef); [line 29, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -35,23 +35,23 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n n$5=_fun___variable_initialization(&aStdRef:A*) assign_last [line 24, column 3]\n *&aStdRef:A*=null [line 24, column 3]\n EXIT_SCOPE(n$5,aStdRef); [line 24, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(aStdRef:A*); [line 24, column 3]\n *&aStdRef:A*=null [line 24, column 3]\n NULLIFY(&aStdRef); [line 24, column 3]\n EXIT_SCOPE(aStdRef); [line 24, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n n$6=_fun___variable_initialization(&anAutoRelRef:A__autoreleasing *) assign_last [line 23, column 3]\n *&anAutoRelRef:A__autoreleasing *=null [line 23, column 3]\n EXIT_SCOPE(n$6,anAutoRelRef); [line 23, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(anAutoRelRef:A__autoreleasing *); [line 23, column 3]\n *&anAutoRelRef:A__autoreleasing *=null [line 23, column 3]\n NULLIFY(&anAutoRelRef); [line 23, column 3]\n EXIT_SCOPE(anAutoRelRef); [line 23, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n n$7=_fun___variable_initialization(&anUnsafeUnretRef:A__unsafe_unretained *) assign_last [line 22, column 3]\n *&anUnsafeUnretRef:A__unsafe_unretained *=null [line 22, column 3]\n EXIT_SCOPE(n$7,anUnsafeUnretRef); [line 22, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(anUnsafeUnretRef:A__unsafe_unretained *); [line 22, column 3]\n *&anUnsafeUnretRef:A__unsafe_unretained *=null [line 22, column 3]\n NULLIFY(&anUnsafeUnretRef); [line 22, column 3]\n EXIT_SCOPE(anUnsafeUnretRef); [line 22, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: DeclStmt \n n$8=_fun___variable_initialization(&aStrongRef:A*) assign_last [line 21, column 3]\n *&aStrongRef:A*=null [line 21, column 3]\n EXIT_SCOPE(n$8,aStrongRef); [line 21, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: DeclStmt \n VARIABLE_DECLARED(aStrongRef:A*); [line 21, column 3]\n *&aStrongRef:A*=null [line 21, column 3]\n NULLIFY(&aStrongRef); [line 21, column 3]\n EXIT_SCOPE(aStrongRef); [line 21, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n n$9=_fun___variable_initialization(&aWeakRef:A__weak *) assign_last [line 20, column 3]\n *&aWeakRef:A__weak *=null [line 20, column 3]\n EXIT_SCOPE(n$9,aWeakRef); [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(aWeakRef:A__weak *); [line 20, column 3]\n *&aWeakRef:A__weak *=null [line 20, column 3]\n NULLIFY(&aWeakRef); [line 20, column 3]\n EXIT_SCOPE(aWeakRef); [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot b/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot index 6bb5e2f8c..a9f3ff10e 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer___iPadVideoAdLayout#774934d200ab6ea201ea7444923ebf03.91a439a98050a5c80fe23fc56f573207_2" [label="2: Exit __infer_globals_initializer___iPadVideoAdLayout \n " color=yellow style=filled] -"__infer_globals_initializer___iPadVideoAdLayout#774934d200ab6ea201ea7444923ebf03.91a439a98050a5c80fe23fc56f573207_3" [label="3: DeclStmt \n n$0=_fun___variable_initialization(&#GB$__iPadVideoAdLayout:FBVideoAdLayout const ) assign_last [line 24, column 1]\n *&#GB$__iPadVideoAdLayout.placeHolderWidth:float=554 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.placeHolderHeight:float=350 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentLeftSidePadding:float=140 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentRightSidePadding:float=60 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.additionalPlaceholderOffset:float=40 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentGap:float=11 [line 24, column 52]\n EXIT_SCOPE(n$0); [line 24, column 52]\n APPLY_ABSTRACTION; [line 24, column 52]\n " shape="box"] +"__infer_globals_initializer___iPadVideoAdLayout#774934d200ab6ea201ea7444923ebf03.91a439a98050a5c80fe23fc56f573207_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$__iPadVideoAdLayout:FBVideoAdLayout const ); [line 24, column 1]\n *&#GB$__iPadVideoAdLayout.placeHolderWidth:float=554 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.placeHolderHeight:float=350 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentLeftSidePadding:float=140 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentRightSidePadding:float=60 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.additionalPlaceholderOffset:float=40 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentGap:float=11 [line 24, column 52]\n APPLY_ABSTRACTION; [line 24, column 52]\n " shape="box"] "__infer_globals_initializer___iPadVideoAdLayout#774934d200ab6ea201ea7444923ebf03.91a439a98050a5c80fe23fc56f573207_3" -> "__infer_globals_initializer___iPadVideoAdLayout#774934d200ab6ea201ea7444923ebf03.91a439a98050a5c80fe23fc56f573207_2" ; @@ -18,7 +18,7 @@ digraph cfg { "__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_2" [label="2: Exit __infer_globals_initializer___iPhoneVideoAdLayout \n " color=yellow style=filled] -"__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_3" [label="3: DeclStmt \n n$0=_fun___variable_initialization(&#GB$__iPhoneVideoAdLayout:FBVideoAdLayout const ) assign_last [line 33, column 1]\n *&#GB$__iPhoneVideoAdLayout.placeHolderWidth:float=244 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.placeHolderHeight:float=175 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentLeftSidePadding:float=20 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentRightSidePadding:float=20 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.additionalPlaceholderOffset:float=0 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentGap:float=7 [line 33, column 54]\n EXIT_SCOPE(n$0); [line 33, column 54]\n APPLY_ABSTRACTION; [line 33, column 54]\n " shape="box"] +"__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$__iPhoneVideoAdLayout:FBVideoAdLayout const ); [line 33, column 1]\n *&#GB$__iPhoneVideoAdLayout.placeHolderWidth:float=244 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.placeHolderHeight:float=175 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentLeftSidePadding:float=20 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentRightSidePadding:float=20 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.additionalPlaceholderOffset:float=0 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentGap:float=7 [line 33, column 54]\n APPLY_ABSTRACTION; [line 33, column 54]\n " shape="box"] "__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_3" -> "__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_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 f9d804a24..7d1f449cb 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot @@ -26,7 +26,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&o); [line 47, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] "main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 46, column 3]\n APPLY_ABSTRACTION; [line 46, column 3]\n " shape="box"] @@ -41,11 +41,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, if) \n n$0=*&o:AClass* [line 40, column 7]\n PRUNE(!n$0, false); [line 40, column 7]\n NULLIFY(&x); [line 40, column 7]\n EXIT_SCOPE(n$0,x,o); [line 40, column 7]\n APPLY_ABSTRACTION; [line 40, column 7]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, if) \n n$0=*&o:AClass* [line 40, column 7]\n PRUNE(!n$0, false); [line 40, column 7]\n NULLIFY(&x); [line 40, column 7]\n NULLIFY(&o); [line 40, column 7]\n EXIT_SCOPE(n$0,x,o); [line 40, column 7]\n APPLY_ABSTRACTION; [line 40, column 7]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&o:AClass* [line 43, column 10]\n n$1=*&x:int [line 43, column 16]\n n$3=_fun_AClass::bar:(n$2:AClass*,n$1:int) virtual [line 43, column 9]\n *&x:int=n$3 [line 43, column 5]\n NULLIFY(&x); [line 43, column 5]\n EXIT_SCOPE(n$1,n$2,n$3,x,o); [line 43, column 5]\n APPLY_ABSTRACTION; [line 43, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&o:AClass* [line 43, column 10]\n n$1=*&x:int [line 43, column 16]\n n$3=_fun_AClass::bar:(n$2:AClass*,n$1:int) virtual [line 43, column 9]\n *&x:int=n$3 [line 43, column 5]\n NULLIFY(&x); [line 43, column 5]\n NULLIFY(&o); [line 43, column 5]\n EXIT_SCOPE(n$1,n$2,n$3,x,o); [line 43, column 5]\n APPLY_ABSTRACTION; [line 43, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -53,20 +53,20 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n n$10=_fun___variable_initialization(&o:AClass*) assign_last [line 38, column 3]\n n$9=_fun___objc_alloc_no_fail(sizeof(t=AClass):unsigned long) [line 38, column 15]\n *&o:AClass*=n$9 [line 38, column 3]\n EXIT_SCOPE(n$9,n$10); [line 38, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(o:AClass*); [line 38, column 3]\n n$9=_fun___objc_alloc_no_fail(sizeof(t=AClass):unsigned long) [line 38, column 15]\n *&o:AClass*=n$9 [line 38, column 3]\n EXIT_SCOPE(n$9); [line 38, 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$11=*&x:int [line 36, column 12]\n n$12=_fun_bar1(n$11:int) [line 36, column 7]\n *&x:int=n$12 [line 36, column 3]\n EXIT_SCOPE(n$11,n$12); [line 36, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$10=*&x:int [line 36, column 12]\n n$11=_fun_bar1(n$10:int) [line 36, column 7]\n *&x:int=n$11 [line 36, column 3]\n EXIT_SCOPE(n$10,n$11); [line 36, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Call _fun_foo1 \n n$13=*&x:int [line 34, column 8]\n n$14=_fun_foo1(n$13:int) [line 34, column 3]\n EXIT_SCOPE(n$13,n$14); [line 34, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Call _fun_foo1 \n n$12=*&x:int [line 34, column 8]\n n$13=_fun_foo1(n$12:int) [line 34, column 3]\n EXIT_SCOPE(n$12,n$13); [line 34, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n n$15=_fun___variable_initialization(&x:int) assign_last [line 33, column 3]\n *&x:int=1 [line 33, column 3]\n EXIT_SCOPE(n$15); [line 33, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x:int); [line 33, column 3]\n *&x:int=1 [line 33, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot index d70412b04..0c3d9195f 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.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 n$1=_fun___variable_initialization(&a:int[3*4][2*12]) assign_last [line 13, column 3]\n n$0=*&z:int [line 13, column 19]\n *&a[0][0]:int=(n$0 + 1) [line 13, column 18]\n *&a[0][1]:int=2 [line 13, column 18]\n *&a[0][2]:int=3 [line 13, column 18]\n *&a[1][0]:int=5 [line 13, column 33]\n *&a[1][1]:int=6 [line 13, column 33]\n *&a[1][2]:int=7 [line 13, column 33]\n NULLIFY(&z); [line 13, column 33]\n NULLIFY(&a); [line 13, column 33]\n EXIT_SCOPE(n$0,n$1,z,a); [line 13, column 33]\n APPLY_ABSTRACTION; [line 13, column 33]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:int[3*4][2*12]); [line 13, column 3]\n n$0=*&z:int [line 13, column 19]\n *&a[0][0]:int=(n$0 + 1) [line 13, column 18]\n *&a[0][1]:int=2 [line 13, column 18]\n *&a[0][2]:int=3 [line 13, column 18]\n *&a[1][0]:int=5 [line 13, column 33]\n *&a[1][1]:int=6 [line 13, column 33]\n *&a[1][2]:int=7 [line 13, column 33]\n NULLIFY(&z); [line 13, column 33]\n NULLIFY(&a); [line 13, column 33]\n EXIT_SCOPE(n$0,z,a); [line 13, column 33]\n APPLY_ABSTRACTION; [line 13, column 33]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -26,18 +26,18 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_1" -> "test.098f6bcd4621d373cade4e832627b4f6_5" ; -"test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n NULLIFY(&c1); [line 24, column 1]\n NULLIFY(&c2); [line 24, column 1]\n " color=yellow style=filled] +"test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n " color=yellow style=filled] -"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: DeclStmt \n n$4=_fun___variable_initialization(&a:C*[3*8]) assign_last [line 23, column 3]\n n$0=*&c1:C* [line 23, column 15]\n n$1=_fun_NSObject::init(n$0:C*) virtual [line 23, column 14]\n *&a[0]:C*=n$1 [line 23, column 13]\n n$2=*&c1:C* [line 23, column 25]\n *&a[1]:C*=n$2 [line 23, column 13]\n n$3=*&c2:C* [line 23, column 29]\n *&a[2]:C*=n$3 [line 23, column 13]\n NULLIFY(&a); [line 23, column 13]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,c2,a,c1); [line 23, column 13]\n APPLY_ABSTRACTION; [line 23, column 13]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:C*[3*8]); [line 23, column 3]\n n$0=*&c1:C* [line 23, column 15]\n n$1=_fun_NSObject::init(n$0:C*) virtual [line 23, column 14]\n *&a[0]:C*=n$1 [line 23, column 13]\n n$2=*&c1:C* [line 23, column 25]\n *&a[1]:C*=n$2 [line 23, column 13]\n n$3=*&c2:C* [line 23, column 29]\n *&a[2]:C*=n$3 [line 23, column 13]\n NULLIFY(&c2); [line 23, column 13]\n NULLIFY(&a); [line 23, column 13]\n NULLIFY(&c1); [line 23, column 13]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,c2,a,c1); [line 23, column 13]\n APPLY_ABSTRACTION; [line 23, column 13]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: DeclStmt \n n$6=_fun___variable_initialization(&c2:C*) assign_last [line 22, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=C):unsigned long) [line 22, column 11]\n *&c2:C*=n$5 [line 22, column 3]\n EXIT_SCOPE(n$5,n$6); [line 22, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(c2:C*); [line 22, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=C):unsigned long) [line 22, column 11]\n *&c2:C*=n$4 [line 22, column 3]\n EXIT_SCOPE(n$4); [line 22, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n n$8=_fun___variable_initialization(&c1:C*) assign_last [line 21, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=C):unsigned long) [line 21, column 11]\n *&c1:C*=n$7 [line 21, column 3]\n EXIT_SCOPE(n$7,n$8); [line 21, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c1:C*); [line 21, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=C):unsigned long) [line 21, column 11]\n *&c1:C*=n$5 [line 21, column 3]\n EXIT_SCOPE(n$5); [line 21, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/last_af.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/last_af.m.dot index ae7762bab..cb0e81594 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/last_af.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/last_af.m.dot @@ -7,11 +7,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&b:int) assign_last [line 8, column 14]\n n$0=*&a:int [line 8, column 29]\n *&b:int=(n$0 + 2) [line 8, column 14]\n NULLIFY(&b); [line 8, column 14]\n NULLIFY(&a); [line 8, column 14]\n EXIT_SCOPE(n$0,n$1,b,a); [line 8, column 14]\n APPLY_ABSTRACTION; [line 8, column 14]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(b:int); [line 8, column 14]\n n$0=*&a:int [line 8, column 29]\n *&b:int=(n$0 + 2) [line 8, column 14]\n NULLIFY(&b); [line 8, column 14]\n NULLIFY(&a); [line 8, column 14]\n EXIT_SCOPE(n$0,b,a); [line 8, column 14]\n APPLY_ABSTRACTION; [line 8, column 14]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&a:int) assign_last [line 8, column 14]\n *&a:int=0 [line 8, column 14]\n EXIT_SCOPE(n$2); [line 8, column 14]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 8, column 14]\n *&a:int=0 [line 8, column 14]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/objc/performance/issues.exp b/infer/tests/codetoanalyze/objc/performance/issues.exp index 0a66451af..c10c8bc4b 100644 --- a/infer/tests/codetoanalyze/objc/performance/issues.exp +++ b/infer/tests/codetoanalyze/objc/performance/issues.exp @@ -1,6 +1,6 @@ codetoanalyze/objc/performance/araii.m, Araii::initWithBuffer, 4, EXPENSIVE_ALLOCATION_CALL, no_bucket, ERROR, [with estimated cost 4, degree = 0] codetoanalyze/objc/performance/araii.m, memory_leak_raii_main, 1, EXPENSIVE_ALLOCATION_CALL, no_bucket, ERROR, [with estimated cost 5, degree = 0] -codetoanalyze/objc/performance/cf.m, array_count_linear, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 7 + 3 â‹… arr.length + 2 â‹… (arr.length + 1), degree = 1,{arr.length + 1},Loop at line 18, column 3,{arr.length},Loop at line 18, column 3] -codetoanalyze/objc/performance/cf.m, cf_array_create_copy_linear, 6, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1012, degree = 0] -codetoanalyze/objc/performance/cf.m, cf_array_create_linear, 13, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 13 + 3 â‹… x + 2 â‹… (1+max(0, x)), degree = 1,{1+max(0, x)},Loop at line 41, column 3,{x},Loop at line 41, column 3] -codetoanalyze/objc/performance/cf.m, dict_count_linear, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 7 + 3 â‹… dict.length + 2 â‹… (dict.length + 1), degree = 1,{dict.length + 1},Loop at line 24, column 3,{dict.length},Loop at line 24, column 3] +codetoanalyze/objc/performance/cf.m, array_count_linear, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 5 + 3 â‹… arr.length + 2 â‹… (arr.length + 1), degree = 1,{arr.length + 1},Loop at line 18, column 3,{arr.length},Loop at line 18, column 3] +codetoanalyze/objc/performance/cf.m, cf_array_create_copy_linear, 6, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 1009, degree = 0] +codetoanalyze/objc/performance/cf.m, cf_array_create_linear, 13, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 10 + 3 â‹… x + 2 â‹… (1+max(0, x)), degree = 1,{1+max(0, x)},Loop at line 41, column 3,{x},Loop at line 41, column 3] +codetoanalyze/objc/performance/cf.m, dict_count_linear, 2, EXPENSIVE_EXECUTION_CALL, no_bucket, ERROR, [with estimated cost 5 + 3 â‹… dict.length + 2 â‹… (dict.length + 1), degree = 1,{dict.length + 1},Loop at line 24, column 3,{dict.length},Loop at line 24, column 3] 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 7d1bbba3d..38c55a20b 100644 --- a/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot @@ -15,14 +15,14 @@ digraph cfg { "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_1" -> "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" ; -"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_2" [label="2: Exit A::test1: \n NULLIFY(&aa); [line 26, column 1]\n " color=yellow style=filled] +"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_2" [label="2: Exit A::test1: \n " color=yellow style=filled] -"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" [label="3: Return Stmt \n n$1=*&aa:A* [line 25, column 10]\n n$2=*n$1.x:int [line 25, column 10]\n *&return:int=n$2 [line 25, column 3]\n EXIT_SCOPE(n$1,n$2,aa); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" [label="3: Return Stmt \n n$1=*&aa:A* [line 25, column 10]\n n$2=*n$1.x:int [line 25, column 10]\n *&return:int=n$2 [line 25, column 3]\n NULLIFY(&aa); [line 25, column 3]\n EXIT_SCOPE(n$1,n$2,aa); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" -> "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_2" ; -"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&aa:A*) assign_last [line 24, column 3]\n n$3=*&a:A* [line 24, column 12]\n n$4=_fun_A::child(n$3:A*) [line 24, column 11]\n *&aa:A*=n$4 [line 24, column 3]\n NULLIFY(&a); [line 24, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,a); [line 24, column 3]\n " shape="box"] +"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:A*); [line 24, column 3]\n n$3=*&a:A* [line 24, column 12]\n n$4=_fun_A::child(n$3:A*) [line 24, column 11]\n *&aa:A*=n$4 [line 24, column 3]\n NULLIFY(&a); [line 24, column 3]\n EXIT_SCOPE(n$3,n$4,a); [line 24, column 3]\n " shape="box"] "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" -> "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" ; @@ -30,14 +30,14 @@ digraph cfg { "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_1" -> "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" ; -"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_2" [label="2: Exit A::test2: \n NULLIFY(&aa); [line 31, column 1]\n " color=yellow style=filled] +"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_2" [label="2: Exit A::test2: \n " color=yellow style=filled] -"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" [label="3: Return Stmt \n n$6=*&aa:A* [line 30, column 10]\n n$7=*n$6.x:int [line 30, column 10]\n *&return:int=n$7 [line 30, column 3]\n EXIT_SCOPE(n$6,n$7,aa); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" [label="3: Return Stmt \n n$5=*&aa:A* [line 30, column 10]\n n$6=*n$5.x:int [line 30, column 10]\n *&return:int=n$6 [line 30, column 3]\n NULLIFY(&aa); [line 30, column 3]\n EXIT_SCOPE(n$5,n$6,aa); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" -> "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_2" ; -"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" [label="4: DeclStmt \n n$10=_fun___variable_initialization(&aa:A*) assign_last [line 29, column 3]\n n$8=*&a:A* [line 29, column 12]\n n$9=_fun_A::child(n$8:A*) [line 29, column 11]\n *&aa:A*=n$9 [line 29, column 3]\n NULLIFY(&a); [line 29, column 3]\n EXIT_SCOPE(n$8,n$9,n$10,a); [line 29, column 3]\n " shape="box"] +"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:A*); [line 29, column 3]\n n$7=*&a:A* [line 29, column 12]\n n$8=_fun_A::child(n$7:A*) [line 29, column 11]\n *&aa:A*=n$8 [line 29, column 3]\n NULLIFY(&a); [line 29, column 3]\n EXIT_SCOPE(n$7,n$8,a); [line 29, column 3]\n " shape="box"] "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" -> "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" ; @@ -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$11 \n n$11=*&successBlock:_fn_(*) [line 34, column 3]\n n$12=_fun_NSString::stringWithUTF8String:(\"Yay\":char* const ) [line 34, column 16]\n n$13=n$11(n$12:NSString*) objc_block [line 34, column 3]\n NULLIFY(&successBlock); [line 34, column 3]\n EXIT_SCOPE(n$11,n$12,n$13,successBlock); [line 34, column 3]\n " shape="box"] +"test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" [label="4: Call n$9 \n n$9=*&successBlock:_fn_(*) [line 34, column 3]\n n$10=_fun_NSString::stringWithUTF8String:(\"Yay\":char* const ) [line 34, column 16]\n n$11=n$9(n$10:NSString*) objc_block [line 34, column 3]\n NULLIFY(&successBlock); [line 34, column 3]\n EXIT_SCOPE(n$9,n$10,n$11,successBlock); [line 34, 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$14 \n n$14=*&successBlock:_fn_(*) [line 39, column 3]\n n$15=_fun_NSString::stringWithUTF8String:(\"Yay\":char* const ) [line 39, column 16]\n n$16=n$14(n$15:NSString*) objc_block [line 39, column 3]\n NULLIFY(&successBlock); [line 39, column 3]\n EXIT_SCOPE(n$14,n$15,n$16,successBlock); [line 39, column 3]\n " shape="box"] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" [label="4: Call n$12 \n n$12=*&successBlock:_fn_(*) [line 39, column 3]\n n$13=_fun_NSString::stringWithUTF8String:(\"Yay\":char* const ) [line 39, column 16]\n n$14=n$12(n$13:NSString*) objc_block [line 39, column 3]\n NULLIFY(&successBlock); [line 39, column 3]\n EXIT_SCOPE(n$12,n$13,n$14,successBlock); [line 39, column 3]\n " shape="box"] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot b/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot index 65249c30c..ee72c4e9c 100644 --- a/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot @@ -4,18 +4,18 @@ digraph cfg { "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_1" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" ; -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_2" [label="2: Exit npe_property_nullable \n NULLIFY(&child); [line 57, column 1]\n NULLIFY(&person); [line 57, column 1]\n " color=yellow style=filled] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_2" [label="2: Exit npe_property_nullable \n " color=yellow style=filled] -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" [label="3: Return Stmt \n n$1=*&child:Person* [line 56, column 21]\n n$0=_fun_NSString::stringWithUTF8String:(\"key\":char* const ) [line 56, column 12]\n n$2=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 56, column 10]\n *&return:NSDictionary*=n$2 [line 56, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,child); [line 56, column 3]\n APPLY_ABSTRACTION; [line 56, column 3]\n " shape="box"] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" [label="3: Return Stmt \n n$1=*&child:Person* [line 56, column 21]\n n$0=_fun_NSString::stringWithUTF8String:(\"key\":char* const ) [line 56, column 12]\n n$2=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 56, column 10]\n *&return:NSDictionary*=n$2 [line 56, column 3]\n NULLIFY(&child); [line 56, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,child); [line 56, column 3]\n APPLY_ABSTRACTION; [line 56, column 3]\n " shape="box"] "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_2" ; -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&child:Person*) assign_last [line 55, column 3]\n n$3=*&person:Person* [line 55, column 19]\n n$4=_fun_Person::child(n$3:Person*) [line 55, column 26]\n *&child:Person*=n$4 [line 55, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,person); [line 55, column 3]\n " shape="box"] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(child:Person*); [line 55, column 3]\n n$3=*&person:Person* [line 55, column 19]\n n$4=_fun_Person::child(n$3:Person*) [line 55, column 26]\n *&child:Person*=n$4 [line 55, column 3]\n NULLIFY(&person); [line 55, column 3]\n EXIT_SCOPE(n$3,n$4,person); [line 55, column 3]\n " shape="box"] "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" ; -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" [label="5: DeclStmt \n n$8=_fun___variable_initialization(&person:Person*) assign_last [line 54, column 3]\n n$6=_fun___objc_alloc_no_fail(sizeof(t=Person):unsigned long) [line 54, column 20]\n n$7=_fun_NSObject::init(n$6:Person*) virtual [line 54, column 20]\n *&person:Person*=n$7 [line 54, column 3]\n EXIT_SCOPE(n$6,n$7,n$8); [line 54, column 3]\n " shape="box"] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(person:Person*); [line 54, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=Person):unsigned long) [line 54, column 20]\n n$6=_fun_NSObject::init(n$5:Person*) virtual [line 54, column 20]\n *&person:Person*=n$6 [line 54, column 3]\n EXIT_SCOPE(n$5,n$6); [line 54, column 3]\n " shape="box"] "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" ; @@ -34,14 +34,14 @@ digraph cfg { "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_1" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" ; -"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_2" [label="2: Exit User::otherUserName \n NULLIFY(&ou); [line 51, column 1]\n " color=yellow style=filled] +"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_2" [label="2: Exit User::otherUserName \n " color=yellow style=filled] -"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" [label="3: Return Stmt \n n$4=*&ou:User* [line 50, column 10]\n n$5=*n$4._name:NSString* [line 50, column 10]\n *&return:NSString*=n$5 [line 50, column 3]\n EXIT_SCOPE(n$4,n$5,ou); [line 50, column 3]\n APPLY_ABSTRACTION; [line 50, column 3]\n " shape="box"] +"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" [label="3: Return Stmt \n n$4=*&ou:User* [line 50, column 10]\n n$5=*n$4._name:NSString* [line 50, column 10]\n *&return:NSString*=n$5 [line 50, column 3]\n NULLIFY(&ou); [line 50, column 3]\n EXIT_SCOPE(n$4,n$5,ou); [line 50, column 3]\n APPLY_ABSTRACTION; [line 50, column 3]\n " shape="box"] "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_2" ; -"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" [label="4: DeclStmt \n n$8=_fun___variable_initialization(&ou:User*) assign_last [line 49, column 3]\n n$6=*&self:User* [line 49, column 15]\n n$7=_fun_User::otherUser(n$6:User*) virtual [line 49, column 14]\n *&ou:User*=n$7 [line 49, column 3]\n NULLIFY(&self); [line 49, column 3]\n EXIT_SCOPE(n$6,n$7,n$8,self); [line 49, column 3]\n " shape="box"] +"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ou:User*); [line 49, column 3]\n n$6=*&self:User* [line 49, column 15]\n n$7=_fun_User::otherUser(n$6:User*) virtual [line 49, column 14]\n *&ou:User*=n$7 [line 49, column 3]\n NULLIFY(&self); [line 49, column 3]\n EXIT_SCOPE(n$6,n$7,self); [line 49, column 3]\n " shape="box"] "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot index 47974e996..2af479a09 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot @@ -7,7 +7,7 @@ digraph cfg { "objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_2" [label="2: Exit objc_blockBlockVar::blockPostBad_2 \n " color=yellow style=filled] -"objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_3" [label="3: Return Stmt \n n$19=*&x:int* [line 32, column 12]\n *&return:int*=n$19 [line 32, column 5]\n NULLIFY(&x); [line 32, column 5]\n EXIT_SCOPE(n$19,x); [line 32, column 5]\n APPLY_ABSTRACTION; [line 32, column 5]\n " shape="box"] +"objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_3" [label="3: Return Stmt \n n$15=*&x:int* [line 32, column 12]\n *&return:int*=n$15 [line 32, column 5]\n NULLIFY(&x); [line 32, column 5]\n EXIT_SCOPE(n$15,x); [line 32, column 5]\n APPLY_ABSTRACTION; [line 32, column 5]\n " shape="box"] "objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_3" -> "objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_2" ; @@ -18,7 +18,7 @@ digraph cfg { "objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_2" [label="2: Exit objc_blockBlockVar::blockPostOk_3 \n " color=yellow style=filled] -"objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_3" [label="3: Return Stmt \n n$26=*&x:int* [line 41, column 12]\n *&return:int*=n$26 [line 41, column 5]\n NULLIFY(&x); [line 41, column 5]\n EXIT_SCOPE(n$26,x); [line 41, column 5]\n APPLY_ABSTRACTION; [line 41, column 5]\n " shape="box"] +"objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_3" [label="3: Return Stmt \n n$20=*&x:int* [line 41, column 12]\n *&return:int*=n$20 [line 41, column 5]\n NULLIFY(&x); [line 41, column 5]\n EXIT_SCOPE(n$20,x); [line 41, column 5]\n APPLY_ABSTRACTION; [line 41, column 5]\n " shape="box"] "objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_3" -> "objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_2" ; @@ -29,7 +29,7 @@ digraph cfg { "objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_2" [label="2: Exit objc_blockBlockVar::capturedNoNullDeref_5 \n " color=yellow style=filled] -"objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_3" [label="3: Return Stmt \n n$40=*&x:int* [line 58, column 13]\n n$41=*n$40:int [line 58, column 12]\n *&return:int=n$41 [line 58, column 5]\n NULLIFY(&x); [line 58, column 5]\n EXIT_SCOPE(n$40,n$41,x); [line 58, column 5]\n APPLY_ABSTRACTION; [line 58, column 5]\n " shape="box"] +"objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_3" [label="3: Return Stmt \n n$29=*&x:int* [line 58, column 13]\n n$30=*n$29:int [line 58, column 12]\n *&return:int=n$30 [line 58, column 5]\n NULLIFY(&x); [line 58, column 5]\n EXIT_SCOPE(n$29,n$30,x); [line 58, column 5]\n APPLY_ABSTRACTION; [line 58, column 5]\n " shape="box"] "objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_3" -> "objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_2" ; @@ -40,7 +40,7 @@ digraph cfg { "objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_2" [label="2: Exit objc_blockBlockVar::capturedNullDeref_4 \n " color=yellow style=filled] -"objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_3" [label="3: Return Stmt \n n$33=*&x:int* [line 49, column 13]\n n$34=*n$33:int [line 49, column 12]\n *&return:int=n$34 [line 49, column 5]\n NULLIFY(&x); [line 49, column 5]\n EXIT_SCOPE(n$33,n$34,x); [line 49, column 5]\n APPLY_ABSTRACTION; [line 49, column 5]\n " shape="box"] +"objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_3" [label="3: Return Stmt \n n$24=*&x:int* [line 49, column 13]\n n$25=*n$24:int [line 49, column 12]\n *&return:int=n$25 [line 49, column 5]\n NULLIFY(&x); [line 49, column 5]\n EXIT_SCOPE(n$24,n$25,x); [line 49, column 5]\n APPLY_ABSTRACTION; [line 49, column 5]\n " shape="box"] "objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_3" -> "objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_2" ; @@ -51,11 +51,11 @@ digraph cfg { "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_2" [label="2: Exit objc_blockBlockVar::navigateToURLInBackground_1 \n " color=yellow style=filled] -"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" [label="3: Return Stmt \n n$9=*&a:int [line 19, column 12]\n n$10=*&b:int [line 19, column 16]\n n$11=*&res:int [line 19, column 20]\n *&return:int=((n$9 + n$10) + n$11) [line 19, column 5]\n NULLIFY(&a); [line 19, column 5]\n NULLIFY(&b); [line 19, column 5]\n NULLIFY(&res); [line 19, column 5]\n EXIT_SCOPE(n$9,n$10,n$11,a,b,res); [line 19, column 5]\n APPLY_ABSTRACTION; [line 19, column 5]\n " shape="box"] +"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" [label="3: Return Stmt \n n$7=*&a:int [line 19, column 12]\n n$8=*&b:int [line 19, column 16]\n n$9=*&res:int [line 19, column 20]\n *&return:int=((n$7 + n$8) + n$9) [line 19, column 5]\n NULLIFY(&a); [line 19, column 5]\n NULLIFY(&b); [line 19, column 5]\n NULLIFY(&res); [line 19, column 5]\n EXIT_SCOPE(n$7,n$8,n$9,a,b,res); [line 19, column 5]\n APPLY_ABSTRACTION; [line 19, column 5]\n " shape="box"] "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" -> "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_2" ; -"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_4" [label="4: DeclStmt \n n$13=_fun___variable_initialization(&res:int) assign_last [line 18, column 5]\n n$12=_fun_BlockVar::test() [line 18, column 15]\n *&res:int=n$12 [line 18, column 5]\n EXIT_SCOPE(n$12,n$13); [line 18, column 5]\n " shape="box"] +"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(res:int); [line 18, column 5]\n n$10=_fun_BlockVar::test() [line 18, column 15]\n *&res:int=n$10 [line 18, column 5]\n EXIT_SCOPE(n$10); [line 18, column 5]\n " shape="box"] "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_4" -> "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" ; @@ -63,7 +63,7 @@ digraph cfg { "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" [label="2: Exit BlockVar::navigateToURLInBackground \n NULLIFY(&p); [line 27, column 1]\n NULLIFY(&addBlock); [line 27, column 1]\n " color=yellow style=filled] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" [label="2: Exit BlockVar::navigateToURLInBackground \n " color=yellow style=filled] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_3" [label="3: + \n " ] @@ -83,11 +83,11 @@ digraph cfg { "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 8), false); [line 23, column 7]\n EXIT_SCOPE(n$0,p); [line 23, column 7]\n " shape="invhouse"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 8), false); [line 23, column 7]\n NULLIFY(&p); [line 23, column 7]\n EXIT_SCOPE(n$0,p); [line 23, column 7]\n " shape="invhouse"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" [label="8: Return Stmt \n n$1=*&p:int* [line 24, column 13]\n n$2=*n$1:int [line 24, column 12]\n *&return:int=n$2 [line 24, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" [label="8: Return Stmt \n n$1=*&p:int* [line 24, column 13]\n n$2=*n$1:int [line 24, column 12]\n *&return:int=n$2 [line 24, column 5]\n NULLIFY(&p); [line 24, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; @@ -95,15 +95,15 @@ digraph cfg { "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" [label="10: DeclStmt \n n$5=_fun___variable_initialization(&p:int*) assign_last [line 22, column 3]\n *&p:int*=null [line 22, column 3]\n EXIT_SCOPE(n$5); [line 22, column 3]\n " shape="box"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" [label="10: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 22, column 3]\n *&p:int*=null [line 22, column 3]\n " shape="box"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" [label="11: DeclStmt \n n$8=_fun___variable_initialization(&x:int) assign_last [line 21, column 3]\n n$6=*&addBlock:_fn_(*) [line 21, column 11]\n n$7=n$6(1:int,2:int) objc_block [line 21, column 11]\n *&x:int=n$7 [line 21, column 3]\n EXIT_SCOPE(n$6,n$7,n$8,addBlock); [line 21, column 3]\n " shape="box"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:int); [line 21, column 3]\n n$5=*&addBlock:_fn_(*) [line 21, column 11]\n n$6=n$5(1:int,2:int) objc_block [line 21, column 11]\n *&x:int=n$6 [line 21, column 3]\n NULLIFY(&addBlock); [line 21, column 3]\n EXIT_SCOPE(n$5,n$6,addBlock); [line 21, column 3]\n " shape="box"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" [label="12: DeclStmt \n n$14=_fun___variable_initialization(&addBlock:_fn_(*)) assign_last [line 17, column 3]\n *&addBlock:_fn_(*)=(_fun_objc_blockBlockVar::navigateToURLInBackground_1) [line 17, column 3]\n EXIT_SCOPE(n$14); [line 17, column 3]\n " shape="box"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" [label="12: DeclStmt \n VARIABLE_DECLARED(addBlock:_fn_(*)); [line 17, column 3]\n *&addBlock:_fn_(*)=(_fun_objc_blockBlockVar::navigateToURLInBackground_1) [line 17, column 3]\n " shape="box"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" ; @@ -122,18 +122,18 @@ digraph cfg { "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_1" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" ; -"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_2" [label="2: Exit BlockVar::blockPostBad \n NULLIFY(&x); [line 35, column 1]\n NULLIFY(&my_block); [line 35, column 1]\n " color=yellow style=filled] +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_2" [label="2: Exit BlockVar::blockPostBad \n " color=yellow style=filled] -"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" [label="3: Return Stmt \n n$15=*&my_block:_fn_(*) [line 34, column 11]\n n$16=n$15() objc_block [line 34, column 11]\n n$17=*n$16:int [line 34, column 10]\n *&return:int=n$17 [line 34, column 3]\n EXIT_SCOPE(n$15,n$16,n$17,my_block); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" [label="3: Return Stmt \n n$11=*&my_block:_fn_(*) [line 34, column 11]\n n$12=n$11() objc_block [line 34, column 11]\n n$13=*n$12:int [line 34, column 10]\n *&return:int=n$13 [line 34, column 3]\n NULLIFY(&my_block); [line 34, column 3]\n EXIT_SCOPE(n$11,n$12,n$13,my_block); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_2" ; -"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" [label="4: DeclStmt \n n$20=_fun___variable_initialization(&my_block:_fn_(*)) assign_last [line 31, column 3]\n n$18=*&x:int* [line 31, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::blockPostBad_2,(n$18 &x:int*)) [line 31, column 3]\n EXIT_SCOPE(n$18,n$20,x); [line 31, column 3]\n " shape="box"] +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 31, column 3]\n n$14=*&x:int* [line 31, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::blockPostBad_2,(n$14 &x:int*)) [line 31, column 3]\n NULLIFY(&x); [line 31, column 3]\n EXIT_SCOPE(n$14,x); [line 31, column 3]\n " shape="box"] "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" ; -"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" [label="5: DeclStmt \n n$21=_fun___variable_initialization(&x:int*) assign_last [line 30, column 3]\n *&x:int*=null [line 30, column 3]\n EXIT_SCOPE(n$21); [line 30, column 3]\n " shape="box"] +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 30, column 3]\n *&x:int*=null [line 30, column 3]\n " shape="box"] "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" ; @@ -141,22 +141,22 @@ digraph cfg { "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_1" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" ; -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" [label="2: Exit BlockVar::blockPostOk \n NULLIFY(&x); [line 44, column 1]\n NULLIFY(&my_block); [line 44, column 1]\n NULLIFY(&i); [line 44, column 1]\n " color=yellow style=filled] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" [label="2: Exit BlockVar::blockPostOk \n NULLIFY(&i); [line 44, column 1]\n " color=yellow style=filled] -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" [label="3: Return Stmt \n n$22=*&my_block:_fn_(*) [line 43, column 11]\n n$23=n$22() objc_block [line 43, column 11]\n n$24=*n$23:int [line 43, column 10]\n *&return:int=n$24 [line 43, column 3]\n EXIT_SCOPE(n$22,n$23,n$24,my_block); [line 43, column 3]\n APPLY_ABSTRACTION; [line 43, column 3]\n " shape="box"] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" [label="3: Return Stmt \n n$16=*&my_block:_fn_(*) [line 43, column 11]\n n$17=n$16() objc_block [line 43, column 11]\n n$18=*n$17:int [line 43, column 10]\n *&return:int=n$18 [line 43, column 3]\n NULLIFY(&my_block); [line 43, column 3]\n EXIT_SCOPE(n$16,n$17,n$18,my_block); [line 43, column 3]\n APPLY_ABSTRACTION; [line 43, column 3]\n " shape="box"] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" ; -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" [label="4: DeclStmt \n n$27=_fun___variable_initialization(&my_block:_fn_(*)) assign_last [line 40, column 3]\n n$25=*&x:int* [line 40, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::blockPostOk_3,(n$25 &x:int*)) [line 40, column 3]\n EXIT_SCOPE(n$25,n$27,x); [line 40, column 3]\n " shape="box"] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 40, column 3]\n n$19=*&x:int* [line 40, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::blockPostOk_3,(n$19 &x:int*)) [line 40, column 3]\n NULLIFY(&x); [line 40, column 3]\n EXIT_SCOPE(n$19,x); [line 40, column 3]\n " shape="box"] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" ; -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" [label="5: DeclStmt \n n$28=_fun___variable_initialization(&x:int*) assign_last [line 39, column 3]\n *&x:int*=&i [line 39, column 3]\n EXIT_SCOPE(n$28,i); [line 39, column 3]\n " shape="box"] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 39, column 3]\n *&x:int*=&i [line 39, column 3]\n EXIT_SCOPE(i); [line 39, column 3]\n " shape="box"] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" ; -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" [label="6: DeclStmt \n n$29=_fun___variable_initialization(&i:int) assign_last [line 38, column 3]\n *&i:int=7 [line 38, column 3]\n EXIT_SCOPE(n$29); [line 38, column 3]\n " shape="box"] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(i:int); [line 38, column 3]\n *&i:int=7 [line 38, column 3]\n " shape="box"] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" ; @@ -164,26 +164,26 @@ digraph cfg { "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_1" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_7" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_2" [label="2: Exit BlockVar::capturedNoNullDeref \n NULLIFY(&i); [line 62, column 1]\n NULLIFY(&x); [line 62, column 1]\n NULLIFY(&my_block); [line 62, column 1]\n " color=yellow style=filled] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_2" [label="2: Exit BlockVar::capturedNoNullDeref \n NULLIFY(&i); [line 62, column 1]\n " color=yellow style=filled] -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" [label="3: Return Stmt \n n$37=*&my_block:_fn_(*) [line 61, column 10]\n n$38=n$37() objc_block [line 61, column 10]\n *&return:int=n$38 [line 61, column 3]\n EXIT_SCOPE(n$37,n$38,my_block); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, column 3]\n " shape="box"] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" [label="3: Return Stmt \n n$26=*&my_block:_fn_(*) [line 61, column 10]\n n$27=n$26() objc_block [line 61, column 10]\n *&return:int=n$27 [line 61, column 3]\n NULLIFY(&my_block); [line 61, column 3]\n EXIT_SCOPE(n$26,n$27,my_block); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_2" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" [label="4: BinaryOperatorStmt: Assign \n *&x:int*=null [line 60, column 3]\n EXIT_SCOPE(x); [line 60, column 3]\n " shape="box"] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" [label="4: BinaryOperatorStmt: Assign \n *&x:int*=null [line 60, column 3]\n NULLIFY(&x); [line 60, column 3]\n EXIT_SCOPE(x); [line 60, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" [label="5: DeclStmt \n n$42=_fun___variable_initialization(&my_block:_fn_(*)) assign_last [line 57, column 3]\n n$39=*&x:int* [line 57, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::capturedNoNullDeref_5,(n$39 &x:int*)) [line 57, column 3]\n EXIT_SCOPE(n$39,n$42,x); [line 57, column 3]\n " shape="box"] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" [label="5: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 57, column 3]\n n$28=*&x:int* [line 57, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::capturedNoNullDeref_5,(n$28 &x:int*)) [line 57, column 3]\n NULLIFY(&x); [line 57, column 3]\n EXIT_SCOPE(n$28,x); [line 57, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" [label="6: DeclStmt \n n$43=_fun___variable_initialization(&x:int*) assign_last [line 56, column 3]\n *&x:int*=&i [line 56, column 3]\n EXIT_SCOPE(n$43,i); [line 56, column 3]\n " shape="box"] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 56, column 3]\n *&x:int*=&i [line 56, column 3]\n EXIT_SCOPE(i); [line 56, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_7" [label="7: DeclStmt \n n$44=_fun___variable_initialization(&i:int) assign_last [line 55, column 3]\n *&i:int=5 [line 55, column 3]\n EXIT_SCOPE(n$44); [line 55, column 3]\n " shape="box"] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_7" [label="7: DeclStmt \n VARIABLE_DECLARED(i:int); [line 55, column 3]\n *&i:int=5 [line 55, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_7" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" ; @@ -191,18 +191,18 @@ digraph cfg { "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_1" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_5" ; -"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_2" [label="2: Exit BlockVar::capturedNullDeref \n NULLIFY(&my_block); [line 52, column 1]\n NULLIFY(&x); [line 52, column 1]\n " color=yellow style=filled] +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_2" [label="2: Exit BlockVar::capturedNullDeref \n " color=yellow style=filled] -"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" [label="3: Return Stmt \n n$30=*&my_block:_fn_(*) [line 51, column 10]\n n$31=n$30() objc_block [line 51, column 10]\n *&return:int=n$31 [line 51, column 3]\n EXIT_SCOPE(n$30,n$31,my_block); [line 51, column 3]\n APPLY_ABSTRACTION; [line 51, column 3]\n " shape="box"] +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" [label="3: Return Stmt \n n$21=*&my_block:_fn_(*) [line 51, column 10]\n n$22=n$21() objc_block [line 51, column 10]\n *&return:int=n$22 [line 51, column 3]\n NULLIFY(&my_block); [line 51, column 3]\n EXIT_SCOPE(n$21,n$22,my_block); [line 51, column 3]\n APPLY_ABSTRACTION; [line 51, column 3]\n " shape="box"] "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_2" ; -"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" [label="4: DeclStmt \n n$35=_fun___variable_initialization(&my_block:_fn_(*)) assign_last [line 48, column 3]\n n$32=*&x:int* [line 48, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::capturedNullDeref_4,(n$32 &x:int*)) [line 48, column 3]\n EXIT_SCOPE(n$32,n$35,x); [line 48, column 3]\n " shape="box"] +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 48, column 3]\n n$23=*&x:int* [line 48, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::capturedNullDeref_4,(n$23 &x:int*)) [line 48, column 3]\n NULLIFY(&x); [line 48, column 3]\n EXIT_SCOPE(n$23,x); [line 48, column 3]\n " shape="box"] "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" ; -"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_5" [label="5: DeclStmt \n n$36=_fun___variable_initialization(&x:int*) assign_last [line 47, column 3]\n *&x:int*=null [line 47, column 3]\n EXIT_SCOPE(n$36); [line 47, column 3]\n " shape="box"] +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 47, column 3]\n *&x:int*=null [line 47, column 3]\n " shape="box"] "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_5" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" ; 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 6ed95af90..3ee6163d0 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(struct objc_object).682ea63855d347615885efa9ad25d5ed_4" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_2" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_5" [label="5: Prune (true branch, if) \n n$36=*&ShouldStop:int [line 41, column 13]\n PRUNE(n$36, true); [line 41, column 13]\n NULLIFY(&ShouldStop); [line 41, column 13]\n EXIT_SCOPE(n$36,ShouldStop); [line 41, column 13]\n " shape="invhouse"] +"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_5" [label="5: Prune (true branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(n$32, true); [line 41, column 13]\n NULLIFY(&ShouldStop); [line 41, column 13]\n EXIT_SCOPE(n$32,ShouldStop); [line 41, column 13]\n " shape="invhouse"] "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_5" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_6" [label="6: Prune (false branch, if) \n n$36=*&ShouldStop:int [line 41, column 13]\n PRUNE(!n$36, false); [line 41, column 13]\n NULLIFY(&ShouldStop); [line 41, column 13]\n EXIT_SCOPE(n$36,ShouldStop); [line 41, column 13]\n APPLY_ABSTRACTION; [line 41, column 13]\n " shape="invhouse"] +"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_6" [label="6: Prune (false branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(!n$32, false); [line 41, column 13]\n NULLIFY(&ShouldStop); [line 41, column 13]\n EXIT_SCOPE(n$32,ShouldStop); [line 41, column 13]\n APPLY_ABSTRACTION; [line 41, column 13]\n " shape="invhouse"] "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_6" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_3" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" [label="7: BinaryOperatorStmt: Assign \n n$37=*&stop:_Bool* [line 42, column 12]\n *n$37:_Bool=1 [line 42, column 11]\n NULLIFY(&stop); [line 42, column 11]\n EXIT_SCOPE(n$37,stop); [line 42, column 11]\n APPLY_ABSTRACTION; [line 42, column 11]\n " shape="box"] +"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" [label="7: BinaryOperatorStmt: Assign \n n$33=*&stop:_Bool* [line 42, column 12]\n *n$33:_Bool=1 [line 42, column 11]\n NULLIFY(&stop); [line 42, column 11]\n EXIT_SCOPE(n$33,stop); [line 42, column 11]\n APPLY_ABSTRACTION; [line 42, column 11]\n " shape="box"] "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_3" ; @@ -60,14 +60,14 @@ digraph cfg { "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_1" -> "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" ; -"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_2" [label="2: Exit MyBlock::array \n NULLIFY(&a); [line 28, column 1]\n " color=yellow style=filled] +"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$5=*&a:NSArray* [line 19, column 4]\n n$6=_fun_NSArray::enumerateObjectsUsingBlock:(n$5:NSArray*,(_fun_objc_blockMyBlock::array_1):_fn_(*)) block_params virtual [line 19, column 3]\n EXIT_SCOPE(n$5,n$6,a); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" [label="3: Message Call: enumerateObjectsUsingBlock: \n n$5=*&a:NSArray* [line 19, column 4]\n n$6=_fun_NSArray::enumerateObjectsUsingBlock:(n$5:NSArray*,(_fun_objc_blockMyBlock::array_1):_fn_(*)) block_params virtual [line 19, column 3]\n NULLIFY(&a); [line 19, column 3]\n EXIT_SCOPE(n$5,n$6,a); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, 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$9=_fun___variable_initialization(&a:NSArray*) assign_last [line 18, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 18, column 17]\n n$8=_fun_NSArray::init(n$7:NSArray*) virtual [line 18, column 16]\n *&a:NSArray*=n$8 [line 18, column 3]\n EXIT_SCOPE(n$7,n$8,n$9); [line 18, column 3]\n " shape="box"] +"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:NSArray*); [line 18, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 18, column 17]\n n$8=_fun_NSArray::init(n$7:NSArray*) virtual [line 18, column 16]\n *&a:NSArray*=n$8 [line 18, column 3]\n EXIT_SCOPE(n$7,n$8); [line 18, column 3]\n " shape="box"] "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" -> "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" ; @@ -75,10 +75,10 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_1" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_2" [label="2: Exit MyBlock::array_trans \n NULLIFY(&stop); [line 56, column 1]\n NULLIFY(&object); [line 56, column 1]\n NULLIFY(&enumerateObjectsUsingBlock); [line 56, column 1]\n NULLIFY(&a); [line 56, column 1]\n NULLIFY(&objects); [line 56, column 1]\n " color=yellow style=filled] +"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$10=*&stop:_Bool* [line 55, column 8]\n n$11=_fun_free(n$10:void*) [line 55, column 3]\n EXIT_SCOPE(n$10,n$11,stop); [line 55, column 3]\n APPLY_ABSTRACTION; [line 55, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" [label="3: Call _fun_free \n n$9=*&stop:_Bool* [line 55, column 8]\n n$10=_fun_free(n$9:void*) [line 55, column 3]\n NULLIFY(&stop); [line 55, column 3]\n EXIT_SCOPE(n$9,n$10,stop); [line 55, column 3]\n APPLY_ABSTRACTION; [line 55, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_2" ; @@ -86,24 +86,24 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_4" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_5" [label="5: DeclStmt \n n$12=_fun___variable_initialization(&idx:unsigned long) assign_last [line 48, column 8]\n *&idx:unsigned long=(unsigned long)0 [line 48, column 8]\n EXIT_SCOPE(n$12); [line 48, column 8]\n APPLY_ABSTRACTION; [line 48, column 8]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_5" [label="5: DeclStmt \n VARIABLE_DECLARED(idx:unsigned long); [line 48, column 8]\n *&idx:unsigned long=(unsigned long)0 [line 48, column 8]\n APPLY_ABSTRACTION; [line 48, column 8]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_5" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_4" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" [label="6: UnaryOperator \n n$13=*&idx:unsigned long [line 48, column 49]\n *&idx:unsigned long=(n$13 + 1) [line 48, column 49]\n EXIT_SCOPE(n$13); [line 48, column 49]\n APPLY_ABSTRACTION; [line 48, column 49]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" [label="6: UnaryOperator \n n$11=*&idx:unsigned long [line 48, column 49]\n *&idx:unsigned long=(n$11 + 1) [line 48, column 49]\n EXIT_SCOPE(n$11); [line 48, column 49]\n APPLY_ABSTRACTION; [line 48, 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$14=*&idx:unsigned long [line 48, column 28]\n n$15=*&objects:NSArray* [line 48, column 34]\n n$16=_fun_NSArray::count(n$15:NSArray*) [line 48, column 42]\n EXIT_SCOPE(n$15); [line 48, column 42]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" [label="7: BinaryOperatorStmt: LT \n n$12=*&idx:unsigned long [line 48, column 28]\n n$13=*&objects:NSArray* [line 48, column 34]\n n$14=_fun_NSArray::count(n$13:NSArray*) [line 48, column 42]\n EXIT_SCOPE(n$13); [line 48, 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$14 < n$16), true); [line 48, column 28]\n EXIT_SCOPE(n$14,n$16); [line 48, column 28]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$12 < n$14), true); [line 48, column 28]\n EXIT_SCOPE(n$12,n$14); [line 48, 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$14 < n$16), false); [line 48, column 28]\n NULLIFY(&idx); [line 48, column 28]\n EXIT_SCOPE(n$14,n$16,objects,idx,enumerateObjectsUsingBlock); [line 48, column 28]\n APPLY_ABSTRACTION; [line 48, column 28]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$12 < n$14), false); [line 48, column 28]\n NULLIFY(&objects); [line 48, column 28]\n NULLIFY(&idx); [line 48, column 28]\n NULLIFY(&enumerateObjectsUsingBlock); [line 48, column 28]\n EXIT_SCOPE(n$12,n$14,objects,idx,enumerateObjectsUsingBlock); [line 48, column 28]\n APPLY_ABSTRACTION; [line 48, column 28]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" ; @@ -111,44 +111,44 @@ 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$17=*&stop:_Bool* [line 52, column 10]\n n$18=*n$17:_Bool [line 52, column 9]\n EXIT_SCOPE(n$17); [line 52, column 9]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" [label="11: BinaryOperatorStmt: EQ \n n$15=*&stop:_Bool* [line 52, column 10]\n n$16=*n$15:_Bool [line 52, column 9]\n EXIT_SCOPE(n$15); [line 52, 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$18 == 1), true); [line 52, column 9]\n NULLIFY(&idx); [line 52, column 9]\n EXIT_SCOPE(n$18,objects,idx,enumerateObjectsUsingBlock); [line 52, column 9]\n APPLY_ABSTRACTION; [line 52, column 9]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_12" [label="12: Prune (true branch, if) \n PRUNE((n$16 == 1), true); [line 52, column 9]\n NULLIFY(&objects); [line 52, column 9]\n NULLIFY(&idx); [line 52, column 9]\n NULLIFY(&enumerateObjectsUsingBlock); [line 52, column 9]\n EXIT_SCOPE(n$16,objects,idx,enumerateObjectsUsingBlock); [line 52, column 9]\n APPLY_ABSTRACTION; [line 52, 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$18 == 1), false); [line 52, column 9]\n EXIT_SCOPE(n$18); [line 52, column 9]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$16 == 1), false); [line 52, column 9]\n EXIT_SCOPE(n$16); [line 52, 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$22 \n n$22=*&enumerateObjectsUsingBlock:_fn_(*) [line 51, column 5]\n n$23=*&object:objc_object* [line 51, column 32]\n n$24=*&idx:unsigned long [line 51, column 40]\n n$25=*&stop:_Bool* [line 51, column 45]\n n$26=n$22(n$23:objc_object*,n$24:unsigned long,n$25:_Bool*) objc_block [line 51, column 5]\n EXIT_SCOPE(n$22,n$23,n$24,n$25,n$26,object); [line 51, column 5]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" [label="14: Call n$20 \n n$20=*&enumerateObjectsUsingBlock:_fn_(*) [line 51, column 5]\n n$21=*&object:objc_object* [line 51, column 32]\n n$22=*&idx:unsigned long [line 51, column 40]\n n$23=*&stop:_Bool* [line 51, column 45]\n n$24=n$20(n$21:objc_object*,n$22:unsigned long,n$23:_Bool*) objc_block [line 51, column 5]\n NULLIFY(&object); [line 51, column 5]\n EXIT_SCOPE(n$20,n$21,n$22,n$23,n$24,object); [line 51, 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$30=_fun___variable_initialization(&object:objc_object*) assign_last [line 50, column 5]\n n$28=*&objects:NSArray* [line 50, column 17]\n n$27=*&idx:unsigned long [line 50, column 25]\n n$29=_fun_NSArray::objectAtIndexedSubscript:(n$28:NSArray*,n$27:unsigned long) virtual [line 50, column 17]\n *&object:objc_object*=n$29 [line 50, column 5]\n EXIT_SCOPE(n$27,n$28,n$29,n$30); [line 50, column 5]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" [label="15: DeclStmt \n VARIABLE_DECLARED(object:objc_object*); [line 50, column 5]\n n$26=*&objects:NSArray* [line 50, column 17]\n n$25=*&idx:unsigned long [line 50, column 25]\n n$27=_fun_NSArray::objectAtIndexedSubscript:(n$26:NSArray*,n$25:unsigned long) virtual [line 50, column 17]\n *&object:objc_object*=n$27 [line 50, column 5]\n EXIT_SCOPE(n$25,n$26,n$27); [line 50, 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$32=*&stop:_Bool* [line 46, column 4]\n *n$32:_Bool=0 [line 46, column 3]\n EXIT_SCOPE(n$32); [line 46, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" [label="16: BinaryOperatorStmt: Assign \n n$29=*&stop:_Bool* [line 46, column 4]\n *n$29:_Bool=0 [line 46, column 3]\n EXIT_SCOPE(n$29); [line 46, 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$34=_fun___variable_initialization(&stop:_Bool*) assign_last [line 45, column 3]\n n$33=_fun_malloc_no_fail(sizeof(t=_Bool;nbytes=1):_Bool) [line 45, column 16]\n *&stop:_Bool*=(_Bool*)n$33 [line 45, column 3]\n EXIT_SCOPE(n$33,n$34); [line 45, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" [label="17: DeclStmt \n VARIABLE_DECLARED(stop:_Bool*); [line 45, column 3]\n n$30=_fun_malloc_no_fail(sizeof(t=_Bool;nbytes=1):_Bool) [line 45, column 16]\n *&stop:_Bool*=(_Bool*)n$30 [line 45, column 3]\n EXIT_SCOPE(n$30); [line 45, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" [label="18: DeclStmt \n n$40=_fun___variable_initialization(&enumerateObjectsUsingBlock:_fn_(*)) assign_last [line 37, column 3]\n *&enumerateObjectsUsingBlock:_fn_(*)=(_fun_objc_blockMyBlock::array_trans_2) [line 37, column 3]\n EXIT_SCOPE(n$40); [line 37, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" [label="18: DeclStmt \n VARIABLE_DECLARED(enumerateObjectsUsingBlock:_fn_(*)); [line 37, column 3]\n *&enumerateObjectsUsingBlock:_fn_(*)=(_fun_objc_blockMyBlock::array_trans_2) [line 37, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" [label="19: DeclStmt \n n$42=_fun___variable_initialization(&objects:NSArray*) assign_last [line 34, column 3]\n n$41=*&a:NSArray* [line 34, column 22]\n *&objects:NSArray*=n$41 [line 34, column 3]\n EXIT_SCOPE(n$41,n$42,a); [line 34, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" [label="19: DeclStmt \n VARIABLE_DECLARED(objects:NSArray*); [line 34, column 3]\n n$36=*&a:NSArray* [line 34, column 22]\n *&objects:NSArray*=n$36 [line 34, column 3]\n NULLIFY(&a); [line 34, column 3]\n EXIT_SCOPE(n$36,a); [line 34, 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$45=_fun___variable_initialization(&a:NSArray*) assign_last [line 32, column 3]\n n$43=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 32, column 17]\n n$44=_fun_NSArray::init(n$43:NSArray*) virtual [line 32, column 16]\n *&a:NSArray*=n$44 [line 32, column 3]\n EXIT_SCOPE(n$43,n$44,n$45); [line 32, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" [label="20: DeclStmt \n VARIABLE_DECLARED(a:NSArray*); [line 32, column 3]\n n$37=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 32, column 17]\n n$38=_fun_NSArray::init(n$37:NSArray*) virtual [line 32, column 16]\n *&a:NSArray*=n$38 [line 32, column 3]\n EXIT_SCOPE(n$37,n$38); [line 32, 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.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block.m.dot index 5e758a6cb..631dd5657 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block.m.dot @@ -42,11 +42,11 @@ digraph cfg { "main1.38f534a9576db7ec6ebcbca8c111f942_8" -> "main1.38f534a9576db7ec6ebcbca8c111f942_7" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_9" [label="9: DeclStmt \n n$22=_fun___variable_initialization(&x:int) assign_last [line 11, column 3]\n *&x:int=7 [line 11, column 3]\n EXIT_SCOPE(n$22); [line 11, column 3]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:int); [line 11, column 3]\n *&x:int=7 [line 11, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_9" -> "main1.38f534a9576db7ec6ebcbca8c111f942_8" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_10" [label="10: DeclStmt \n n$23=_fun___variable_initialization(&#GB$main1.s:int) assign_last [line 10, column 3]\n *&#GB$main1.s:int=3 [line 10, column 3]\n EXIT_SCOPE(n$23); [line 10, column 3]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_10" [label="10: DeclStmt \n VARIABLE_DECLARED(#GB$main1.s:int); [line 10, column 3]\n *&#GB$main1.s:int=3 [line 10, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_10" -> "main1.38f534a9576db7ec6ebcbca8c111f942_9" ; @@ -80,7 +80,7 @@ digraph cfg { "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" ; -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_6" [label="6: DeclStmt \n n$21=_fun___variable_initialization(&bla:int) assign_last [line 19, column 5]\n *&bla:int=3 [line 19, column 5]\n EXIT_SCOPE(n$21); [line 19, column 5]\n " shape="box"] +"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_6" [label="6: DeclStmt \n VARIABLE_DECLARED(bla:int); [line 19, column 5]\n *&bla:int=3 [line 19, column 5]\n " shape="box"] "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_6" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" ; 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 7cdd81436..03687ad8d 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.bc98a1b6d7bd8cbef60672af337939a3_2" [label="2: Exit objc_blockMy_manager::m_1 \n " color=yellow style=filled] -"objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_3" [label="3: BinaryOperatorStmt: Assign \n n$9=*&z:int [line 24, column 9]\n *&#GB$g:int=(n$9 + 3) [line 24, column 5]\n NULLIFY(&z); [line 24, column 5]\n EXIT_SCOPE(n$9,z); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_3" [label="3: BinaryOperatorStmt: Assign \n n$8=*&z:int [line 24, column 9]\n *&#GB$g:int=(n$8 + 3) [line 24, column 5]\n NULLIFY(&z); [line 24, column 5]\n EXIT_SCOPE(n$8,z); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] "objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_3" -> "objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_2" ; @@ -15,7 +15,7 @@ digraph cfg { "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_1" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_14" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_2" [label="2: Exit My_manager::m \n NULLIFY(&p); [line 32, column 1]\n " color=yellow style=filled] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_2" [label="2: Exit My_manager::m \n " color=yellow style=filled] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_3" [label="3: + \n " ] @@ -35,11 +35,11 @@ digraph cfg { "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_6" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_8" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 6), false); [line 28, column 7]\n EXIT_SCOPE(n$0,p); [line 28, column 7]\n " shape="invhouse"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 6), false); [line 28, column 7]\n NULLIFY(&p); [line 28, column 7]\n EXIT_SCOPE(n$0,p); [line 28, column 7]\n " shape="invhouse"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_7" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_9" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_8" [label="8: Return Stmt \n n$1=*&p:int* [line 29, column 13]\n n$2=*n$1:int [line 29, column 12]\n *&return:int=n$2 [line 29, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_8" [label="8: Return Stmt \n n$1=*&p:int* [line 29, column 13]\n n$2=*n$1:int [line 29, column 12]\n *&return:int=n$2 [line 29, column 5]\n NULLIFY(&p); [line 29, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_8" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_2" ; @@ -47,19 +47,19 @@ digraph cfg { "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_9" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_2" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_10" [label="10: DeclStmt \n n$5=_fun___variable_initialization(&p:int*) assign_last [line 27, column 3]\n *&p:int*=null [line 27, column 3]\n EXIT_SCOPE(n$5); [line 27, column 3]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_10" [label="10: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 27, column 3]\n *&p:int*=null [line 27, column 3]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_10" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_5" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" [label="11: Call n$6 \n n$6=*&b:_fn_(*) [line 26, column 3]\n n$7=n$6() objc_block [line 26, column 3]\n NULLIFY(&b); [line 26, column 3]\n EXIT_SCOPE(n$6,n$7,b); [line 26, column 3]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" [label="11: Call n$5 \n n$5=*&b:_fn_(*) [line 26, column 3]\n n$6=n$5() objc_block [line 26, column 3]\n NULLIFY(&b); [line 26, column 3]\n EXIT_SCOPE(n$5,n$6,b); [line 26, 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$8=*&z:int [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager::m_1,(n$8 &z:int)) [line 23, column 3]\n EXIT_SCOPE(n$8); [line 23, column 3]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" [label="12: BinaryOperatorStmt: Assign \n n$7=*&z:int [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager::m_1,(n$7 &z:int)) [line 23, column 3]\n EXIT_SCOPE(n$7); [line 23, column 3]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_13" [label="13: DeclStmt \n n$10=_fun___variable_initialization(&z:int) assign_last [line 22, column 3]\n *&z:int=3 [line 22, column 3]\n EXIT_SCOPE(n$10); [line 22, column 3]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_13" [label="13: DeclStmt \n VARIABLE_DECLARED(z:int); [line 22, column 3]\n *&z:int=3 [line 22, column 3]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_13" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" ; 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 dd3b1974a..62819637b 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot @@ -32,7 +32,7 @@ digraph cfg { "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_1" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_12" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_2" [label="2: Exit My_manager::blockReleaseNoLeak \n NULLIFY(&newImage); [line 31, column 1]\n NULLIFY(&context); [line 31, column 1]\n " color=yellow style=filled] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_2" [label="2: Exit My_manager::blockReleaseNoLeak \n " color=yellow style=filled] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" [label="3: Return Stmt \n n$0=*&z:int [line 30, column 10]\n *&return:int=n$0 [line 30, column 3]\n NULLIFY(&z); [line 30, column 3]\n EXIT_SCOPE(n$0,z); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] @@ -47,11 +47,11 @@ digraph cfg { "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" [label="6: Prune (false branch, if) \n n$1=*&context:CGContext* [line 28, column 7]\n PRUNE(!n$1, false); [line 28, column 7]\n EXIT_SCOPE(n$1,context); [line 28, column 7]\n APPLY_ABSTRACTION; [line 28, column 7]\n " shape="invhouse"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" [label="6: Prune (false branch, if) \n n$1=*&context:CGContext* [line 28, column 7]\n PRUNE(!n$1, false); [line 28, column 7]\n NULLIFY(&context); [line 28, column 7]\n EXIT_SCOPE(n$1,context); [line 28, column 7]\n APPLY_ABSTRACTION; [line 28, column 7]\n " shape="invhouse"] "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 29, column 22]\n n$3=_fun_CGContextRelease(n$2:CGContext*) [line 29, column 5]\n EXIT_SCOPE(n$2,n$3,context); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" [label="7: Call _fun_CGContextRelease \n n$2=*&context:CGContext* [line 29, column 22]\n n$3=_fun_CGContextRelease(n$2:CGContext*) [line 29, column 5]\n NULLIFY(&context); [line 29, column 5]\n EXIT_SCOPE(n$2,n$3,context); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" ; @@ -60,19 +60,19 @@ digraph cfg { "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$9=*&newImage:CGImage* [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager::blockReleaseNoLeak_1,(n$9 &newImage:CGImage*)) [line 23, column 3]\n EXIT_SCOPE(n$9,newImage); [line 23, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" [label="9: BinaryOperatorStmt: Assign \n n$9=*&newImage:CGImage* [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager::blockReleaseNoLeak_1,(n$9 &newImage:CGImage*)) [line 23, column 3]\n NULLIFY(&newImage); [line 23, column 3]\n EXIT_SCOPE(n$9,newImage); [line 23, 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$17=_fun___variable_initialization(&newImage:CGImage*) assign_last [line 22, column 3]\n n$15=*&context:CGContext* [line 22, column 52]\n n$16=_fun_CGBitmapContextCreateImage(n$15:CGContext*) [line 22, column 25]\n *&newImage:CGImage*=n$16 [line 22, column 3]\n EXIT_SCOPE(n$15,n$16,n$17); [line 22, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" [label="10: DeclStmt \n VARIABLE_DECLARED(newImage:CGImage*); [line 22, column 3]\n n$15=*&context:CGContext* [line 22, column 52]\n n$16=_fun_CGBitmapContextCreateImage(n$15:CGContext*) [line 22, column 25]\n *&newImage:CGImage*=n$16 [line 22, column 3]\n EXIT_SCOPE(n$15,n$16); [line 22, 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$19=_fun___variable_initialization(&context:CGContext*) assign_last [line 21, column 3]\n n$18=_fun_CGBitmapContextCreate(null:void*,(unsigned long)0:unsigned long,(unsigned long)0:unsigned long,(unsigned long)8:unsigned long,(unsigned long)0:unsigned long,null:CGColorSpace*,(unsigned int)0:unsigned int) [line 21, column 26]\n *&context:CGContext*=n$18 [line 21, column 3]\n EXIT_SCOPE(n$18,n$19); [line 21, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" [label="11: DeclStmt \n VARIABLE_DECLARED(context:CGContext*); [line 21, column 3]\n n$17=_fun_CGBitmapContextCreate(null:void*,(unsigned long)0:unsigned long,(unsigned long)0:unsigned long,(unsigned long)8:unsigned long,(unsigned long)0:unsigned long,null:CGColorSpace*,(unsigned int)0:unsigned int) [line 21, column 26]\n *&context:CGContext*=n$17 [line 21, column 3]\n EXIT_SCOPE(n$17); [line 21, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_12" [label="12: DeclStmt \n n$20=_fun___variable_initialization(&z:int) assign_last [line 20, column 3]\n *&z:int=3 [line 20, column 3]\n EXIT_SCOPE(n$20); [line 20, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_12" [label="12: DeclStmt \n VARIABLE_DECLARED(z:int); [line 20, column 3]\n *&z:int=3 [line 20, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_12" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot index 545d83c7b..96517c439 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot @@ -4,7 +4,7 @@ digraph cfg { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_1" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" [label="2: Exit DispatchMain \n NULLIFY(&p); [line 89, column 1]\n NULLIFY(&b); [line 89, column 1]\n " color=yellow style=filled] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" [label="2: Exit DispatchMain \n " color=yellow style=filled] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_3" [label="3: + \n " ] @@ -15,7 +15,7 @@ digraph cfg { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_4" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&b:DispatchA* [line 85, column 7]\n EXIT_SCOPE(b); [line 85, column 7]\n " shape="box"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&b:DispatchA* [line 85, column 7]\n NULLIFY(&b); [line 85, column 7]\n EXIT_SCOPE(b); [line 85, column 7]\n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_6" ; @@ -24,11 +24,11 @@ digraph cfg { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_6" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == null), false); [line 85, column 7]\n EXIT_SCOPE(n$0,p); [line 85, column 7]\n " shape="invhouse"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == null), false); [line 85, column 7]\n NULLIFY(&p); [line 85, column 7]\n EXIT_SCOPE(n$0,p); [line 85, column 7]\n " shape="invhouse"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" [label="8: Return Stmt \n n$1=*&p:int* [line 86, column 13]\n n$2=*n$1:int [line 86, column 12]\n *&return:int=n$2 [line 86, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 86, column 5]\n APPLY_ABSTRACTION; [line 86, column 5]\n " shape="box"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" [label="8: Return Stmt \n n$1=*&p:int* [line 86, column 13]\n n$2=*n$1:int [line 86, column 12]\n *&return:int=n$2 [line 86, column 5]\n NULLIFY(&p); [line 86, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 86, column 5]\n APPLY_ABSTRACTION; [line 86, column 5]\n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" ; @@ -36,11 +36,11 @@ digraph cfg { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" [label="10: DeclStmt \n n$4=_fun___variable_initialization(&p:int*) assign_last [line 84, column 3]\n *&p:int*=null [line 84, column 3]\n EXIT_SCOPE(n$4); [line 84, column 3]\n " shape="box"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 84, column 3]\n *&p:int*=null [line 84, column 3]\n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" [label="11: DeclStmt \n n$6=_fun___variable_initialization(&b:DispatchA*) assign_last [line 83, column 3]\n n$5=_fun_DispatchA::sharedInstance() [line 83, column 18]\n *&b:DispatchA*=n$5 [line 83, column 3]\n EXIT_SCOPE(n$5,n$6); [line 83, column 3]\n " shape="box"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" [label="11: DeclStmt \n VARIABLE_DECLARED(b:DispatchA*); [line 83, column 3]\n n$4=_fun_DispatchA::sharedInstance() [line 83, column 18]\n *&b:DispatchA*=n$4 [line 83, column 3]\n EXIT_SCOPE(n$4); [line 83, column 3]\n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" ; @@ -62,7 +62,7 @@ digraph cfg { "objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_2" [label="2: Exit objc_blockDispatchA::dispatch_a_block_variable_4 \n " color=yellow style=filled] -"objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_3" [label="3: BinaryOperatorStmt: Assign \n n$22=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 55, column 25]\n n$23=_fun_NSObject::init(n$22:DispatchA*) virtual [line 55, column 25]\n *&#GB$DispatchA::dispatch_a_block_variable.static_storage__:objc_object*=n$23 [line 55, column 5]\n EXIT_SCOPE(n$22,n$23); [line 55, column 5]\n APPLY_ABSTRACTION; [line 55, column 5]\n " shape="box"] +"objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_3" [label="3: BinaryOperatorStmt: Assign \n n$20=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 55, column 25]\n n$21=_fun_NSObject::init(n$20:DispatchA*) virtual [line 55, column 25]\n *&#GB$DispatchA::dispatch_a_block_variable.static_storage__:objc_object*=n$21 [line 55, column 5]\n EXIT_SCOPE(n$20,n$21); [line 55, column 5]\n APPLY_ABSTRACTION; [line 55, column 5]\n " shape="box"] "objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_3" -> "objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_2" ; @@ -73,7 +73,7 @@ digraph cfg { "objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_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.95f7628ee6d5ad3dae46b578932c94aa_3" [label="3: BinaryOperatorStmt: Assign \n n$28=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 66, column 27]\n n$29=_fun_NSObject::init(n$28:DispatchA*) virtual [line 66, column 27]\n *&#GB$DispatchA::dispatch_a_block_variable_from_macro.static_storage__:objc_object*=n$29 [line 66, column 7]\n EXIT_SCOPE(n$28,n$29); [line 66, column 7]\n APPLY_ABSTRACTION; [line 66, column 7]\n " shape="box"] +"objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_3" [label="3: BinaryOperatorStmt: Assign \n n$25=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 66, column 27]\n n$26=_fun_NSObject::init(n$25:DispatchA*) virtual [line 66, column 27]\n *&#GB$DispatchA::dispatch_a_block_variable_from_macro.static_storage__:objc_object*=n$26 [line 66, column 7]\n EXIT_SCOPE(n$25,n$26); [line 66, column 7]\n APPLY_ABSTRACTION; [line 66, column 7]\n " shape="box"] "objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_3" -> "objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_2" ; @@ -95,7 +95,7 @@ digraph cfg { "objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_2" [label="2: Exit objc_blockDispatchA::trans_3 \n " color=yellow style=filled] -"objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_3" [label="3: BinaryOperatorStmt: Assign \n n$16=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 46, column 23]\n n$17=_fun_NSBundleResourceRequest::init(n$16:DispatchA*) virtual [line 46, column 22]\n *&#GB$DispatchA::trans.sharedInstance:objc_object*=n$17 [line 46, column 5]\n EXIT_SCOPE(n$16,n$17); [line 46, column 5]\n APPLY_ABSTRACTION; [line 46, column 5]\n " shape="box"] +"objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_3" [label="3: BinaryOperatorStmt: Assign \n n$15=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 46, column 23]\n n$16=_fun_NSBundleResourceRequest::init(n$15:DispatchA*) virtual [line 46, column 22]\n *&#GB$DispatchA::trans.sharedInstance:objc_object*=n$16 [line 46, column 5]\n EXIT_SCOPE(n$15,n$16); [line 46, column 5]\n APPLY_ABSTRACTION; [line 46, column 5]\n " shape="box"] "objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_3" -> "objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_2" ; @@ -103,10 +103,10 @@ digraph cfg { "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_1" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" [label="2: Exit DispatchA::block_attribute \n NULLIFY(&a); [line 41, column 1]\n " color=yellow style=filled] +"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$5=*&a:DispatchA* [line 40, column 10]\n n$6=*n$5._x:int [line 40, column 10]\n *&return:int=n$6 [line 40, column 3]\n EXIT_SCOPE(n$5,n$6,a); [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" [label="3: Return Stmt \n n$5=*&a:DispatchA* [line 40, column 10]\n n$6=*n$5._x:int [line 40, column 10]\n *&return:int=n$6 [line 40, column 3]\n NULLIFY(&a); [line 40, column 3]\n EXIT_SCOPE(n$5,n$6,a); [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" ; @@ -114,7 +114,7 @@ digraph cfg { "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" [label="5: DeclStmt \n n$12=_fun___variable_initialization(&a:DispatchA*) assign_last [line 36, column 3]\n n$10=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 36, column 26]\n n$11=_fun_NSObject::init(n$10:DispatchA*) virtual [line 36, column 26]\n *&a:DispatchA*=n$11 [line 36, column 3]\n EXIT_SCOPE(n$10,n$11,n$12); [line 36, column 3]\n " shape="box"] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:DispatchA*); [line 36, column 3]\n n$10=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 36, column 26]\n n$11=_fun_NSObject::init(n$10:DispatchA*) virtual [line 36, column 26]\n *&a:DispatchA*=n$11 [line 36, column 3]\n EXIT_SCOPE(n$10,n$11); [line 36, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" ; @@ -122,18 +122,18 @@ digraph cfg { "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_1" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" ; -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_2" [label="2: Exit DispatchA::dispatch_a_block_variable \n NULLIFY(&initialization_block__); [line 60, column 1]\n " color=yellow style=filled] +"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$19=*&#GB$DispatchA::dispatch_a_block_variable.static_storage__:objc_object* [line 59, column 10]\n *&return:objc_object*=n$19 [line 59, column 3]\n EXIT_SCOPE(n$19); [line 59, column 3]\n APPLY_ABSTRACTION; [line 59, 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 59, column 10]\n *&return:objc_object*=n$17 [line 59, column 3]\n EXIT_SCOPE(n$17); [line 59, column 3]\n APPLY_ABSTRACTION; [line 59, 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$20=*&initialization_block__:_fn_(*) [line 58, column 32]\n n$21=_fun__dispatch_once(&#GB$DispatchA::dispatch_a_block_variable.once_token__:long*,n$20:_fn_(*)) [line 58, column 3]\n EXIT_SCOPE(n$20,n$21,initialization_block__); [line 58, 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 58, column 32]\n n$19=_fun__dispatch_once(&#GB$DispatchA::dispatch_a_block_variable.once_token__:long*,n$18:_fn_(*)) [line 58, column 3]\n NULLIFY(&initialization_block__); [line 58, column 3]\n EXIT_SCOPE(n$18,n$19,initialization_block__); [line 58, column 3]\n " shape="box"] "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" ; -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" [label="5: DeclStmt \n n$24=_fun___variable_initialization(&initialization_block__:_fn_(*)) assign_last [line 54, column 3]\n *&initialization_block__:_fn_(*)=(_fun_objc_blockDispatchA::dispatch_a_block_variable_4) [line 54, column 3]\n EXIT_SCOPE(n$24); [line 54, column 3]\n " shape="box"] +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(initialization_block__:_fn_(*)); [line 54, column 3]\n *&initialization_block__:_fn_(*)=(_fun_objc_blockDispatchA::dispatch_a_block_variable_4) [line 54, column 3]\n " shape="box"] "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" ; @@ -141,22 +141,22 @@ digraph cfg { "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_1" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_5" ; -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_2" [label="2: Exit DispatchA::dispatch_a_block_variable_from_macro \n NULLIFY(&initialization_block__); [line 72, column 1]\n " color=yellow style=filled] +"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$25=*&#GB$DispatchA::dispatch_a_block_variable_from_macro.static_storage__:objc_object* [line 70, 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 70, 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$26=*&initialization_block__:_fn_(*) [line 69, column 34]\n n$27=_fun__dispatch_once(&#GB$DispatchA::dispatch_a_block_variable_from_macro.once_token__:long*,n$26:_fn_(*)) [line 69, column 5]\n EXIT_SCOPE(n$26,n$27,initialization_block__); [line 69, 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 69, column 34]\n n$24=_fun__dispatch_once(&#GB$DispatchA::dispatch_a_block_variable_from_macro.once_token__:long*,n$23:_fn_(*)) [line 69, column 5]\n NULLIFY(&initialization_block__); [line 69, column 5]\n EXIT_SCOPE(n$23,n$24,initialization_block__); [line 69, 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" ; -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_5" [label="5: DeclStmt \n n$30=_fun___variable_initialization(&initialization_block__:_fn_(*)) assign_last [line 65, column 5]\n *&initialization_block__:_fn_(*)=(_fun_objc_blockDispatchA::dispatch_a_block_variable_from_macro_5) [line 65, column 5]\n EXIT_SCOPE(n$30); [line 65, column 5]\n " shape="box"] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_5" [label="5: DeclStmt \n VARIABLE_DECLARED(initialization_block__:_fn_(*)); [line 65, column 5]\n *&initialization_block__:_fn_(*)=(_fun_objc_blockDispatchA::dispatch_a_block_variable_from_macro_5) [line 65, column 5]\n " shape="box"] "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$25 [line 63, column 3]\n EXIT_SCOPE(n$25); [line 63, column 3]\n APPLY_ABSTRACTION; [line 63, 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 63, column 3]\n EXIT_SCOPE(n$22); [line 63, column 3]\n APPLY_ABSTRACTION; [line 63, 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" ; @@ -164,18 +164,18 @@ digraph cfg { "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_1" -> "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_2" [label="2: Exit DispatchA::dispatch_a_block_variable_from_macro_delivers_initialised_object \n NULLIFY(&a); [line 78, column 1]\n " color=yellow style=filled] +"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$31=*&a:DispatchA* [line 77, column 15]\n n$32=*n$31._x:int [line 77, column 15]\n *&return:int=(1 / (n$32 - 5)) [line 77, column 3]\n EXIT_SCOPE(n$31,n$32,a); [line 77, column 3]\n APPLY_ABSTRACTION; [line 77, 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 77, column 15]\n n$28=*n$27._x:int [line 77, column 15]\n *&return:int=(1 / (n$28 - 5)) [line 77, column 3]\n NULLIFY(&a); [line 77, column 3]\n EXIT_SCOPE(n$27,n$28,a); [line 77, column 3]\n APPLY_ABSTRACTION; [line 77, 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$33=*&a:DispatchA* [line 76, column 3]\n *n$33._x:int=5 [line 76, column 3]\n EXIT_SCOPE(n$33); [line 76, 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 76, column 3]\n *n$29._x:int=5 [line 76, column 3]\n EXIT_SCOPE(n$29); [line 76, 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$35=_fun___variable_initialization(&a:DispatchA*) assign_last [line 75, column 3]\n n$34=_fun_DispatchA::dispatch_a_block_variable_from_macro() [line 75, column 18]\n *&a:DispatchA*=n$34 [line 75, column 3]\n EXIT_SCOPE(n$34,n$35); [line 75, column 3]\n " shape="box"] +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:DispatchA*); [line 75, column 3]\n n$30=_fun_DispatchA::dispatch_a_block_variable_from_macro() [line 75, column 18]\n *&a:DispatchA*=n$30 [line 75, column 3]\n EXIT_SCOPE(n$30); [line 75, 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" ; @@ -198,18 +198,18 @@ digraph cfg { "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_1" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" ; -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" [label="2: Exit DispatchA::trans \n NULLIFY(&dummy_block); [line 50, column 1]\n " color=yellow style=filled] +"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$13=*&#GB$DispatchA::trans.sharedInstance:objc_object* [line 49, column 10]\n *&return:objc_object*=n$13 [line 49, column 3]\n EXIT_SCOPE(n$13); [line 49, column 3]\n APPLY_ABSTRACTION; [line 49, column 3]\n " shape="box"] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" [label="3: Return Stmt \n n$12=*&#GB$DispatchA::trans.sharedInstance:objc_object* [line 49, column 10]\n *&return:objc_object*=n$12 [line 49, column 3]\n EXIT_SCOPE(n$12); [line 49, column 3]\n APPLY_ABSTRACTION; [line 49, column 3]\n " shape="box"] "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" ; -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" [label="4: Call n$14 \n n$14=*&dummy_block:_fn_(*) [line 48, column 3]\n n$15=n$14() objc_block [line 48, column 3]\n EXIT_SCOPE(n$14,n$15,dummy_block); [line 48, column 3]\n " shape="box"] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" [label="4: Call n$13 \n n$13=*&dummy_block:_fn_(*) [line 48, column 3]\n n$14=n$13() objc_block [line 48, column 3]\n NULLIFY(&dummy_block); [line 48, column 3]\n EXIT_SCOPE(n$13,n$14,dummy_block); [line 48, column 3]\n " shape="box"] "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" ; -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" [label="5: DeclStmt \n n$18=_fun___variable_initialization(&dummy_block:_fn_(*)) assign_last [line 45, column 3]\n *&dummy_block:_fn_(*)=(_fun_objc_blockDispatchA::trans_3) [line 45, column 3]\n EXIT_SCOPE(n$18); [line 45, column 3]\n " shape="box"] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" [label="5: DeclStmt \n VARIABLE_DECLARED(dummy_block:_fn_(*)); [line 45, column 3]\n *&dummy_block:_fn_(*)=(_fun_objc_blockDispatchA::trans_3) [line 45, column 3]\n " shape="box"] "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" ; 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 af8bbc811..dae2a6aee 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.6e9398bb753d10e1e5234dfa24ad1e09_2" [label="2: Exit objc_blockDispatchEx::dispatch_after_example_3 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" [label="3: BinaryOperatorStmt: Assign \n n$20=*&#GB$DispatchEx::dispatch_after_example.a:DispatchEx* [line 50, column 20]\n *n$20.x:int=10 [line 50, column 20]\n EXIT_SCOPE(n$20); [line 50, column 20]\n APPLY_ABSTRACTION; [line 50, column 20]\n " shape="box"] +"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" [label="3: BinaryOperatorStmt: Assign \n n$18=*&#GB$DispatchEx::dispatch_after_example.a:DispatchEx* [line 50, column 20]\n *n$18.x:int=10 [line 50, column 20]\n EXIT_SCOPE(n$18); [line 50, column 20]\n APPLY_ABSTRACTION; [line 50, column 20]\n " shape="box"] "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" -> "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_2" ; -"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_4" [label="4: BinaryOperatorStmt: Assign \n n$21=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 49, column 25]\n n$22=_fun_DispatchEx::init(n$21:DispatchEx*) virtual [line 49, column 24]\n *&#GB$DispatchEx::dispatch_after_example.a:DispatchEx*=n$22 [line 49, column 20]\n EXIT_SCOPE(n$21,n$22); [line 49, column 20]\n " shape="box"] +"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_4" [label="4: BinaryOperatorStmt: Assign \n n$19=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 49, column 25]\n n$20=_fun_DispatchEx::init(n$19:DispatchEx*) virtual [line 49, column 24]\n *&#GB$DispatchEx::dispatch_after_example.a:DispatchEx*=n$20 [line 49, column 20]\n EXIT_SCOPE(n$19,n$20); [line 49, column 20]\n " shape="box"] "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_4" -> "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" ; @@ -22,11 +22,11 @@ digraph cfg { "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_2" [label="2: Exit objc_blockDispatchEx::dispatch_async_example_2 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" [label="3: BinaryOperatorStmt: Assign \n n$11=*&#GB$DispatchEx::dispatch_async_example.a:DispatchEx* [line 39, column 20]\n *n$11.x:int=10 [line 39, column 20]\n EXIT_SCOPE(n$11); [line 39, column 20]\n APPLY_ABSTRACTION; [line 39, column 20]\n " shape="box"] +"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" [label="3: BinaryOperatorStmt: Assign \n n$10=*&#GB$DispatchEx::dispatch_async_example.a:DispatchEx* [line 39, column 20]\n *n$10.x:int=10 [line 39, column 20]\n EXIT_SCOPE(n$10); [line 39, column 20]\n APPLY_ABSTRACTION; [line 39, column 20]\n " shape="box"] "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" -> "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_2" ; -"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_4" [label="4: BinaryOperatorStmt: Assign \n n$12=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 38, column 25]\n n$13=_fun_DispatchEx::init(n$12:DispatchEx*) virtual [line 38, column 24]\n *&#GB$DispatchEx::dispatch_async_example.a:DispatchEx*=n$13 [line 38, column 20]\n EXIT_SCOPE(n$12,n$13); [line 38, column 20]\n " shape="box"] +"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_4" [label="4: BinaryOperatorStmt: Assign \n n$11=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 38, column 25]\n n$12=_fun_DispatchEx::init(n$11:DispatchEx*) virtual [line 38, column 24]\n *&#GB$DispatchEx::dispatch_async_example.a:DispatchEx*=n$12 [line 38, column 20]\n EXIT_SCOPE(n$11,n$12); [line 38, column 20]\n " shape="box"] "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_4" -> "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" ; @@ -37,11 +37,11 @@ digraph cfg { "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_2" [label="2: Exit objc_blockDispatchEx::dispatch_barrier_example_6 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" [label="3: BinaryOperatorStmt: Assign \n n$44=*&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx* [line 77, column 5]\n *n$44.x:int=10 [line 77, column 5]\n EXIT_SCOPE(n$44); [line 77, column 5]\n APPLY_ABSTRACTION; [line 77, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" [label="3: BinaryOperatorStmt: Assign \n n$39=*&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx* [line 77, column 5]\n *n$39.x:int=10 [line 77, column 5]\n EXIT_SCOPE(n$39); [line 77, column 5]\n APPLY_ABSTRACTION; [line 77, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" -> "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_2" ; -"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_4" [label="4: BinaryOperatorStmt: Assign \n n$45=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 76, column 10]\n n$46=_fun_DispatchEx::init(n$45:DispatchEx*) virtual [line 76, column 9]\n *&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*=n$46 [line 76, column 5]\n EXIT_SCOPE(n$45,n$46); [line 76, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_4" [label="4: BinaryOperatorStmt: Assign \n n$40=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 76, column 10]\n n$41=_fun_DispatchEx::init(n$40:DispatchEx*) virtual [line 76, column 9]\n *&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*=n$41 [line 76, column 5]\n EXIT_SCOPE(n$40,n$41); [line 76, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_4" -> "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" ; @@ -52,11 +52,11 @@ digraph cfg { "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_2" [label="2: Exit objc_blockDispatchEx::dispatch_group_example_4 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" [label="3: BinaryOperatorStmt: Assign \n n$28=*&#GB$DispatchEx::dispatch_group_example.a:DispatchEx* [line 59, column 5]\n *n$28.x:int=10 [line 59, column 5]\n EXIT_SCOPE(n$28); [line 59, column 5]\n APPLY_ABSTRACTION; [line 59, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" [label="3: BinaryOperatorStmt: Assign \n n$25=*&#GB$DispatchEx::dispatch_group_example.a:DispatchEx* [line 59, column 5]\n *n$25.x:int=10 [line 59, column 5]\n EXIT_SCOPE(n$25); [line 59, column 5]\n APPLY_ABSTRACTION; [line 59, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" -> "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_2" ; -"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_4" [label="4: BinaryOperatorStmt: Assign \n n$29=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 58, column 10]\n n$30=_fun_DispatchEx::init(n$29:DispatchEx*) virtual [line 58, column 9]\n *&#GB$DispatchEx::dispatch_group_example.a:DispatchEx*=n$30 [line 58, column 5]\n EXIT_SCOPE(n$29,n$30); [line 58, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_4" [label="4: BinaryOperatorStmt: Assign \n n$26=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 58, column 10]\n n$27=_fun_DispatchEx::init(n$26:DispatchEx*) virtual [line 58, column 9]\n *&#GB$DispatchEx::dispatch_group_example.a:DispatchEx*=n$27 [line 58, column 5]\n EXIT_SCOPE(n$26,n$27); [line 58, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_4" -> "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" ; @@ -67,11 +67,11 @@ digraph cfg { "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_2" [label="2: Exit objc_blockDispatchEx::dispatch_group_notify_example_5 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" [label="3: BinaryOperatorStmt: Assign \n n$36=*&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx* [line 68, column 5]\n *n$36.x:int=10 [line 68, column 5]\n EXIT_SCOPE(n$36); [line 68, column 5]\n APPLY_ABSTRACTION; [line 68, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" [label="3: BinaryOperatorStmt: Assign \n n$32=*&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx* [line 68, column 5]\n *n$32.x:int=10 [line 68, column 5]\n EXIT_SCOPE(n$32); [line 68, column 5]\n APPLY_ABSTRACTION; [line 68, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" -> "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_2" ; -"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_4" [label="4: BinaryOperatorStmt: Assign \n n$37=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 67, column 10]\n n$38=_fun_DispatchEx::init(n$37:DispatchEx*) virtual [line 67, column 9]\n *&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*=n$38 [line 67, column 5]\n EXIT_SCOPE(n$37,n$38); [line 67, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_4" [label="4: BinaryOperatorStmt: Assign \n n$33=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 67, column 10]\n n$34=_fun_DispatchEx::init(n$33:DispatchEx*) virtual [line 67, column 9]\n *&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*=n$34 [line 67, column 5]\n EXIT_SCOPE(n$33,n$34); [line 67, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_4" -> "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" ; @@ -97,15 +97,15 @@ 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$16=*&#GB$DispatchEx::dispatch_after_example.a:DispatchEx* [line 52, column 10]\n n$17=*n$16.x:int [line 52, column 10]\n *&return:int=n$17 [line 52, column 3]\n EXIT_SCOPE(n$16,n$17); [line 52, column 3]\n APPLY_ABSTRACTION; [line 52, 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 52, column 10]\n n$15=*n$14.x:int [line 52, column 10]\n *&return:int=n$15 [line 52, column 3]\n EXIT_SCOPE(n$14,n$15); [line 52, column 3]\n APPLY_ABSTRACTION; [line 52, 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$18=_fun_dispatch_time(0:unsigned long long,((unsigned long long)2 * 1000000000):long long) [line 46, column 18]\n n$19=_fun_dispatch_get_main_queue() [line 47, column 18]\n n$23=_fun_dispatch_after(n$18:unsigned long long,n$19:NSObject*,(_fun_objc_blockDispatchEx::dispatch_after_example_3):_fn_(*)) block_params [line 46, column 3]\n EXIT_SCOPE(n$18,n$19,n$23); [line 46, 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,((unsigned long long)2 * 1000000000):long long) [line 46, column 18]\n n$17=_fun_dispatch_get_main_queue() [line 47, 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 46, column 3]\n EXIT_SCOPE(n$16,n$17,n$21); [line 46, column 3]\n " shape="box"] "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" ; -"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" [label="5: DeclStmt \n n$24=_fun___variable_initialization(&#GB$DispatchEx::dispatch_after_example.a:DispatchEx*) assign_last [line 45, column 3]\n *&#GB$DispatchEx::dispatch_after_example.a:DispatchEx*=null [line 45, column 3]\n EXIT_SCOPE(n$24); [line 45, column 3]\n " shape="box"] +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_after_example.a:DispatchEx*); [line 45, column 3]\n *&#GB$DispatchEx::dispatch_after_example.a:DispatchEx*=null [line 45, column 3]\n " shape="box"] "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" ; @@ -116,15 +116,15 @@ 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$8=*&#GB$DispatchEx::dispatch_async_example.a:DispatchEx* [line 41, column 10]\n n$9=*n$8.x:int [line 41, column 10]\n *&return:int=n$9 [line 41, column 3]\n EXIT_SCOPE(n$8,n$9); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, 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 41, column 10]\n n$8=*n$7.x:int [line 41, column 10]\n *&return:int=n$8 [line 41, column 3]\n EXIT_SCOPE(n$7,n$8); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, 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$10=_fun_dispatch_get_global_queue(0:long,(unsigned long)0:unsigned long) [line 36, column 18]\n n$14=_fun_dispatch_async(n$10:NSObject*,(_fun_objc_blockDispatchEx::dispatch_async_example_2):_fn_(*)) block_params [line 36, column 3]\n EXIT_SCOPE(n$10,n$14); [line 36, 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,(unsigned long)0:unsigned long) [line 36, column 18]\n n$13=_fun_dispatch_async(n$9:NSObject*,(_fun_objc_blockDispatchEx::dispatch_async_example_2):_fn_(*)) block_params [line 36, column 3]\n EXIT_SCOPE(n$9,n$13); [line 36, column 3]\n " shape="box"] "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" ; -"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_5" [label="5: DeclStmt \n n$15=_fun___variable_initialization(&#GB$DispatchEx::dispatch_async_example.a:DispatchEx*) assign_last [line 35, column 3]\n *&#GB$DispatchEx::dispatch_async_example.a:DispatchEx*=null [line 35, column 3]\n EXIT_SCOPE(n$15); [line 35, column 3]\n " shape="box"] +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_async_example.a:DispatchEx*); [line 35, column 3]\n *&#GB$DispatchEx::dispatch_async_example.a:DispatchEx*=null [line 35, column 3]\n " shape="box"] "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_5" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" ; @@ -135,15 +135,15 @@ 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$41=*&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx* [line 79, column 10]\n n$42=*n$41.x:int [line 79, column 10]\n *&return:int=n$42 [line 79, column 3]\n EXIT_SCOPE(n$41,n$42); [line 79, column 3]\n APPLY_ABSTRACTION; [line 79, 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 79, column 10]\n n$37=*n$36.x:int [line 79, column 10]\n *&return:int=n$37 [line 79, column 3]\n EXIT_SCOPE(n$36,n$37); [line 79, column 3]\n APPLY_ABSTRACTION; [line 79, 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$43=_fun_dispatch_get_main_queue() [line 75, column 26]\n n$47=_fun_dispatch_barrier_async(n$43:NSObject*,(_fun_objc_blockDispatchEx::dispatch_barrier_example_6):_fn_(*)) block_params [line 75, column 3]\n EXIT_SCOPE(n$43,n$47); [line 75, 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 75, column 26]\n n$42=_fun_dispatch_barrier_async(n$38:NSObject*,(_fun_objc_blockDispatchEx::dispatch_barrier_example_6):_fn_(*)) block_params [line 75, column 3]\n EXIT_SCOPE(n$38,n$42); [line 75, column 3]\n " shape="box"] "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" ; -"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" [label="5: DeclStmt \n n$48=_fun___variable_initialization(&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*) assign_last [line 74, column 3]\n *&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*=null [line 74, column 3]\n EXIT_SCOPE(n$48); [line 74, column 3]\n " shape="box"] +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*); [line 74, column 3]\n *&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*=null [line 74, column 3]\n " shape="box"] "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" ; @@ -154,15 +154,15 @@ 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$25=*&#GB$DispatchEx::dispatch_group_example.a:DispatchEx* [line 61, column 10]\n n$26=*n$25.x:int [line 61, column 10]\n *&return:int=n$26 [line 61, column 3]\n EXIT_SCOPE(n$25,n$26); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, 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 61, column 10]\n n$23=*n$22.x:int [line 61, column 10]\n *&return:int=n$23 [line 61, column 3]\n EXIT_SCOPE(n$22,n$23); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, 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$27=_fun_dispatch_get_main_queue() [line 57, column 30]\n n$31=_fun_dispatch_group_async(null:NSObject*,n$27:NSObject*,(_fun_objc_blockDispatchEx::dispatch_group_example_4):_fn_(*)) block_params [line 57, column 3]\n EXIT_SCOPE(n$27,n$31); [line 57, 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 57, 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 57, column 3]\n EXIT_SCOPE(n$24,n$28); [line 57, column 3]\n " shape="box"] "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" ; -"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_5" [label="5: DeclStmt \n n$32=_fun___variable_initialization(&#GB$DispatchEx::dispatch_group_example.a:DispatchEx*) assign_last [line 56, column 3]\n *&#GB$DispatchEx::dispatch_group_example.a:DispatchEx*=null [line 56, column 3]\n EXIT_SCOPE(n$32); [line 56, column 3]\n " shape="box"] +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_group_example.a:DispatchEx*); [line 56, column 3]\n *&#GB$DispatchEx::dispatch_group_example.a:DispatchEx*=null [line 56, column 3]\n " shape="box"] "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_5" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" ; @@ -173,15 +173,15 @@ 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$33=*&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx* [line 70, column 10]\n n$34=*n$33.x:int [line 70, column 10]\n *&return:int=n$34 [line 70, column 3]\n EXIT_SCOPE(n$33,n$34); [line 70, column 3]\n APPLY_ABSTRACTION; [line 70, 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 70, column 10]\n n$30=*n$29.x:int [line 70, column 10]\n *&return:int=n$30 [line 70, column 3]\n EXIT_SCOPE(n$29,n$30); [line 70, column 3]\n APPLY_ABSTRACTION; [line 70, 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$35=_fun_dispatch_get_main_queue() [line 66, column 30]\n n$39=_fun_dispatch_group_async(null:NSObject*,n$35:NSObject*,(_fun_objc_blockDispatchEx::dispatch_group_notify_example_5):_fn_(*)) block_params [line 66, column 3]\n EXIT_SCOPE(n$35,n$39); [line 66, 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 66, 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 66, column 3]\n EXIT_SCOPE(n$31,n$35); [line 66, column 3]\n " shape="box"] "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" ; -"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_5" [label="5: DeclStmt \n n$40=_fun___variable_initialization(&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*) assign_last [line 65, column 3]\n *&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*=null [line 65, column 3]\n EXIT_SCOPE(n$40); [line 65, column 3]\n " shape="box"] +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*); [line 65, column 3]\n *&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*=null [line 65, column 3]\n " shape="box"] "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_5" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" ; @@ -200,7 +200,7 @@ digraph cfg { "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" ; -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" [label="5: DeclStmt \n n$7=_fun___variable_initialization(&#GB$DispatchEx::dispatch_once_example.a:DispatchEx*) assign_last [line 23, column 3]\n *&#GB$DispatchEx::dispatch_once_example.a:DispatchEx*=null [line 23, column 3]\n EXIT_SCOPE(n$7); [line 23, column 3]\n " shape="box"] +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_once_example.a:DispatchEx*); [line 23, column 3]\n *&#GB$DispatchEx::dispatch_once_example.a:DispatchEx*=null [line 23, column 3]\n " shape="box"] "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" ; 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 8be9d68cb..3caaf3ba7 100644 --- a/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot +++ b/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot @@ -4,22 +4,22 @@ digraph cfg { "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_1" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_2" [label="2: Exit CategoryProcdescMain \n NULLIFY(&person); [line 16, column 1]\n NULLIFY(&x); [line 16, column 1]\n " color=yellow style=filled] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_2" [label="2: Exit CategoryProcdescMain \n " color=yellow style=filled] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_3" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_2" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" [label="4: DeclStmt \n n$1=_fun___variable_initialization(&x:int*) assign_last [line 14, column 3]\n n$0=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 14, column 12]\n *&x:int*=(int*)n$0 [line 14, column 3]\n EXIT_SCOPE(n$0,n$1,x); [line 14, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 14, column 3]\n n$0=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 14, column 12]\n *&x:int*=(int*)n$0 [line 14, column 3]\n NULLIFY(&x); [line 14, column 3]\n EXIT_SCOPE(n$0,x); [line 14, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_3" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" [label="5: Message Call: performDaysWork \n n$2=*&person:EOCPerson* [line 13, column 4]\n n$3=_fun_EOCPerson::performDaysWork(n$2:EOCPerson*) virtual [line 13, column 3]\n EXIT_SCOPE(n$2,n$3,person); [line 13, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" [label="5: Message Call: performDaysWork \n n$1=*&person:EOCPerson* [line 13, column 4]\n n$2=_fun_EOCPerson::performDaysWork(n$1:EOCPerson*) virtual [line 13, column 3]\n NULLIFY(&person); [line 13, column 3]\n EXIT_SCOPE(n$1,n$2,person); [line 13, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" [label="6: DeclStmt \n n$6=_fun___variable_initialization(&person:EOCPerson*) assign_last [line 12, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=EOCPerson):unsigned long) [line 12, column 24]\n n$5=_fun_NSObject::init(n$4:EOCPerson*) virtual [line 12, column 23]\n *&person:EOCPerson*=n$5 [line 12, column 3]\n EXIT_SCOPE(n$4,n$5,n$6); [line 12, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" [label="6: DeclStmt \n VARIABLE_DECLARED(person:EOCPerson*); [line 12, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=EOCPerson):unsigned long) [line 12, column 24]\n n$4=_fun_NSObject::init(n$3:EOCPerson*) virtual [line 12, column 23]\n *&person:EOCPerson*=n$4 [line 12, column 3]\n EXIT_SCOPE(n$3,n$4); [line 12, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" ; diff --git a/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot b/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot index 20a6d7dc9..c19b51fc2 100644 --- a/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot @@ -4,10 +4,10 @@ digraph cfg { "super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_1" -> "super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_3" ; -"super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_2" [label="2: Exit super_example_main \n NULLIFY(&a); [line 42, column 1]\n " color=yellow style=filled] +"super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_2" [label="2: Exit super_example_main \n " color=yellow style=filled] -"super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_3" [label="3: DeclStmt \n n$2=_fun___variable_initialization(&a:objc_object*) assign_last [line 40, column 5]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=ASuper):unsigned long) [line 40, column 21]\n n$1=_fun_NSObject::init(n$0:ASuper*) virtual [line 40, column 21]\n EXIT_SCOPE(n$0,n$1,n$2,a); [line 40, column 21]\n APPLY_ABSTRACTION; [line 40, column 21]\n " shape="box"] +"super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:objc_object*); [line 40, column 5]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=ASuper):unsigned long) [line 40, column 21]\n n$1=_fun_NSObject::init(n$0:ASuper*) virtual [line 40, column 21]\n NULLIFY(&a); [line 40, column 21]\n EXIT_SCOPE(n$0,n$1,a); [line 40, column 21]\n APPLY_ABSTRACTION; [line 40, column 21]\n " shape="box"] "super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_3" -> "super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot index 405565ebd..f2c9a1fbc 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot @@ -4,14 +4,14 @@ digraph cfg { "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_1" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" ; -"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_2" [label="2: Exit ArcA::getS \n NULLIFY(&s); [line 23, column 1]\n " color=yellow style=filled] +"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_2" [label="2: Exit ArcA::getS \n " color=yellow style=filled] -"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 10]\n *&return:NSString*=n$0 [line 22, column 3]\n EXIT_SCOPE(n$0,s); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 10]\n *&return:NSString*=n$0 [line 22, column 3]\n NULLIFY(&s); [line 22, column 3]\n EXIT_SCOPE(n$0,s); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_2" ; -"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" [label="4: DeclStmt \n n$2=_fun___variable_initialization(&s:NSString*) assign_last [line 21, column 3]\n n$1=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 21, column 17]\n *&s:NSString*=n$1 [line 21, column 3]\n EXIT_SCOPE(n$1,n$2); [line 21, column 3]\n " shape="box"] +"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 21, column 3]\n n$1=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 21, column 17]\n *&s:NSString*=n$1 [line 21, column 3]\n EXIT_SCOPE(n$1); [line 21, column 3]\n " shape="box"] "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" ; @@ -19,14 +19,14 @@ digraph cfg { "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_1" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" ; -"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_2" [label="2: Exit ArcA::newS \n NULLIFY(&s); [line 29, column 1]\n " color=yellow style=filled] +"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_2" [label="2: Exit ArcA::newS \n " color=yellow style=filled] -"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" [label="3: Return Stmt \n n$3=*&s:NSString* [line 28, column 10]\n *&return:NSString*=n$3 [line 28, column 3]\n EXIT_SCOPE(n$3,s); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" [label="3: Return Stmt \n n$2=*&s:NSString* [line 28, column 10]\n *&return:NSString*=n$2 [line 28, column 3]\n NULLIFY(&s); [line 28, column 3]\n EXIT_SCOPE(n$2,s); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_2" ; -"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&s:NSString*) assign_last [line 27, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 27, column 17]\n *&s:NSString*=n$4 [line 27, column 3]\n EXIT_SCOPE(n$4,n$5); [line 27, column 3]\n " shape="box"] +"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 27, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 27, column 17]\n *&s:NSString*=n$3 [line 27, column 3]\n EXIT_SCOPE(n$3); [line 27, column 3]\n " shape="box"] "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" ; 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 91437505e..19a4c442c 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 @@ -4,22 +4,22 @@ digraph cfg { "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_1" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_10" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_2" [label="2: Exit autorelease_test1 \n NULLIFY(&s3); [line 43, column 1]\n NULLIFY(&s1); [line 43, column 1]\n NULLIFY(&s2); [line 43, column 1]\n " color=yellow style=filled] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_2" [label="2: Exit autorelease_test1 \n " color=yellow style=filled] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_3" [label="3: Return Stmt \n *&return:int=0 [line 42, column 3]\n APPLY_ABSTRACTION; [line 42, column 3]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_3" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_2" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_createA() [line 40, column 10]\n *&s3:Auto*=n$0 [line 40, column 5]\n EXIT_SCOPE(n$0,s3); [line 40, column 5]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_createA() [line 40, column 10]\n *&s3:Auto*=n$0 [line 40, column 5]\n NULLIFY(&s3); [line 40, column 5]\n EXIT_SCOPE(n$0,s3); [line 40, column 5]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_4" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_3" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_5" [label="5: BinaryOperatorStmt: Assign \n n$1=_fun_createA() [line 39, column 10]\n *&s2:Auto*=n$1 [line 39, column 5]\n EXIT_SCOPE(n$1,s2); [line 39, column 5]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_5" [label="5: BinaryOperatorStmt: Assign \n n$1=_fun_createA() [line 39, column 10]\n *&s2:Auto*=n$1 [line 39, column 5]\n NULLIFY(&s2); [line 39, column 5]\n EXIT_SCOPE(n$1,s2); [line 39, column 5]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_5" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_4" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" [label="6: Message Call: retain \n n$2=*&s1:Auto* [line 38, column 6]\n n$3=_fun_NSObject::retain(n$2:Auto*) virtual [line 38, column 5]\n EXIT_SCOPE(n$2,n$3,s1); [line 38, column 5]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" [label="6: Message Call: retain \n n$2=*&s1:Auto* [line 38, column 6]\n n$3=_fun_NSObject::retain(n$2:Auto*) virtual [line 38, column 5]\n NULLIFY(&s1); [line 38, column 5]\n EXIT_SCOPE(n$2,n$3,s1); [line 38, column 5]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_5" ; @@ -27,15 +27,15 @@ digraph cfg { "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_7" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_8" [label="8: DeclStmt \n n$5=_fun___variable_initialization(&s3:Auto*) assign_last [line 35, column 3]\n *&s3:Auto*=null [line 35, column 3]\n EXIT_SCOPE(n$5,s3); [line 35, column 3]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_8" [label="8: DeclStmt \n VARIABLE_DECLARED(s3:Auto*); [line 35, column 3]\n *&s3:Auto*=null [line 35, column 3]\n NULLIFY(&s3); [line 35, column 3]\n EXIT_SCOPE(s3); [line 35, column 3]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_8" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_7" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_9" [label="9: DeclStmt \n n$6=_fun___variable_initialization(&s2:Auto*) assign_last [line 34, column 3]\n *&s2:Auto*=null [line 34, column 3]\n EXIT_SCOPE(n$6,s2); [line 34, column 3]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_9" [label="9: DeclStmt \n VARIABLE_DECLARED(s2:Auto*); [line 34, column 3]\n *&s2:Auto*=null [line 34, column 3]\n NULLIFY(&s2); [line 34, column 3]\n EXIT_SCOPE(s2); [line 34, column 3]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_9" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_8" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_10" [label="10: DeclStmt \n n$7=_fun___variable_initialization(&s1:Auto*) assign_last [line 33, column 3]\n *&s1:Auto*=null [line 33, column 3]\n EXIT_SCOPE(n$7,s1); [line 33, column 3]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_10" [label="10: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 33, column 3]\n *&s1:Auto*=null [line 33, column 3]\n NULLIFY(&s1); [line 33, column 3]\n EXIT_SCOPE(s1); [line 33, column 3]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_10" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_9" ; @@ -43,34 +43,34 @@ digraph cfg { "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_1" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_9" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_2" [label="2: Exit autorelease_test2 \n NULLIFY(&s1); [line 55, column 1]\n NULLIFY(&s2); [line 55, column 1]\n NULLIFY(&s3); [line 55, column 1]\n " color=yellow style=filled] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_2" [label="2: Exit autorelease_test2 \n " color=yellow style=filled] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_3" [label="3: Return Stmt \n *&return:int=0 [line 54, column 3]\n APPLY_ABSTRACTION; [line 54, column 3]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_3" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_2" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_createA() [line 52, column 10]\n *&s3:Auto*=n$0 [line 52, column 5]\n EXIT_SCOPE(n$0,s3); [line 52, column 5]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_createA() [line 52, column 10]\n *&s3:Auto*=n$0 [line 52, column 5]\n NULLIFY(&s3); [line 52, column 5]\n EXIT_SCOPE(n$0,s3); [line 52, column 5]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_4" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_3" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_5" [label="5: BinaryOperatorStmt: Assign \n n$1=_fun_createA() [line 51, column 10]\n *&s2:Auto*=n$1 [line 51, column 5]\n EXIT_SCOPE(n$1,s2); [line 51, column 5]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_5" [label="5: BinaryOperatorStmt: Assign \n n$1=_fun_createA() [line 51, column 10]\n *&s2:Auto*=n$1 [line 51, column 5]\n NULLIFY(&s2); [line 51, column 5]\n EXIT_SCOPE(n$1,s2); [line 51, column 5]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_5" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_4" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_6" [label="6: BinaryOperatorStmt: Assign \n n$2=_fun_createA() [line 50, column 10]\n *&s1:Auto*=n$2 [line 50, column 5]\n EXIT_SCOPE(n$2,s1); [line 50, column 5]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_6" [label="6: BinaryOperatorStmt: Assign \n n$2=_fun_createA() [line 50, column 10]\n *&s1:Auto*=n$2 [line 50, column 5]\n NULLIFY(&s1); [line 50, column 5]\n EXIT_SCOPE(n$2,s1); [line 50, column 5]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_6" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_5" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_7" [label="7: DeclStmt \n n$3=_fun___variable_initialization(&s3:Auto*) assign_last [line 48, column 3]\n *&s3:Auto*=null [line 48, column 3]\n EXIT_SCOPE(n$3,s3); [line 48, column 3]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_7" [label="7: DeclStmt \n VARIABLE_DECLARED(s3:Auto*); [line 48, column 3]\n *&s3:Auto*=null [line 48, column 3]\n NULLIFY(&s3); [line 48, column 3]\n EXIT_SCOPE(s3); [line 48, column 3]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_7" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_6" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_8" [label="8: DeclStmt \n n$4=_fun___variable_initialization(&s2:Auto*) assign_last [line 47, column 3]\n *&s2:Auto*=null [line 47, column 3]\n EXIT_SCOPE(n$4,s2); [line 47, column 3]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_8" [label="8: DeclStmt \n VARIABLE_DECLARED(s2:Auto*); [line 47, column 3]\n *&s2:Auto*=null [line 47, column 3]\n NULLIFY(&s2); [line 47, column 3]\n EXIT_SCOPE(s2); [line 47, column 3]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_8" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_7" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_9" [label="9: DeclStmt \n n$5=_fun___variable_initialization(&s1:Auto*) assign_last [line 46, column 3]\n *&s1:Auto*=null [line 46, column 3]\n EXIT_SCOPE(n$5,s1); [line 46, column 3]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_9" [label="9: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 46, column 3]\n *&s1:Auto*=null [line 46, column 3]\n NULLIFY(&s1); [line 46, column 3]\n EXIT_SCOPE(s1); [line 46, column 3]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_9" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_8" ; @@ -78,22 +78,22 @@ digraph cfg { "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_1" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_2" [label="2: Exit autorelease_test3 \n NULLIFY(&pool); [line 63, column 1]\n NULLIFY(&c); [line 63, column 1]\n NULLIFY(&string); [line 63, column 1]\n " color=yellow style=filled] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_2" [label="2: Exit autorelease_test3 \n " color=yellow style=filled] -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&c:NSString*) assign_last [line 62, column 3]\n n$0=*&string:NSString* [line 62, column 17]\n *&c:NSString*=n$0 [line 62, column 3]\n EXIT_SCOPE(n$0,n$1,string,c); [line 62, column 3]\n APPLY_ABSTRACTION; [line 62, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:NSString*); [line 62, column 3]\n n$0=*&string:NSString* [line 62, column 17]\n *&c:NSString*=n$0 [line 62, column 3]\n NULLIFY(&string); [line 62, column 3]\n NULLIFY(&c); [line 62, column 3]\n EXIT_SCOPE(n$0,string,c); [line 62, column 3]\n APPLY_ABSTRACTION; [line 62, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_2" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" [label="4: Message Call: release \n n$2=*&pool:NSAutoreleasePool* [line 61, column 4]\n n$3=_fun_NSObject::release(n$2:NSAutoreleasePool*) virtual [line 61, column 3]\n EXIT_SCOPE(n$2,n$3,pool); [line 61, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" [label="4: Message Call: release \n n$1=*&pool:NSAutoreleasePool* [line 61, column 4]\n n$2=_fun_NSObject::release(n$1:NSAutoreleasePool*) virtual [line 61, column 3]\n NULLIFY(&pool); [line 61, column 3]\n EXIT_SCOPE(n$1,n$2,pool); [line 61, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" [label="5: DeclStmt \n n$6=_fun___variable_initialization(&string:NSString*) assign_last [line 59, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 59, column 23]\n n$5=_fun_NSObject::autorelease(n$4:NSString*) virtual [line 59, column 22]\n *&string:NSString*=n$5 [line 59, column 3]\n EXIT_SCOPE(n$4,n$5,n$6); [line 59, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" [label="5: DeclStmt \n VARIABLE_DECLARED(string:NSString*); [line 59, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 59, column 23]\n n$4=_fun_NSObject::autorelease(n$3:NSString*) virtual [line 59, column 22]\n *&string:NSString*=n$4 [line 59, column 3]\n EXIT_SCOPE(n$3,n$4); [line 59, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" [label="6: DeclStmt \n n$9=_fun___variable_initialization(&pool:NSAutoreleasePool*) assign_last [line 58, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSAutoreleasePool):unsigned long) [line 58, column 30]\n n$8=_fun_NSObject::init(n$7:NSAutoreleasePool*) virtual [line 58, column 29]\n *&pool:NSAutoreleasePool*=n$8 [line 58, column 3]\n EXIT_SCOPE(n$7,n$8,n$9); [line 58, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" [label="6: DeclStmt \n VARIABLE_DECLARED(pool:NSAutoreleasePool*); [line 58, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=NSAutoreleasePool):unsigned long) [line 58, column 30]\n n$6=_fun_NSObject::init(n$5:NSAutoreleasePool*) virtual [line 58, column 29]\n *&pool:NSAutoreleasePool*=n$6 [line 58, column 3]\n EXIT_SCOPE(n$5,n$6); [line 58, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" ; @@ -101,14 +101,14 @@ digraph cfg { "createA.48a5d7f480131d59bba69d521715b836_1" -> "createA.48a5d7f480131d59bba69d521715b836_4" ; -"createA.48a5d7f480131d59bba69d521715b836_2" [label="2: Exit createA \n NULLIFY(&s1); [line 30, column 1]\n " color=yellow style=filled] +"createA.48a5d7f480131d59bba69d521715b836_2" [label="2: Exit createA \n " color=yellow style=filled] -"createA.48a5d7f480131d59bba69d521715b836_3" [label="3: Return Stmt \n n$0=*&s1:Auto* [line 29, column 11]\n n$1=_fun_NSObject::autorelease(n$0:Auto*) virtual [line 29, column 10]\n *&return:Auto*=n$1 [line 29, column 3]\n EXIT_SCOPE(n$0,n$1,s1); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"createA.48a5d7f480131d59bba69d521715b836_3" [label="3: Return Stmt \n n$0=*&s1:Auto* [line 29, column 11]\n n$1=_fun_NSObject::autorelease(n$0:Auto*) virtual [line 29, column 10]\n *&return:Auto*=n$1 [line 29, column 3]\n NULLIFY(&s1); [line 29, column 3]\n EXIT_SCOPE(n$0,n$1,s1); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] "createA.48a5d7f480131d59bba69d521715b836_3" -> "createA.48a5d7f480131d59bba69d521715b836_2" ; -"createA.48a5d7f480131d59bba69d521715b836_4" [label="4: DeclStmt \n n$4=_fun___variable_initialization(&s1:Auto*) assign_last [line 28, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=Auto):unsigned long) [line 28, column 15]\n n$3=_fun_NSObject::init(n$2:Auto*) virtual [line 28, column 14]\n *&s1:Auto*=n$3 [line 28, column 3]\n EXIT_SCOPE(n$2,n$3,n$4); [line 28, column 3]\n " shape="box"] +"createA.48a5d7f480131d59bba69d521715b836_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 28, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=Auto):unsigned long) [line 28, column 15]\n n$3=_fun_NSObject::init(n$2:Auto*) virtual [line 28, column 14]\n *&s1:Auto*=n$3 [line 28, column 3]\n EXIT_SCOPE(n$2,n$3); [line 28, column 3]\n " shape="box"] "createA.48a5d7f480131d59bba69d521715b836_4" -> "createA.48a5d7f480131d59bba69d521715b836_3" ; @@ -116,14 +116,14 @@ digraph cfg { "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_1" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" ; -"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_2" [label="2: Exit Auto::autorelease_main \n NULLIFY(&s); [line 23, column 1]\n " color=yellow style=filled] +"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_2" [label="2: Exit Auto::autorelease_main \n " color=yellow style=filled] -"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 11]\n n$1=_fun_NSObject::autorelease(n$0:NSString*) virtual [line 22, column 10]\n *&return:NSString*=n$1 [line 22, column 3]\n EXIT_SCOPE(n$0,n$1,s); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 11]\n n$1=_fun_NSObject::autorelease(n$0:NSString*) virtual [line 22, column 10]\n *&return:NSString*=n$1 [line 22, column 3]\n NULLIFY(&s); [line 22, column 3]\n EXIT_SCOPE(n$0,n$1,s); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_2" ; -"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&s:NSString*) assign_last [line 21, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 21, column 17]\n *&s:NSString*=n$2 [line 21, column 3]\n EXIT_SCOPE(n$2,n$3); [line 21, column 3]\n " shape="box"] +"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 21, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 21, column 17]\n *&s:NSString*=n$2 [line 21, column 3]\n EXIT_SCOPE(n$2); [line 21, column 3]\n " shape="box"] "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" ; 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 ca6f250a8..e2434e3c2 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.2fc7658885fe88ae3f1ad70cae53336a_2" [label="2: Exit objc_blockMemoryLeakExample::blockCapturedVarLeak_1 \n " color=yellow style=filled] -"objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_3" [label="3: Return Stmt \n n$63=*&x:int* [line 95, column 13]\n n$64=*n$63:int [line 95, column 12]\n *&return:int=n$64 [line 95, column 5]\n NULLIFY(&x); [line 95, column 5]\n EXIT_SCOPE(n$63,n$64,x); [line 95, column 5]\n APPLY_ABSTRACTION; [line 95, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_3" [label="3: Return Stmt \n n$52=*&x:int* [line 95, column 13]\n n$53=*n$52:int [line 95, column 12]\n *&return:int=n$53 [line 95, column 5]\n NULLIFY(&x); [line 95, column 5]\n EXIT_SCOPE(n$52,n$53,x); [line 95, column 5]\n APPLY_ABSTRACTION; [line 95, column 5]\n " shape="box"] "objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_3" -> "objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_2" ; @@ -18,15 +18,15 @@ digraph cfg { "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_2" [label="2: Exit objc_blockMemoryLeakExample::blockFreeNoLeak_2 \n " color=yellow style=filled] -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" [label="3: Return Stmt \n n$72=*&i:int [line 106, column 12]\n *&return:int=n$72 [line 106, column 5]\n NULLIFY(&i); [line 106, column 5]\n EXIT_SCOPE(n$72,i); [line 106, column 5]\n APPLY_ABSTRACTION; [line 106, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" [label="3: Return Stmt \n n$59=*&i:int [line 106, column 12]\n *&return:int=n$59 [line 106, column 5]\n NULLIFY(&i); [line 106, column 5]\n EXIT_SCOPE(n$59,i); [line 106, column 5]\n APPLY_ABSTRACTION; [line 106, column 5]\n " shape="box"] "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" -> "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_2" ; -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" [label="4: Call _fun_free \n n$73=*&x:int* [line 105, column 10]\n n$74=_fun_free(n$73:void*) [line 105, column 5]\n NULLIFY(&x); [line 105, column 5]\n EXIT_SCOPE(n$73,n$74,x); [line 105, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" [label="4: Call _fun_free \n n$60=*&x:int* [line 105, column 10]\n n$61=_fun_free(n$60:void*) [line 105, column 5]\n NULLIFY(&x); [line 105, column 5]\n EXIT_SCOPE(n$60,n$61,x); [line 105, column 5]\n " shape="box"] "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" -> "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" ; -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_5" [label="5: DeclStmt \n n$77=_fun___variable_initialization(&i:int) assign_last [line 104, column 5]\n n$75=*&x:int* [line 104, column 14]\n n$76=*n$75:int [line 104, column 13]\n *&i:int=n$76 [line 104, column 5]\n EXIT_SCOPE(n$75,n$76,n$77); [line 104, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 104, column 5]\n n$62=*&x:int* [line 104, column 14]\n n$63=*n$62:int [line 104, column 13]\n *&i:int=n$63 [line 104, column 5]\n EXIT_SCOPE(n$62,n$63); [line 104, column 5]\n " shape="box"] "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_5" -> "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" ; @@ -37,11 +37,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$31=_fun_CGPathCreateMutable() [line 53, column 3]\n EXIT_SCOPE(n$31); [line 53, column 3]\n APPLY_ABSTRACTION; [line 53, column 3]\n " shape="box"] +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" [label="3: Call _fun_CGPathCreateMutable \n n$26=_fun_CGPathCreateMutable() [line 53, column 3]\n EXIT_SCOPE(n$26); [line 53, column 3]\n APPLY_ABSTRACTION; [line 53, 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$32=*&rect:CGRect [line 52, column 27]\n n$33=_fun_CGRectGetHeight(n$32:CGRect) [line 52, column 11]\n NULLIFY(&rect); [line 52, column 11]\n EXIT_SCOPE(n$32,n$33,rect); [line 52, column 11]\n " shape="box"] +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" [label="4: BinaryOperatorStmt: Mul \n n$27=*&rect:CGRect [line 52, column 27]\n n$28=_fun_CGRectGetHeight(n$27:CGRect) [line 52, column 11]\n NULLIFY(&rect); [line 52, column 11]\n EXIT_SCOPE(n$27,n$28,rect); [line 52, column 11]\n " shape="box"] "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" ; @@ -49,18 +49,18 @@ digraph cfg { "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_1" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" [label="2: Exit MemoryLeakExample::createCloseCrossGlyphNoLeak: \n NULLIFY(&path1); [line 62, column 1]\n " color=yellow style=filled] +"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$34=*&path1:CGPath* [line 61, column 13]\n n$35=_fun_CFRelease(n$34:void const *) [line 61, column 3]\n EXIT_SCOPE(n$34,n$35,path1); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, column 3]\n " shape="box"] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" [label="3: Call _fun_CFRelease \n n$29=*&path1:CGPath* [line 61, column 13]\n n$30=_fun_CFRelease(n$29:void const *) [line 61, column 3]\n NULLIFY(&path1); [line 61, column 3]\n EXIT_SCOPE(n$29,n$30,path1); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, 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$37=_fun___variable_initialization(&path1:CGPath*) assign_last [line 60, column 3]\n n$36=_fun_CGPathCreateMutable() [line 60, column 28]\n *&path1:CGPath*=n$36 [line 60, column 3]\n EXIT_SCOPE(n$36,n$37); [line 60, column 3]\n " shape="box"] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(path1:CGPath*); [line 60, column 3]\n n$31=_fun_CGPathCreateMutable() [line 60, column 28]\n *&path1:CGPath*=n$31 [line 60, column 3]\n EXIT_SCOPE(n$31); [line 60, 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$40=_fun___variable_initialization(&lineThickness:double) assign_last [line 57, column 3]\n n$38=*&rect:CGRect [line 57, column 51]\n n$39=_fun_CGRectGetHeight(n$38:CGRect) [line 57, column 35]\n *&lineThickness:double=(0.200000003 * n$39) [line 57, column 3]\n NULLIFY(&lineThickness); [line 57, column 3]\n NULLIFY(&rect); [line 57, column 3]\n EXIT_SCOPE(n$38,n$39,n$40,lineThickness,rect); [line 57, column 3]\n " shape="box"] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(lineThickness:double); [line 57, column 3]\n n$32=*&rect:CGRect [line 57, column 51]\n n$33=_fun_CGRectGetHeight(n$32:CGRect) [line 57, column 35]\n *&lineThickness:double=(0.200000003 * n$33) [line 57, column 3]\n NULLIFY(&lineThickness); [line 57, column 3]\n NULLIFY(&rect); [line 57, column 3]\n EXIT_SCOPE(n$32,n$33,lineThickness,rect); [line 57, column 3]\n " shape="box"] "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" ; @@ -71,7 +71,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$20=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 33, column 3]\n EXIT_SCOPE(n$20); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, 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 33, column 3]\n EXIT_SCOPE(n$17); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" -> "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" ; @@ -79,14 +79,14 @@ digraph cfg { "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_1" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" ; -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" [label="2: Exit MemoryLeakExample::measureFrameSizeForTextNoLeak \n NULLIFY(&maString); [line 40, column 1]\n " color=yellow style=filled] +"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$21=*&maString:__CFAttributedString* [line 39, column 13]\n n$22=_fun_CFRelease(n$21:void const *) [line 39, column 3]\n EXIT_SCOPE(n$21,n$22,maString); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" [label="3: Call _fun_CFRelease \n n$18=*&maString:__CFAttributedString* [line 39, column 13]\n n$19=_fun_CFRelease(n$18:void const *) [line 39, column 3]\n NULLIFY(&maString); [line 39, column 3]\n EXIT_SCOPE(n$18,n$19,maString); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, 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$24=_fun___variable_initialization(&maString:__CFAttributedString*) assign_last [line 37, column 3]\n n$23=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 38, column 7]\n *&maString:__CFAttributedString*=n$23 [line 37, column 3]\n EXIT_SCOPE(n$23,n$24); [line 37, column 3]\n " shape="box"] +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(maString:__CFAttributedString*); [line 37, column 3]\n n$20=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 38, column 7]\n *&maString:__CFAttributedString*=n$20 [line 37, column 3]\n EXIT_SCOPE(n$20); [line 37, column 3]\n " shape="box"] "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" ; @@ -97,7 +97,7 @@ digraph cfg { "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_2" [label="2: Exit MemoryLeakExample::test1: \n " color=yellow style=filled] -"test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_3" [label="3: Call _fun_CTFramesetterCreateWithAttributedString \n n$25=*&str:__CFAttributedString const * [line 43, column 43]\n n$26=_fun_CTFramesetterCreateWithAttributedString(n$25:__CFAttributedString const *) [line 43, column 3]\n NULLIFY(&str); [line 43, column 3]\n EXIT_SCOPE(n$25,n$26,str); [line 43, column 3]\n APPLY_ABSTRACTION; [line 43, column 3]\n " shape="box"] +"test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_3" [label="3: Call _fun_CTFramesetterCreateWithAttributedString \n n$21=*&str:__CFAttributedString const * [line 43, column 43]\n n$22=_fun_CTFramesetterCreateWithAttributedString(n$21:__CFAttributedString const *) [line 43, column 3]\n NULLIFY(&str); [line 43, column 3]\n EXIT_SCOPE(n$21,n$22,str); [line 43, column 3]\n APPLY_ABSTRACTION; [line 43, column 3]\n " shape="box"] "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_3" -> "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_2" ; @@ -105,14 +105,14 @@ digraph cfg { "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_1" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" ; -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" [label="2: Exit MemoryLeakExample::test1NoLeak \n NULLIFY(&framesetter); [line 49, column 1]\n " color=yellow style=filled] +"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$27=*&framesetter:__CTFramesetter const * [line 48, column 13]\n n$28=_fun_CFRelease(n$27:void const *) [line 48, column 3]\n EXIT_SCOPE(n$27,n$28,framesetter); [line 48, column 3]\n APPLY_ABSTRACTION; [line 48, column 3]\n " shape="box"] +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" [label="3: Call _fun_CFRelease \n n$23=*&framesetter:__CTFramesetter const * [line 48, column 13]\n n$24=_fun_CFRelease(n$23:void const *) [line 48, column 3]\n NULLIFY(&framesetter); [line 48, column 3]\n EXIT_SCOPE(n$23,n$24,framesetter); [line 48, column 3]\n APPLY_ABSTRACTION; [line 48, 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$30=_fun___variable_initialization(&framesetter:__CTFramesetter const *) assign_last [line 47, column 3]\n n$29=_fun_CTFramesetterCreateWithAttributedString(null:__CFAttributedString const *) [line 47, column 34]\n *&framesetter:__CTFramesetter const *=n$29 [line 47, column 3]\n EXIT_SCOPE(n$29,n$30); [line 47, column 3]\n " shape="box"] +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(framesetter:__CTFramesetter const *); [line 47, column 3]\n n$25=_fun_CTFramesetterCreateWithAttributedString(null:__CFAttributedString const *) [line 47, column 34]\n *&framesetter:__CTFramesetter const *=n$25 [line 47, column 3]\n EXIT_SCOPE(n$25); [line 47, column 3]\n " shape="box"] "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" ; @@ -123,7 +123,7 @@ digraph cfg { "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_2" [label="2: Exit MemoryLeakExample::test2: \n " color=yellow style=filled] -"test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_3" [label="3: Call _fun_SecTrustCopyPublicKey \n n$41=*&trust:__SecTrust* [line 65, column 25]\n n$42=_fun_SecTrustCopyPublicKey(n$41:__SecTrust*) [line 65, column 3]\n NULLIFY(&trust); [line 65, column 3]\n EXIT_SCOPE(n$41,n$42,trust); [line 65, column 3]\n APPLY_ABSTRACTION; [line 65, column 3]\n " shape="box"] +"test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_3" [label="3: Call _fun_SecTrustCopyPublicKey \n n$34=*&trust:__SecTrust* [line 65, column 25]\n n$35=_fun_SecTrustCopyPublicKey(n$34:__SecTrust*) [line 65, column 3]\n NULLIFY(&trust); [line 65, column 3]\n EXIT_SCOPE(n$34,n$35,trust); [line 65, column 3]\n APPLY_ABSTRACTION; [line 65, column 3]\n " shape="box"] "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_3" -> "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_2" ; @@ -131,14 +131,14 @@ digraph cfg { "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_1" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" ; -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" [label="2: Exit MemoryLeakExample::test2NoLeak \n NULLIFY(&allowedPublicKey); [line 71, column 1]\n " color=yellow style=filled] +"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$43=*&allowedPublicKey:__SecKey* [line 70, column 13]\n n$44=_fun_CFRelease(n$43:void const *) [line 70, column 3]\n EXIT_SCOPE(n$43,n$44,allowedPublicKey); [line 70, column 3]\n APPLY_ABSTRACTION; [line 70, column 3]\n " shape="box"] +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" [label="3: Call _fun_CFRelease \n n$36=*&allowedPublicKey:__SecKey* [line 70, column 13]\n n$37=_fun_CFRelease(n$36:void const *) [line 70, column 3]\n NULLIFY(&allowedPublicKey); [line 70, column 3]\n EXIT_SCOPE(n$36,n$37,allowedPublicKey); [line 70, column 3]\n APPLY_ABSTRACTION; [line 70, 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$46=_fun___variable_initialization(&allowedPublicKey:__SecKey*) assign_last [line 69, column 3]\n n$45=_fun_SecTrustCopyPublicKey(null:__SecTrust*) [line 69, column 32]\n *&allowedPublicKey:__SecKey*=n$45 [line 69, column 3]\n EXIT_SCOPE(n$45,n$46); [line 69, column 3]\n " shape="box"] +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(allowedPublicKey:__SecKey*); [line 69, column 3]\n n$38=_fun_SecTrustCopyPublicKey(null:__SecTrust*) [line 69, column 32]\n *&allowedPublicKey:__SecKey*=n$38 [line 69, column 3]\n EXIT_SCOPE(n$38); [line 69, column 3]\n " shape="box"] "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" ; @@ -146,14 +146,14 @@ digraph cfg { "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_1" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" ; -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" [label="2: Exit MemoryLeakExample::testImageRefRelease \n NULLIFY(&newImage); [line 76, column 1]\n " color=yellow style=filled] +"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$47=*&newImage:CGImage* [line 75, column 18]\n n$48=_fun_CGImageRelease(n$47:CGImage*) [line 75, column 3]\n EXIT_SCOPE(n$47,n$48,newImage); [line 75, column 3]\n APPLY_ABSTRACTION; [line 75, column 3]\n " shape="box"] +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" [label="3: Call _fun_CGImageRelease \n n$39=*&newImage:CGImage* [line 75, column 18]\n n$40=_fun_CGImageRelease(n$39:CGImage*) [line 75, column 3]\n NULLIFY(&newImage); [line 75, column 3]\n EXIT_SCOPE(n$39,n$40,newImage); [line 75, column 3]\n APPLY_ABSTRACTION; [line 75, 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$50=_fun___variable_initialization(&newImage:CGImage*) assign_last [line 74, column 3]\n n$49=_fun_CGBitmapContextCreateImage(null:CGContext*) [line 74, column 25]\n *&newImage:CGImage*=n$49 [line 74, column 3]\n EXIT_SCOPE(n$49,n$50); [line 74, column 3]\n " shape="box"] +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(newImage:CGImage*); [line 74, column 3]\n n$41=_fun_CGBitmapContextCreateImage(null:CGContext*) [line 74, column 25]\n *&newImage:CGImage*=n$41 [line 74, column 3]\n EXIT_SCOPE(n$41); [line 74, column 3]\n " shape="box"] "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" ; @@ -161,22 +161,22 @@ digraph cfg { "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_1" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" [label="2: Exit MemoryLeakExample::blockCapturedVarLeak \n NULLIFY(&x); [line 98, column 1]\n NULLIFY(&blk); [line 98, column 1]\n " color=yellow style=filled] +"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$60=*&blk:_fn_(*) [line 97, column 10]\n n$61=n$60() objc_block [line 97, column 10]\n *&return:int=n$61 [line 97, column 3]\n EXIT_SCOPE(n$60,n$61,blk); [line 97, column 3]\n APPLY_ABSTRACTION; [line 97, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" [label="3: Return Stmt \n n$49=*&blk:_fn_(*) [line 97, column 10]\n n$50=n$49() objc_block [line 97, column 10]\n *&return:int=n$50 [line 97, column 3]\n NULLIFY(&blk); [line 97, column 3]\n EXIT_SCOPE(n$49,n$50,blk); [line 97, column 3]\n APPLY_ABSTRACTION; [line 97, 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$65=_fun___variable_initialization(&blk:_fn_(*)) assign_last [line 94, column 3]\n n$62=*&x:int* [line 94, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample::blockCapturedVarLeak_1,(n$62 &x:int*)) [line 94, column 3]\n EXIT_SCOPE(n$62,n$65,x); [line 94, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" [label="4: DeclStmt \n VARIABLE_DECLARED(blk:_fn_(*)); [line 94, column 3]\n n$51=*&x:int* [line 94, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample::blockCapturedVarLeak_1,(n$51 &x:int*)) [line 94, column 3]\n NULLIFY(&x); [line 94, column 3]\n EXIT_SCOPE(n$51,x); [line 94, 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$66=*&x:int* [line 93, column 4]\n *n$66:int=2 [line 93, column 3]\n EXIT_SCOPE(n$66); [line 93, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" [label="5: BinaryOperatorStmt: Assign \n n$54=*&x:int* [line 93, column 4]\n *n$54:int=2 [line 93, column 3]\n EXIT_SCOPE(n$54); [line 93, 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$68=_fun___variable_initialization(&x:int*) assign_last [line 92, column 3]\n n$67=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 92, column 12]\n *&x:int*=(int*)n$67 [line 92, column 3]\n EXIT_SCOPE(n$67,n$68); [line 92, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 92, column 3]\n n$55=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 92, column 12]\n *&x:int*=(int*)n$55 [line 92, column 3]\n EXIT_SCOPE(n$55); [line 92, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" ; @@ -184,22 +184,22 @@ digraph cfg { "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_1" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" [label="2: Exit MemoryLeakExample::blockFreeNoLeak \n NULLIFY(&x); [line 109, column 1]\n NULLIFY(&blk); [line 109, column 1]\n " color=yellow style=filled] +"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$69=*&blk:_fn_(*) [line 108, column 10]\n n$70=n$69() objc_block [line 108, column 10]\n *&return:int=n$70 [line 108, column 3]\n EXIT_SCOPE(n$69,n$70,blk); [line 108, column 3]\n APPLY_ABSTRACTION; [line 108, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" [label="3: Return Stmt \n n$56=*&blk:_fn_(*) [line 108, column 10]\n n$57=n$56() objc_block [line 108, column 10]\n *&return:int=n$57 [line 108, column 3]\n NULLIFY(&blk); [line 108, column 3]\n EXIT_SCOPE(n$56,n$57,blk); [line 108, column 3]\n APPLY_ABSTRACTION; [line 108, 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$78=_fun___variable_initialization(&blk:_fn_(*)) assign_last [line 103, column 3]\n n$71=*&x:int* [line 103, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample::blockFreeNoLeak_2,(n$71 &x:int*)) [line 103, column 3]\n EXIT_SCOPE(n$71,n$78,x); [line 103, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" [label="4: DeclStmt \n VARIABLE_DECLARED(blk:_fn_(*)); [line 103, column 3]\n n$58=*&x:int* [line 103, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample::blockFreeNoLeak_2,(n$58 &x:int*)) [line 103, column 3]\n NULLIFY(&x); [line 103, column 3]\n EXIT_SCOPE(n$58,x); [line 103, 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$79=*&x:int* [line 102, column 4]\n *n$79:int=2 [line 102, column 3]\n EXIT_SCOPE(n$79); [line 102, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" [label="5: BinaryOperatorStmt: Assign \n n$64=*&x:int* [line 102, column 4]\n *n$64:int=2 [line 102, column 3]\n EXIT_SCOPE(n$64); [line 102, 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$81=_fun___variable_initialization(&x:int*) assign_last [line 101, column 3]\n n$80=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 101, column 12]\n *&x:int*=(int*)n$80 [line 101, column 3]\n EXIT_SCOPE(n$80,n$81); [line 101, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 101, column 3]\n n$65=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 101, column 12]\n *&x:int*=(int*)n$65 [line 101, column 3]\n EXIT_SCOPE(n$65); [line 101, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" ; @@ -207,22 +207,22 @@ digraph cfg { "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_1" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" [label="2: Exit MemoryLeakExample::layoutSubviews \n NULLIFY(&shadowPath); [line 24, column 1]\n NULLIFY(&attachmentContainerView); [line 24, column 1]\n " color=yellow style=filled] +"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 23, column 4]\n n$1=_fun_NSObject::release(n$0:UIView*) virtual [line 23, column 3]\n EXIT_SCOPE(n$0,n$1,attachmentContainerView); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" [label="3: Message Call: release \n n$0=*&attachmentContainerView:UIView* [line 23, column 4]\n n$1=_fun_NSObject::release(n$0:UIView*) virtual [line 23, column 3]\n NULLIFY(&attachmentContainerView); [line 23, column 3]\n EXIT_SCOPE(n$0,n$1,attachmentContainerView); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, 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$2=*&shadowPath:CGPath const * [line 22, column 17]\n n$3=_fun_CGPathRelease(n$2:CGPath const *) [line 22, column 3]\n EXIT_SCOPE(n$2,n$3,shadowPath); [line 22, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" [label="4: Call _fun_CGPathRelease \n n$2=*&shadowPath:CGPath const * [line 22, column 17]\n n$3=_fun_CGPathRelease(n$2:CGPath const *) [line 22, column 3]\n NULLIFY(&shadowPath); [line 22, column 3]\n EXIT_SCOPE(n$2,n$3,shadowPath); [line 22, 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$7=_fun___variable_initialization(&shadowPath:CGPath const *) assign_last [line 19, column 3]\n n$4=*&attachmentContainerView:UIView* [line 20, column 28]\n n$5=_fun_UIView::bounds(n$4:UIView*) [line 20, column 52]\n n$6=_fun_CGPathCreateWithRect(n$5:CGRect,null:CGAffineTransform const *) [line 20, column 7]\n *&shadowPath:CGPath const *=n$6 [line 19, column 3]\n EXIT_SCOPE(n$4,n$5,n$6,n$7); [line 19, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" [label="5: DeclStmt \n VARIABLE_DECLARED(shadowPath:CGPath const *); [line 19, column 3]\n n$4=*&attachmentContainerView:UIView* [line 20, column 28]\n n$5=_fun_UIView::bounds(n$4:UIView*) [line 20, column 52]\n n$6=_fun_CGPathCreateWithRect(n$5:CGRect,null:CGAffineTransform const *) [line 20, column 7]\n *&shadowPath:CGPath const *=n$6 [line 19, column 3]\n EXIT_SCOPE(n$4,n$5,n$6); [line 19, 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$9=_fun___variable_initialization(&attachmentContainerView:UIView*) assign_last [line 18, column 3]\n n$8=_fun___objc_alloc_no_fail(sizeof(t=UIView):unsigned long) [line 18, column 37]\n *&attachmentContainerView:UIView*=n$8 [line 18, column 3]\n EXIT_SCOPE(n$8,n$9); [line 18, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" [label="6: DeclStmt \n VARIABLE_DECLARED(attachmentContainerView:UIView*); [line 18, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=UIView):unsigned long) [line 18, column 37]\n *&attachmentContainerView:UIView*=n$7 [line 18, column 3]\n EXIT_SCOPE(n$7); [line 18, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" ; @@ -230,18 +230,18 @@ digraph cfg { "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_1" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" [label="2: Exit MemoryLeakExample::regularLeak \n NULLIFY(&x); [line 89, column 1]\n " color=yellow style=filled] +"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$55=*&x:int* [line 88, column 11]\n n$56=*n$55:int [line 88, column 10]\n *&return:int=n$56 [line 88, column 3]\n EXIT_SCOPE(n$55,n$56,x); [line 88, column 3]\n APPLY_ABSTRACTION; [line 88, column 3]\n " shape="box"] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" [label="3: Return Stmt \n n$45=*&x:int* [line 88, column 11]\n n$46=*n$45:int [line 88, column 10]\n *&return:int=n$46 [line 88, column 3]\n NULLIFY(&x); [line 88, column 3]\n EXIT_SCOPE(n$45,n$46,x); [line 88, column 3]\n APPLY_ABSTRACTION; [line 88, 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$57=*&x:int* [line 87, column 4]\n *n$57:int=7 [line 87, column 3]\n EXIT_SCOPE(n$57); [line 87, column 3]\n " shape="box"] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" [label="4: BinaryOperatorStmt: Assign \n n$47=*&x:int* [line 87, column 4]\n *n$47:int=7 [line 87, column 3]\n EXIT_SCOPE(n$47); [line 87, 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$59=_fun___variable_initialization(&x:int*) assign_last [line 86, column 3]\n n$58=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 86, column 12]\n *&x:int*=(int*)n$58 [line 86, column 3]\n EXIT_SCOPE(n$58,n$59); [line 86, column 3]\n " shape="box"] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 86, column 3]\n n$48=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 86, column 12]\n *&x:int*=(int*)n$48 [line 86, column 3]\n EXIT_SCOPE(n$48); [line 86, column 3]\n " shape="box"] "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" ; @@ -249,14 +249,14 @@ digraph cfg { "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_1" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" ; -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" [label="2: Exit MemoryLeakExample::test \n NULLIFY(&shadowPath); [line 30, column 1]\n " color=yellow style=filled] +"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$11=*&self:MemoryLeakExample* [line 29, column 3]\n n$12=_fun_MemoryLeakExample::backgroundCoveringView(n$11:MemoryLeakExample*) [line 29, column 8]\n n$13=_fun_UIView::layer(n$12:UIView*) [line 29, column 31]\n n$10=*&shadowPath:CGPath const * [line 29, column 50]\n n$14=_fun_CALayer::setShadowPath:(n$13:CALayer*,n$10:CGPath const *) [line 29, column 37]\n NULLIFY(&self); [line 29, column 37]\n EXIT_SCOPE(n$10,n$11,n$12,n$13,n$14,shadowPath,self); [line 29, column 37]\n APPLY_ABSTRACTION; [line 29, column 37]\n " shape="box"] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" [label="3: Message Call: setShadowPath: \n n$9=*&self:MemoryLeakExample* [line 29, column 3]\n n$10=_fun_MemoryLeakExample::backgroundCoveringView(n$9:MemoryLeakExample*) [line 29, column 8]\n n$11=_fun_UIView::layer(n$10:UIView*) [line 29, column 31]\n n$8=*&shadowPath:CGPath const * [line 29, column 50]\n n$12=_fun_CALayer::setShadowPath:(n$11:CALayer*,n$8:CGPath const *) [line 29, column 37]\n NULLIFY(&shadowPath); [line 29, column 37]\n NULLIFY(&self); [line 29, column 37]\n EXIT_SCOPE(n$8,n$9,n$10,n$11,n$12,shadowPath,self); [line 29, column 37]\n APPLY_ABSTRACTION; [line 29, 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$19=_fun___variable_initialization(&shadowPath:CGPath const *) assign_last [line 27, column 3]\n n$15=*&self:MemoryLeakExample* [line 28, column 28]\n n$16=_fun_MemoryLeakExample::backgroundCoveringView(n$15:MemoryLeakExample*) [line 28, column 33]\n n$17=_fun_UIView::bounds(n$16:UIView*) [line 28, column 56]\n n$18=_fun_CGPathCreateWithRect(n$17:CGRect,null:CGAffineTransform const *) [line 28, column 7]\n *&shadowPath:CGPath const *=n$18 [line 27, column 3]\n EXIT_SCOPE(n$15,n$16,n$17,n$18,n$19); [line 27, column 3]\n " shape="box"] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" [label="4: DeclStmt \n VARIABLE_DECLARED(shadowPath:CGPath const *); [line 27, column 3]\n n$13=*&self:MemoryLeakExample* [line 28, column 28]\n n$14=_fun_MemoryLeakExample::backgroundCoveringView(n$13:MemoryLeakExample*) [line 28, column 33]\n n$15=_fun_UIView::bounds(n$14:UIView*) [line 28, column 56]\n n$16=_fun_CGPathCreateWithRect(n$15:CGRect,null:CGAffineTransform const *) [line 28, column 7]\n *&shadowPath:CGPath const *=n$16 [line 27, column 3]\n EXIT_SCOPE(n$13,n$14,n$15,n$16); [line 27, column 3]\n " shape="box"] "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" ; @@ -264,14 +264,14 @@ digraph cfg { "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_1" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" ; -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" [label="2: Exit MemoryLeakExample::testFBColorCreateWithGray \n NULLIFY(&borderColor); [line 83, column 1]\n " color=yellow style=filled] +"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$51=*&borderColor:CGColor* [line 82, column 18]\n n$52=_fun_CGColorRelease(n$51:CGColor*) [line 82, column 3]\n EXIT_SCOPE(n$51,n$52,borderColor); [line 82, column 3]\n APPLY_ABSTRACTION; [line 82, column 3]\n " shape="box"] +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" [label="3: Call _fun_CGColorRelease \n n$42=*&borderColor:CGColor* [line 82, column 18]\n n$43=_fun_CGColorRelease(n$42:CGColor*) [line 82, column 3]\n NULLIFY(&borderColor); [line 82, column 3]\n EXIT_SCOPE(n$42,n$43,borderColor); [line 82, column 3]\n APPLY_ABSTRACTION; [line 82, 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$54=_fun___variable_initialization(&borderColor:CGColor*) assign_last [line 81, column 3]\n n$53=_fun_FBColorCreateWithGray(0.:double,0.3:double) [line 81, column 28]\n *&borderColor:CGColor*=n$53 [line 81, column 3]\n EXIT_SCOPE(n$53,n$54); [line 81, column 3]\n " shape="box"] +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(borderColor:CGColor*); [line 81, column 3]\n n$44=_fun_FBColorCreateWithGray(0.:double,0.3:double) [line 81, column 28]\n *&borderColor:CGColor*=n$44 [line 81, column 3]\n EXIT_SCOPE(n$44); [line 81, column 3]\n " shape="box"] "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_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 a8288c6fc..c3ff62998 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 @@ -4,10 +4,10 @@ digraph cfg { "retain_release_test.65a9467f2c991ef519f3b0d97687f937_1" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" ; -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_2" [label="2: Exit retain_release_test \n NULLIFY(&a); [line 26, column 1]\n " color=yellow style=filled] +"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 25, column 4]\n n$1=_fun_NSObject::release(n$0:RRA*) virtual [line 25, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" [label="3: Message Call: release \n n$0=*&a:RRA* [line 25, column 4]\n n$1=_fun_NSObject::release(n$0:RRA*) virtual [line 25, column 3]\n NULLIFY(&a); [line 25, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] "retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_2" ; @@ -15,7 +15,7 @@ digraph cfg { "retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" ; -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" [label="5: DeclStmt \n n$6=_fun___variable_initialization(&a:RRA*) assign_last [line 23, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=RRA):unsigned long) [line 23, column 13]\n n$5=_fun_RRA::init(n$4:RRA*) virtual [line 23, column 12]\n *&a:RRA*=n$5 [line 23, column 3]\n EXIT_SCOPE(n$4,n$5,n$6); [line 23, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:RRA*); [line 23, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=RRA):unsigned long) [line 23, column 13]\n n$5=_fun_RRA::init(n$4:RRA*) virtual [line 23, column 12]\n *&a:RRA*=n$5 [line 23, column 3]\n EXIT_SCOPE(n$4,n$5); [line 23, 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 0b76a5b32..cb2dc6a15 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 @@ -4,14 +4,14 @@ digraph cfg { "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_1" -> "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_4" ; -"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_2" [label="2: Exit bridgeDictionaryNoLeak \n NULLIFY(&dict); [line 45, column 1]\n NULLIFY(&bufferAttributes); [line 45, column 1]\n " color=yellow style=filled] +"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_2" [label="2: Exit bridgeDictionaryNoLeak \n " color=yellow style=filled] -"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_3" [label="3: DeclStmt \n n$1=_fun___variable_initialization(&dict:__CFDictionary const *) assign_last [line 44, column 3]\n n$0=*&bufferAttributes:NSDictionary* [line 44, column 52]\n *&dict:__CFDictionary const *=n$0 [line 44, column 3]\n EXIT_SCOPE(n$0,n$1,bufferAttributes,dict); [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] +"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_3" [label="3: DeclStmt \n VARIABLE_DECLARED(dict:__CFDictionary const *); [line 44, column 3]\n n$0=*&bufferAttributes:NSDictionary* [line 44, column 52]\n *&dict:__CFDictionary const *=n$0 [line 44, column 3]\n NULLIFY(&bufferAttributes); [line 44, column 3]\n NULLIFY(&dict); [line 44, column 3]\n EXIT_SCOPE(n$0,bufferAttributes,dict); [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_3" -> "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_2" ; -"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_4" [label="4: DeclStmt \n n$5=_fun___variable_initialization(&bufferAttributes:NSDictionary*) assign_last [line 43, column 3]\n n$3=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(null:objc_object*) [line 43, column 58]\n n$2=_fun_NSString::stringWithUTF8String:(\"key\":char* const ) [line 43, column 49]\n n$4=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$3:objc_object*,n$2:objc_object*,null:objc_object*) [line 43, column 36]\n *&bufferAttributes:NSDictionary*=n$4 [line 43, column 3]\n EXIT_SCOPE(n$2,n$3,n$4,n$5); [line 43, column 3]\n " shape="box"] +"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(bufferAttributes:NSDictionary*); [line 43, column 3]\n n$2=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(null:objc_object*) [line 43, column 58]\n n$1=_fun_NSString::stringWithUTF8String:(\"key\":char* const ) [line 43, column 49]\n n$3=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$2:objc_object*,n$1:objc_object*,null:objc_object*) [line 43, column 36]\n *&bufferAttributes:NSDictionary*=n$3 [line 43, column 3]\n EXIT_SCOPE(n$1,n$2,n$3); [line 43, column 3]\n " shape="box"] "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_4" -> "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_3" ; @@ -30,14 +30,14 @@ digraph cfg { "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_1" -> "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" ; -"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_2" [label="2: Exit TollBridgeExample::_readHTTPHeader \n NULLIFY(&ref); [line 36, column 1]\n " color=yellow style=filled] +"_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$14=*&ref:__CFDictionary const * [line 35, column 21]\n n$15=_fun_CFBridgingRelease(n$14:void const *) [line 35, column 3]\n EXIT_SCOPE(n$14,n$15,ref); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" [label="3: Call _fun_CFBridgingRelease \n n$8=*&ref:__CFDictionary const * [line 35, column 21]\n n$9=_fun_CFBridgingRelease(n$8:void const *) [line 35, column 3]\n NULLIFY(&ref); [line 35, column 3]\n EXIT_SCOPE(n$8,n$9,ref); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, 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$17=_fun___variable_initialization(&ref:__CFDictionary const *) assign_last [line 34, column 3]\n n$16=_fun_CFHTTPMessageCopyAllHeaderFields(null:__CFHTTPMessage*) [line 34, column 25]\n *&ref:__CFDictionary const *=n$16 [line 34, column 3]\n EXIT_SCOPE(n$16,n$17); [line 34, column 3]\n " shape="box"] +"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref:__CFDictionary const *); [line 34, column 3]\n n$10=_fun_CFHTTPMessageCopyAllHeaderFields(null:__CFHTTPMessage*) [line 34, column 25]\n *&ref:__CFDictionary const *=n$10 [line 34, column 3]\n EXIT_SCOPE(n$10); [line 34, column 3]\n " shape="box"] "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" -> "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" ; @@ -45,14 +45,14 @@ digraph cfg { "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_1" -> "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" ; -"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_2" [label="2: Exit TollBridgeExample::brideRetained \n NULLIFY(&a); [line 30, column 1]\n NULLIFY(&observer); [line 30, column 1]\n " color=yellow style=filled] +"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$11=_fun___variable_initialization(&a:__CFLocale const *) assign_last [line 29, column 3]\n n$10=*&observer:objc_object* [line 29, column 50]\n *&a:__CFLocale const *=n$10 [line 29, column 3]\n EXIT_SCOPE(n$10,n$11,observer,a); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:__CFLocale const *); [line 29, column 3]\n n$6=*&observer:objc_object* [line 29, column 50]\n *&a:__CFLocale const *=n$6 [line 29, column 3]\n NULLIFY(&observer); [line 29, column 3]\n NULLIFY(&a); [line 29, column 3]\n EXIT_SCOPE(n$6,observer,a); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, 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$13=_fun___variable_initialization(&observer:objc_object*) assign_last [line 28, column 3]\n n$12=_fun___objc_alloc_no_fail(sizeof(t=NSLocale):unsigned long) [line 28, column 17]\n *&observer:objc_object*=n$12 [line 28, column 3]\n EXIT_SCOPE(n$12,n$13); [line 28, column 3]\n " shape="box"] +"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(observer:objc_object*); [line 28, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSLocale):unsigned long) [line 28, column 17]\n *&observer:objc_object*=n$7 [line 28, column 3]\n EXIT_SCOPE(n$7); [line 28, column 3]\n " shape="box"] "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" -> "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" ; @@ -60,14 +60,14 @@ digraph cfg { "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_1" -> "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" ; -"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_2" [label="2: Exit TollBridgeExample::bridge \n NULLIFY(&nameRef); [line 25, column 1]\n NULLIFY(&a); [line 25, column 1]\n " color=yellow style=filled] +"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$7=_fun___variable_initialization(&a:NSLocale*) assign_last [line 24, column 3]\n n$5=*&nameRef:__CFLocale const * [line 24, column 37]\n n$6=_fun___free_cf(n$5:__CFLocale const *) [line 24, column 17]\n *&a:NSLocale*=n$5 [line 24, column 3]\n EXIT_SCOPE(n$5,n$6,n$7,a,nameRef); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:NSLocale*); [line 24, column 3]\n n$3=*&nameRef:__CFLocale const * [line 24, column 37]\n n$4=_fun___free_cf(n$3:__CFLocale const *) [line 24, column 17]\n *&a:NSLocale*=n$3 [line 24, column 3]\n NULLIFY(&a); [line 24, column 3]\n NULLIFY(&nameRef); [line 24, column 3]\n EXIT_SCOPE(n$3,n$4,a,nameRef); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, 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$9=_fun___variable_initialization(&nameRef:__CFLocale const *) assign_last [line 23, column 3]\n n$8=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 23, column 25]\n *&nameRef:__CFLocale const *=n$8 [line 23, column 3]\n EXIT_SCOPE(n$8,n$9); [line 23, column 3]\n " shape="box"] +"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" [label="4: DeclStmt \n VARIABLE_DECLARED(nameRef:__CFLocale const *); [line 23, column 3]\n n$5=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 23, column 25]\n *&nameRef:__CFLocale const *=n$5 [line 23, column 3]\n EXIT_SCOPE(n$5); [line 23, column 3]\n " shape="box"] "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" -> "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" ; @@ -75,14 +75,14 @@ digraph cfg { "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_1" -> "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_4" ; -"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_2" [label="2: Exit TollBridgeExample::bridgeTransfer \n NULLIFY(&a); [line 20, column 1]\n NULLIFY(&nameRef); [line 20, column 1]\n " color=yellow style=filled] +"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$2=_fun___variable_initialization(&a:NSLocale*) assign_last [line 19, column 3]\n n$0=*&nameRef:__CFLocale const * [line 19, column 46]\n n$1=_fun___free_cf(n$0:__CFLocale const *) [line 19, column 17]\n *&a:NSLocale*=n$0 [line 19, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,nameRef,a); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:NSLocale*); [line 19, column 3]\n n$0=*&nameRef:__CFLocale const * [line 19, column 46]\n n$1=_fun___free_cf(n$0:__CFLocale const *) [line 19, column 17]\n *&a:NSLocale*=n$0 [line 19, column 3]\n NULLIFY(&nameRef); [line 19, column 3]\n NULLIFY(&a); [line 19, column 3]\n EXIT_SCOPE(n$0,n$1,nameRef,a); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, 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$4=_fun___variable_initialization(&nameRef:__CFLocale const *) assign_last [line 18, column 3]\n n$3=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 18, column 25]\n *&nameRef:__CFLocale const *=n$3 [line 18, column 3]\n EXIT_SCOPE(n$3,n$4); [line 18, column 3]\n " shape="box"] +"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_4" [label="4: DeclStmt \n VARIABLE_DECLARED(nameRef:__CFLocale const *); [line 18, column 3]\n n$2=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 18, column 25]\n *&nameRef:__CFLocale const *=n$2 [line 18, column 3]\n EXIT_SCOPE(n$2); [line 18, column 3]\n " shape="box"] "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_4" -> "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot index 2ade572a1..c00383cbf 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot @@ -4,26 +4,26 @@ digraph cfg { "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_1" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_7" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_2" [label="2: Exit main_arc_methods \n NULLIFY(&a1); [line 45, column 1]\n NULLIFY(&ab); [line 45, column 1]\n NULLIFY(&aa); [line 45, column 1]\n NULLIFY(&a2); [line 45, column 1]\n " color=yellow style=filled] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_2" [label="2: Exit main_arc_methods \n " color=yellow style=filled] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_3" [label="3: Return Stmt \n *&return:int=0 [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_3" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_2" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_4" [label="4: DeclStmt \n n$1=_fun___variable_initialization(&ab:ArcMethodsA*) assign_last [line 43, column 3]\n n$0=*&a2:ArcMethodsA* [line 43, column 21]\n *&ab:ArcMethodsA*=n$0 [line 43, column 3]\n EXIT_SCOPE(n$0,n$1,a2,ab); [line 43, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ab:ArcMethodsA*); [line 43, column 3]\n n$0=*&a2:ArcMethodsA* [line 43, column 21]\n *&ab:ArcMethodsA*=n$0 [line 43, column 3]\n NULLIFY(&a2); [line 43, column 3]\n NULLIFY(&ab); [line 43, column 3]\n EXIT_SCOPE(n$0,a2,ab); [line 43, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_4" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_3" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&a2:ArcMethodsA*) assign_last [line 42, column 3]\n n$2=_fun_ArcMethodsA::someA() [line 42, column 21]\n *&a2:ArcMethodsA*=n$2 [line 42, column 3]\n EXIT_SCOPE(n$2,n$3); [line 42, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a2:ArcMethodsA*); [line 42, column 3]\n n$1=_fun_ArcMethodsA::someA() [line 42, column 21]\n *&a2:ArcMethodsA*=n$1 [line 42, column 3]\n EXIT_SCOPE(n$1); [line 42, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_4" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_6" [label="6: DeclStmt \n n$5=_fun___variable_initialization(&aa:ArcMethodsA*) assign_last [line 41, column 3]\n n$4=*&a1:ArcMethodsA* [line 41, column 21]\n *&aa:ArcMethodsA*=n$4 [line 41, column 3]\n EXIT_SCOPE(n$4,n$5,aa,a1); [line 41, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_6" [label="6: DeclStmt \n VARIABLE_DECLARED(aa:ArcMethodsA*); [line 41, column 3]\n n$2=*&a1:ArcMethodsA* [line 41, column 21]\n *&aa:ArcMethodsA*=n$2 [line 41, column 3]\n NULLIFY(&aa); [line 41, column 3]\n NULLIFY(&a1); [line 41, column 3]\n EXIT_SCOPE(n$2,aa,a1); [line 41, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_6" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_7" [label="7: DeclStmt \n n$7=_fun___variable_initialization(&a1:ArcMethodsA*) assign_last [line 40, column 3]\n n$6=_fun_ArcMethodsA::newA() [line 40, column 21]\n *&a1:ArcMethodsA*=n$6 [line 40, column 3]\n EXIT_SCOPE(n$6,n$7); [line 40, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a1:ArcMethodsA*); [line 40, column 3]\n n$3=_fun_ArcMethodsA::newA() [line 40, column 21]\n *&a1:ArcMethodsA*=n$3 [line 40, column 3]\n EXIT_SCOPE(n$3); [line 40, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_7" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_6" ; @@ -31,14 +31,14 @@ digraph cfg { "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_1" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" ; -"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_2" [label="2: Exit ArcMethodsA::newA \n NULLIFY(&a); [line 23, column 1]\n " color=yellow style=filled] +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_2" [label="2: Exit ArcMethodsA::newA \n " color=yellow style=filled] -"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" [label="3: Return Stmt \n n$0=*&a:ArcMethodsA* [line 22, column 10]\n *&return:ArcMethodsA*=n$0 [line 22, column 3]\n EXIT_SCOPE(n$0,a); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" [label="3: Return Stmt \n n$0=*&a:ArcMethodsA* [line 22, column 10]\n *&return:ArcMethodsA*=n$0 [line 22, column 3]\n NULLIFY(&a); [line 22, column 3]\n EXIT_SCOPE(n$0,a); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_2" ; -"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&a:ArcMethodsA*) assign_last [line 21, column 3]\n n$1=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 21, column 21]\n n$2=_fun_NSObject::init(n$1:ArcMethodsA*) virtual [line 21, column 20]\n *&a:ArcMethodsA*=n$2 [line 21, column 3]\n EXIT_SCOPE(n$1,n$2,n$3); [line 21, column 3]\n " shape="box"] +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:ArcMethodsA*); [line 21, column 3]\n n$1=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 21, column 21]\n n$2=_fun_NSObject::init(n$1:ArcMethodsA*) virtual [line 21, column 20]\n *&a:ArcMethodsA*=n$2 [line 21, column 3]\n EXIT_SCOPE(n$1,n$2); [line 21, column 3]\n " shape="box"] "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" ; @@ -46,14 +46,14 @@ digraph cfg { "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_1" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" ; -"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_2" [label="2: Exit ArcMethodsA::someA \n NULLIFY(&a); [line 29, column 1]\n " color=yellow style=filled] +"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_2" [label="2: Exit ArcMethodsA::someA \n " color=yellow style=filled] -"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" [label="3: Return Stmt \n n$4=*&a:ArcMethodsA* [line 28, column 10]\n *&return:ArcMethodsA*=n$4 [line 28, column 3]\n EXIT_SCOPE(n$4,a); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" [label="3: Return Stmt \n n$3=*&a:ArcMethodsA* [line 28, column 10]\n *&return:ArcMethodsA*=n$3 [line 28, column 3]\n NULLIFY(&a); [line 28, column 3]\n EXIT_SCOPE(n$3,a); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_2" ; -"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" [label="4: DeclStmt \n n$7=_fun___variable_initialization(&a:ArcMethodsA*) assign_last [line 26, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 26, column 21]\n n$6=_fun_NSObject::init(n$5:ArcMethodsA*) virtual [line 26, column 20]\n *&a:ArcMethodsA*=n$6 [line 26, column 3]\n EXIT_SCOPE(n$5,n$6,n$7); [line 26, column 3]\n " shape="box"] +"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:ArcMethodsA*); [line 26, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 26, column 21]\n n$5=_fun_NSObject::init(n$4:ArcMethodsA*) virtual [line 26, column 20]\n *&a:ArcMethodsA*=n$5 [line 26, column 3]\n EXIT_SCOPE(n$4,n$5); [line 26, column 3]\n " shape="box"] "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot b/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot index ba4a2f5d0..6a9bb1670 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot @@ -4,7 +4,7 @@ digraph cfg { "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_1" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" ; -"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_2" [label="2: Exit Available_expr::test_no_bug \n NULLIFY(&p); [line 21, column 1]\n " color=yellow style=filled] +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_2" [label="2: Exit Available_expr::test_no_bug \n " color=yellow style=filled] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_3" [label="3: Return Stmt \n *&return:int=0 [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] @@ -19,15 +19,15 @@ digraph cfg { "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_5" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_7" ; -"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_6" [label="6: Prune (false branch, if) \n PRUNE(!n$0, false); [line 17, column 7]\n EXIT_SCOPE(n$0,p); [line 17, column 7]\n " shape="invhouse"] +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_6" [label="6: Prune (false branch, if) \n PRUNE(!n$0, false); [line 17, column 7]\n NULLIFY(&p); [line 17, column 7]\n EXIT_SCOPE(n$0,p); [line 17, column 7]\n " shape="invhouse"] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_6" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_4" ; -"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_7" [label="7: Return Stmt \n n$1=*&p:int* [line 18, column 13]\n n$2=*n$1:int [line 18, column 12]\n *&return:int=n$2 [line 18, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="box"] +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_7" [label="7: Return Stmt \n n$1=*&p:int* [line 18, column 13]\n n$2=*n$1:int [line 18, column 12]\n *&return:int=n$2 [line 18, column 5]\n NULLIFY(&p); [line 18, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="box"] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_7" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_2" ; -"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" [label="8: DeclStmt \n n$5=_fun___variable_initialization(&p:int*) assign_last [line 16, column 3]\n *&p:int*=null [line 16, column 3]\n EXIT_SCOPE(n$5); [line 16, column 3]\n " shape="box"] +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" [label="8: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 16, column 3]\n *&p:int*=null [line 16, column 3]\n " shape="box"] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_5" ; 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 bf3a1f5fa..8ece72baa 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 @@ -26,18 +26,18 @@ digraph cfg { "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_1" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" ; -"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_2" [label="2: Exit NonnullC::initWithCoder:and: \n NULLIFY(&a1); [line 40, column 1]\n " color=yellow style=filled] +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_2" [label="2: Exit NonnullC::initWithCoder:and: \n " color=yellow style=filled] "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" [label="3: Return Stmt \n n$0=*&self:NonnullC* [line 39, column 10]\n *&return:objc_object*=n$0 [line 39, column 3]\n NULLIFY(&self); [line 39, column 3]\n EXIT_SCOPE(n$0,self); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_2" ; -"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" [label="4: DeclStmt \n n$3=_fun___variable_initialization(&y:int) assign_last [line 38, column 3]\n n$1=*&a1:NonnullA* [line 38, column 11]\n n$2=*n$1.x:int [line 38, column 11]\n *&y:int=n$2 [line 38, column 3]\n NULLIFY(&y); [line 38, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,y,a1); [line 38, column 3]\n " shape="box"] +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:int); [line 38, column 3]\n n$1=*&a1:NonnullA* [line 38, column 11]\n n$2=*n$1.x:int [line 38, column 11]\n *&y:int=n$2 [line 38, column 3]\n NULLIFY(&y); [line 38, column 3]\n NULLIFY(&a1); [line 38, column 3]\n EXIT_SCOPE(n$1,n$2,y,a1); [line 38, column 3]\n " shape="box"] "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" ; -"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" [label="5: DeclStmt \n n$6=_fun___variable_initialization(&a1:NonnullA*) assign_last [line 37, column 3]\n n$4=*&a:NonnullA* [line 37, column 19]\n n$5=_fun_NonnullA::getA(n$4:NonnullA*) virtual [line 37, column 18]\n *&a1:NonnullA*=n$5 [line 37, column 3]\n NULLIFY(&a); [line 37, column 3]\n EXIT_SCOPE(n$4,n$5,n$6,a); [line 37, column 3]\n " shape="box"] +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a1:NonnullA*); [line 37, column 3]\n n$3=*&a:NonnullA* [line 37, column 19]\n n$4=_fun_NonnullA::getA(n$3:NonnullA*) virtual [line 37, column 18]\n *&a1:NonnullA*=n$4 [line 37, column 3]\n NULLIFY(&a); [line 37, column 3]\n EXIT_SCOPE(n$3,n$4,a); [line 37, column 3]\n " shape="box"] "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot b/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot index 7a892b040..3b0c336fa 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot @@ -4,10 +4,10 @@ digraph cfg { "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_1" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" ; -"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_2" [label="2: Exit NpeMallocC::test \n NULLIFY(&person); [line 26, column 1]\n " color=yellow style=filled] +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_2" [label="2: Exit NpeMallocC::test \n " color=yellow style=filled] -"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" [label="3: Return Stmt \n n$0=*&person:Person* [line 25, column 10]\n *&return:Person*=n$0 [line 25, column 3]\n EXIT_SCOPE(n$0,person); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" [label="3: Return Stmt \n n$0=*&person:Person* [line 25, column 10]\n *&return:Person*=n$0 [line 25, column 3]\n NULLIFY(&person); [line 25, column 3]\n EXIT_SCOPE(n$0,person); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_2" ; @@ -15,7 +15,7 @@ digraph cfg { "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" ; -"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&person:Person*) assign_last [line 23, column 3]\n n$2=_fun_malloc_no_fail(sizeof(t=Person;nbytes=8):Person) [line 23, column 43]\n *&person:Person*=n$2 [line 23, column 3]\n EXIT_SCOPE(n$2,n$3); [line 23, column 3]\n " shape="box"] +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(person:Person*); [line 23, column 3]\n n$2=_fun_malloc_no_fail(sizeof(t=Person;nbytes=8):Person) [line 23, column 43]\n *&person:Person*=n$2 [line 23, column 3]\n EXIT_SCOPE(n$2); [line 23, column 3]\n " shape="box"] "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot b/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot index 2f37ec14a..3cdbf7618 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot @@ -4,10 +4,10 @@ digraph cfg { "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_1" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" ; -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_2" [label="2: Exit should_have_div0 \n NULLIFY(&a); [line 16, column 1]\n " color=yellow style=filled] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_2" [label="2: Exit should_have_div0 \n " color=yellow style=filled] -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" [label="3: Return Stmt \n n$0=*&a:GetterExample* [line 15, column 15]\n n$1=_fun_GetterExample::name(n$0:GetterExample*) [line 15, column 17]\n *&return:int=(1 / (n$1 - 5)) [line 15, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" [label="3: Return Stmt \n n$0=*&a:GetterExample* [line 15, column 15]\n n$1=_fun_GetterExample::name(n$0:GetterExample*) [line 15, column 17]\n *&return:int=(1 / (n$1 - 5)) [line 15, column 3]\n NULLIFY(&a); [line 15, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_2" ; @@ -15,7 +15,7 @@ digraph cfg { "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" ; -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" [label="5: DeclStmt \n n$6=_fun___variable_initialization(&a:GetterExample*) assign_last [line 13, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=GetterExample):unsigned long) [line 13, column 23]\n n$5=_fun_NSObject::init(n$4:GetterExample*) virtual [line 13, column 22]\n *&a:GetterExample*=n$5 [line 13, column 3]\n EXIT_SCOPE(n$4,n$5,n$6); [line 13, column 3]\n " shape="box"] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:GetterExample*); [line 13, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=GetterExample):unsigned long) [line 13, column 23]\n n$5=_fun_NSObject::init(n$4:GetterExample*) virtual [line 13, column 22]\n *&a:GetterExample*=n$5 [line 13, column 3]\n EXIT_SCOPE(n$4,n$5); [line 13, 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 01b258035..22d201a50 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot @@ -4,14 +4,14 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_1" -> "test.098f6bcd4621d373cade4e832627b4f6_6" ; -"test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n NULLIFY(&a); [line 45, column 1]\n " color=yellow style=filled] +"test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n " color=yellow style=filled] "test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: Return Stmt \n *&return:int=0 [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Message Call: release \n n$0=*&a:PropertyA* [line 43, column 4]\n n$1=_fun_NSObject::release(n$0:PropertyA*) virtual [line 43, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 43, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Message Call: release \n n$0=*&a:PropertyA* [line 43, column 4]\n n$1=_fun_NSObject::release(n$0:PropertyA*) virtual [line 43, column 3]\n NULLIFY(&a); [line 43, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 43, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; @@ -19,7 +19,7 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; -"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n n$7=_fun___variable_initialization(&a:PropertyA*) assign_last [line 41, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 41, column 19]\n n$6=_fun_PropertyA::init(n$5:PropertyA*) virtual [line 41, column 18]\n *&a:PropertyA*=n$6 [line 41, column 3]\n EXIT_SCOPE(n$5,n$6,n$7); [line 41, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:PropertyA*); [line 41, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 41, column 19]\n n$6=_fun_PropertyA::init(n$5:PropertyA*) virtual [line 41, column 18]\n *&a:PropertyA*=n$6 [line 41, column 3]\n EXIT_SCOPE(n$5,n$6); [line 41, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_6" -> "test.098f6bcd4621d373cade4e832627b4f6_5" ; @@ -27,10 +27,10 @@ digraph cfg { "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_1" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_2" [label="2: Exit PropertyA::copy \n NULLIFY(&other); [line 36, column 1]\n " color=yellow style=filled] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_2" [label="2: Exit PropertyA::copy \n " color=yellow style=filled] -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" [label="3: Return Stmt \n n$1=*&other:PropertyA* [line 35, column 10]\n *&return:PropertyA*=n$1 [line 35, column 3]\n EXIT_SCOPE(n$1,other); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" [label="3: Return Stmt \n n$1=*&other:PropertyA* [line 35, column 10]\n *&return:PropertyA*=n$1 [line 35, column 3]\n NULLIFY(&other); [line 35, column 3]\n EXIT_SCOPE(n$1,other); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_2" ; @@ -58,7 +58,7 @@ digraph cfg { "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" [label="10: DeclStmt \n n$16=_fun___variable_initialization(&other:PropertyA*) assign_last [line 29, column 3]\n n$14=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 29, column 23]\n n$15=_fun_PropertyA::init(n$14:PropertyA*) virtual [line 29, column 22]\n *&other:PropertyA*=n$15 [line 29, column 3]\n EXIT_SCOPE(n$14,n$15,n$16); [line 29, column 3]\n " shape="box"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(other:PropertyA*); [line 29, column 3]\n n$14=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 29, column 23]\n n$15=_fun_PropertyA::init(n$14:PropertyA*) virtual [line 29, column 22]\n *&other:PropertyA*=n$15 [line 29, column 3]\n EXIT_SCOPE(n$14,n$15); [line 29, column 3]\n " shape="box"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" ; 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 8af3d740a..6acd1ca5c 100644 --- a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot +++ b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot @@ -4,18 +4,18 @@ digraph cfg { "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_1" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_5" ; -"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_2" [label="2: Exit ProtocolProcdescMain \n NULLIFY(&bike); [line 17, column 1]\n " color=yellow style=filled] +"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_2" [label="2: Exit ProtocolProcdescMain \n " color=yellow style=filled] "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" [label="3: Return Stmt \n *&return:int=0 [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_2" ; -"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" [label="4: Message Call: signalStop \n n$0=*&bike:Bicycle* [line 14, column 4]\n n$1=_fun_StreetVehicle::signalStop(n$0:Bicycle*) virtual [line 14, column 3]\n EXIT_SCOPE(n$0,n$1,bike); [line 14, column 3]\n " shape="box"] +"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" [label="4: Message Call: signalStop \n n$0=*&bike:Bicycle* [line 14, column 4]\n n$1=_fun_StreetVehicle::signalStop(n$0:Bicycle*) virtual [line 14, column 3]\n NULLIFY(&bike); [line 14, column 3]\n EXIT_SCOPE(n$0,n$1,bike); [line 14, column 3]\n " shape="box"] "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" ; -"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_5" [label="5: DeclStmt \n n$3=_fun___variable_initialization(&bike:Bicycle*) assign_last [line 12, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=Bicycle):unsigned long) [line 12, column 19]\n *&bike:Bicycle*=n$2 [line 12, column 3]\n EXIT_SCOPE(n$2,n$3); [line 12, column 3]\n " shape="box"] +"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_5" [label="5: DeclStmt \n VARIABLE_DECLARED(bike:Bicycle*); [line 12, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=Bicycle):unsigned long) [line 12, column 19]\n *&bike:Bicycle*=n$2 [line 12, column 3]\n EXIT_SCOPE(n$2); [line 12, 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 9f00463b8..1a69bec97 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 @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer___someFields#305cac08d8197bd145f7f55cc8a06d16.794b83eea8b5794c71808060b1f3b5c7_2" [label="2: Exit __infer_globals_initializer___someFields \n " color=yellow style=filled] -"__infer_globals_initializer___someFields#305cac08d8197bd145f7f55cc8a06d16.794b83eea8b5794c71808060b1f3b5c7_3" [label="3: DeclStmt \n n$0=_fun___variable_initialization(&#GB$__someFields:Fields const ) assign_last [line 14, column 1]\n *&#GB$__someFields.field1:float=1 [line 14, column 36]\n *&#GB$__someFields.field2:float=2 [line 14, column 36]\n *&#GB$__someFields.field3:float=3 [line 14, column 36]\n EXIT_SCOPE(n$0); [line 14, column 36]\n APPLY_ABSTRACTION; [line 14, column 36]\n " shape="box"] +"__infer_globals_initializer___someFields#305cac08d8197bd145f7f55cc8a06d16.794b83eea8b5794c71808060b1f3b5c7_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$__someFields:Fields const ); [line 14, column 1]\n *&#GB$__someFields.field1:float=1 [line 14, column 36]\n *&#GB$__someFields.field2:float=2 [line 14, column 36]\n *&#GB$__someFields.field3:float=3 [line 14, column 36]\n APPLY_ABSTRACTION; [line 14, column 36]\n " shape="box"] "__infer_globals_initializer___someFields#305cac08d8197bd145f7f55cc8a06d16.794b83eea8b5794c71808060b1f3b5c7_3" -> "__infer_globals_initializer___someFields#305cac08d8197bd145f7f55cc8a06d16.794b83eea8b5794c71808060b1f3b5c7_2" ;